2019年3月25日

CyclicBarrier源码阅读

摘要: 一种允许多个线程全部等待彼此都到达某个屏障的同步机制 多个线程并发执行同一个CyclicBarrier实例的await方法时,每个线程执行这个方法后,都会被暂停,只有当最后一个线程执行完await方法时,它自身不会暂停,且会唤醒所有等待线程。因为CyclicBarrier内部维护了一个显式锁,它可以 阅读全文

posted @ 2019-03-25 16:37 hangzhi 阅读(105) 评论(0) 推荐(0) 编辑

PriorityQueue源码阅读

摘要: 最小堆:优先级权重越小 离顶点越近 实现一个top max n 添加时向上调整:元素最开始插入的时候是从队尾进入的,所以一直向上比较大小 移除时向下调整:删除时最开始是先将队尾置空,将队尾元素覆盖目标删除位置,然后向下和左右孩子比较 以集合/队列等方式初始化:调整树结构时从队尾开始向下调整 阅读全文

posted @ 2019-03-25 16:34 hangzhi 阅读(113) 评论(0) 推荐(0) 编辑

JAVA_OPT理解及调优理论

摘要: 以RocketMQ的namesrv和broker启动为例,理解CMS和G1垃圾收集器下的jdk参数 CMS垃圾收集器 以RocketMQ中runserver.cmd为例,这是启动NameSrv的命令行文件 -server -sever:在多个CPU时可优化性能 -Xms和-Xmx设置为 FullGC 阅读全文

posted @ 2019-03-25 16:30 hangzhi 阅读(596) 评论(0) 推荐(0) 编辑

导航