AdvancedJava
文章平均质量分 82
王家奇士
这个作者很懒,什么都没留下…
展开
-
[核心工具] Collections
详细解答核心的Collections & Map, 从内部实现到关键调整因子。原创 2017-12-08 22:50:45 · 239 阅读 · 0 评论 -
Java多线程控制
系统性解析Java中多线程的管理。这是很多并发编程的基础,也是JavaCurrent包的实现基础。原创 2017-12-10 21:06:49 · 839 阅读 · 0 评论 -
善用 ApacheAB 和 VisualVM, 做开发阶段代码性能调优
在开发阶段, 开发人员往往很难意识到代码对性能的影响, 很多时候需要最终的压力测试来逐一排除. 但是作为创业公司, 往往没有专门的压力测试流程, 那么核心开发人员在核心业务逻辑的开发阶段就需要对代码造成的性能问题作出预判和解决, 这里提供开发本地可操作的, 基于 ApacheAB 和 VisualVM 的性能调优方案.原创 2017-12-03 14:22:04 · 576 阅读 · 0 评论 -
深入理解ThreadLocal
什么是ThreadLocal为什么要有ThreadLocal实现原理使用方式深入所谓内存ThreadLocal的内存泄露问题(参考)原创 2017-11-27 20:31:49 · 268 阅读 · 0 评论 -
并发容器及其原理
锁的使用,相当于对象的修改串行化了,这样保证了线程的安全性,所以这种方法的代价就是严重降低了并发性,当多个线程竞争容器时,吞吐量严重降低。因此Java5.0开始针对多线程并发访问设计,提供了并发性能较好的并发容器,引入了java.util.concurrent包。 而为了达到尽可能提高效率的目标,Java源码中采用了多种优化方式来提高并发容器的执行效率或者使用方便性,核心的就是:锁,CAS(无锁),COW(读写分离),分段锁。原创 2017-12-24 21:14:41 · 1151 阅读 · 0 评论 -
volatile 深入理解
Volatile是教材中必讲,而且听上去很简单的一个核心多线程关键字。其核心是在于:Java并发包和基础AQS中就会用该关键词来标记状态。(另一个核心是CAS操作)先简单回顾一下 volatile 的基本表述:volatile 能够保证所有缓存的内容始终保持一致,其含义是,任何一个线程对共享值的修改都能立刻被其他线程感知到。但是这个表述非常的简单,理解也没有什么困难,但是其内涵却非常丰富,...原创 2019-01-16 22:21:04 · 479 阅读 · 1 评论