undo log 和 redo log
es redis
查看垃圾回收算法使用
java -XX:+PrintCommandLineFlags -version
java -XX:+PrintGCDetails -version
java8 默认的垃圾收集器是Parallel Scavenge + Parallel Old
- 1999年随JDK1.3.1一 起来的是串行方式的Serial GC,它是第一款GC。ParNew垃圾收集器是Serial收集器的多线程版本
- 2002年2月26日,Parallel GC和Concurrent Mark Sweep GC跟随JDK1.4.2一起发布
- Parallel GC在JDK6之后成为HotSpot默认GC。
- 2012年,在JDK1.7u4版本中,G1可用。
- 2017年,JDK9中G1变成默认的垃圾收集器,以替代CMS。
- 2018年3月,JDK10中G1垃圾回收器的并行完整垃圾回收,实现并行性来改善最坏情况下的延迟。
- ==------------分水岭------------==
- 2018年9月,JDK11发布。引入Epsilon垃圾回收器,又被称为"No一0p (无操作) "回收器。同时,引入ZGC:可伸缩的低延迟垃圾回收器(Experimental)。
- 2019年3月,JDK12发布。 增强G1,自动返回未用堆内存给操作系统。同时,引入Shenandoah GC:低停顿时间的GC (Experimental)。
- 2019年9月,JDK13发布。增强ZGC,自动返回未用堆内存给操作系统。
- 2020年3月,JDK14发布。删除CMS垃圾回收器。扩展ZGC在macOS和Windows.上的应用
name server是个注册中心(无状态),每隔10sname server扫描一次broker,如果两分钟没心跳自动剔除。broker为0是master,非0为slave,name一样。每隔30s broker注册一次topic到name server。producer(无状态),随机娶一个name server长连接,拉取topic,选中一个提供topic的master建立长连接,且定时发送心跳(30s)。
name server 扫描broker 10s ,broker扫描producer和consumer间隔10s,两分钟没心跳剔除。反之,都是30s。
断开以后,consumer组自动重新分配队列。