摘要:
https://mp.weixin.qq.com/s?__biz=MzIxNTQ3NDMzMw==&mid=2247483670&idx=1&sn=751d84d0ce50d64934d636014abe2023&chksm=979688e4a0e101f2a51d1f06ec75e25c56f89 阅读全文
摘要:
CyclicBarrier内部是通过条件队列trip来对线程进行阻塞的,并且其内部维护了两个int型的变量parties和count,parties表示每次拦截的线程数,该值在构造时进行赋值。count是内部计数器,它的初始值和parties相同,以后随着每次await方法的调用而减1,直到减为0就 阅读全文
摘要:
CountDownLatch在多线程同步中,通过维护count变量并保证其原子性操作,并通过countDown方法和await()两个方法实现同步功能,首先通过建立CountDownLatch对象,并且传入参数为count的初始值。如果一个线程调用await调用方法,那么线程便进入阻塞,并阻塞队列。 阅读全文
摘要:
concurrentHashMap为什么可以提高并发行?ConcurrentHashMap使用索分段技术,将数据存储分成一段一段,然后给每一段配上一把索,当一个线程占用锁访问其中一个段数据的时候,其他段数据还可以被访问。 ConcurrentHashMap 锁机制具体分析(JDK 1.7 VS JD 阅读全文
摘要:
1.适用top命令查询进程的cpu,内存状态情况 2.使用jstack查看一个进程中,线程的状态导出 3.使用top 23 -h 查看相应的线程cpu,内存使用情况 4. 死锁的信息都在最下面 阅读全文
摘要:
https://www.pudn.com/news/62c28a9c502ed3121a892438.html Spring 控制反转IOC 控制反转IOC: Inversion of Control 是一种解耦设计原则 主要目的是借助第三方,比如Spring IOC容器实现具有依赖关系的对象之间的 阅读全文
摘要:
G1垃圾回收器是基于标记整理算法实现,不会产生内存碎片,G1不同于其他的收集器,G1的回收范围是整个Java堆,而其他收集器仅限于新生代和老年代。 与此同时为适应不断扩大的内存和不断增加,降低暂停时间,提高吞吐量。 官方的目标设定在延迟可控的情况下获得尽可能高的吞吐量。 G1是一个并行的回收器,他将 阅读全文