2022年3月2日

摘要: concurrentHashMap为什么可以提高并发行?ConcurrentHashMap使用索分段技术,将数据存储分成一段一段,然后给每一段配上一把索,当一个线程占用锁访问其中一个段数据的时候,其他段数据还可以被访问。 ConcurrentHashMap 锁机制具体分析(JDK 1.7 VS JD 阅读全文
posted @ 2022-03-02 23:57 云中哥 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 1.适用top命令查询进程的cpu,内存状态情况 2.使用jstack查看一个进程中,线程的状态导出 3.使用top 23 -h 查看相应的线程cpu,内存使用情况 4. 死锁的信息都在最下面 阅读全文
posted @ 2022-03-02 23:06 云中哥 阅读(25) 评论(0) 推荐(0) 编辑
摘要: https://www.pudn.com/news/62c28a9c502ed3121a892438.html Spring 控制反转IOC 控制反转IOC: Inversion of Control 是一种解耦设计原则 主要目的是借助第三方,比如Spring IOC容器实现具有依赖关系的对象之间的 阅读全文
posted @ 2022-03-02 22:26 云中哥 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2022-03-02 22:22 云中哥 阅读(5) 评论(0) 推荐(0) 编辑
摘要: G1垃圾回收器是基于标记整理算法实现,不会产生内存碎片,G1不同于其他的收集器,G1的回收范围是整个Java堆,而其他收集器仅限于新生代和老年代。 与此同时为适应不断扩大的内存和不断增加,降低暂停时间,提高吞吐量。 官方的目标设定在延迟可控的情况下获得尽可能高的吞吐量。 G1是一个并行的回收器,他将 阅读全文
posted @ 2022-03-02 15:41 云中哥 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 收集过程: 1.初始标记阶段:所用的用户线程都会短暂停顿,主要任务是标记GC ROOT能够直接关联到对象,一旦标记完成后就会恢复之前的用户线程,由于直接关联的对象比较少,恢复比较快。 2.并发标记阶段:从GC ROOTS直接关联的对象开始遍历整个对象图,标记处全部的垃圾对象,耗时比较长,但是这个过程 阅读全文
posted @ 2022-03-02 14:43 云中哥 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 1.serial(复制算法):单线程收集器,它在进行了垃圾收集时,必须停顿所有用户线程。 优点:实现简单高效 缺点:停顿时间长 适用场景:单核的桌面应用。 2.parNew:新生代中多线程版的收集器 回收效率高 3.paralle Scavenge:并行垃圾回收器,指在达到控制的吞吐量的垃圾回收器, 阅读全文
posted @ 2022-03-02 14:13 云中哥 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 1.标记清除算法:分为两个阶段标记阶段和清除阶段。首先从根集合进行扫描,标记存活的对象。标记完成后,再扫描整个空间未被标记的对象并进行回收。 不足:1.效率问题,标记和清除效率不高 2.在GC的时候会造成GC停顿,响应延迟 3.由于标记-清除算法,不会对存活的对象进行移动,会导致大量的内存碎片,在需 阅读全文
posted @ 2022-03-02 13:52 云中哥 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 检测垃圾的方法? 1.引用计数法:每一个对象都有一个引用计数器,当对象被其他对象所引用的时候,引用计数器就会➕1,不再被引用时则减一 引用计数器的 优点,判断标识效率,回收快, 缺点: 单独的字段存储计数器,额外空间开销。 每次更新计数器伴随加法和减法操作,时间开销大。 存在循环引用问题 2.可达性 阅读全文
posted @ 2022-03-02 13:13 云中哥 阅读(71) 评论(0) 推荐(0) 编辑

导航