06 2018 档案

摘要:本文主要讲并行优化的几种方式, 其结构如下: 锁优化 减少锁的持有时间 例如避免给整个方法加锁 改进后 减小锁的粒度 将大对象,拆成小对象,大大增加并行度,降低锁竞争. 如此一来偏向锁,轻量级锁成功率提高. 一个简单的例子就是jdk内置的ConcurrentHashMap与SynchronizedM 阅读全文
posted @ 2018-06-25 07:18 大道方圆 阅读(11523) 评论(0) 推荐(2)
摘要:转自: GitHub/architect-awesome , 大体结构如下(更新时间: 2018-06-22) 数据结构 队列 《java队列——queue详细分析》 非阻塞队列:ConcurrentLinkedQueue(无界线程安全),采用CAS机制(compareAndSwapObject原子 阅读全文
posted @ 2018-06-22 12:40 大道方圆 阅读(3021) 评论(0) 推荐(0)
摘要:本文主要讲解几种常见并行模式, 具体目录结构如下图. 单例 单例是最常见的一种设计模式, 一般用于全局对象管理, 比如xml配置读写之类的. 一般分为懒汉式, 饿汉式. 懒汉式: 方法上加synchronized 这种方式, 由于每次获取示例都要获取锁, 不推荐使用, 性能较差 懒汉式: 使用双检锁 阅读全文
posted @ 2018-06-11 07:12 大道方圆 阅读(7570) 评论(2) 推荐(9)
摘要:线程池优势 在业务场景中, 如果一个对象创建销毁开销比较大, 那么此时建议池化对象进行管理. 例如线程, jdbc连接等等, 在高并发场景中, 如果可以复用之前销毁的对象, 那么系统效率将大大提升. 另外一个好处是可以设定池化对象的上限, 例如预防创建线程数量过多导致系统崩溃的场景. jdk中的线程 阅读全文
posted @ 2018-06-04 09:24 大道方圆 阅读(3732) 评论(0) 推荐(1)