JDK17和ZGC学习
ZGC
STW会延长服务的RT。
- CMS有碎片化问题。
- G1只能在STW的时候移动对象。
- 他俩STW时间随着活跃对象的增加而增加。内存几十GB有可能有几十几百秒的STW。甚至FullGC情况。
JDK11引用了ZGC。
ZGC是一款几乎没有STW且支持大堆的GC。
- STW时间不超过10ms
- STW时间不随活跃对象的增加而增加。
- 支持8MB到16TB的堆。
大内存和响应时间敏感,可以用这个。
ZGC比G1有更高的并发度。compact是G1STW,zgc是并发的。
ZGC只有三个STW阶段:初始标记,再标记,初始转移。
ZGC吞吐量不足,Java对象分配速度的极限。
JDK17
LTS的版本8、11、17,17会维护到2030年。
jshell (JDK9)
admin@bogon algorithm-learning % jshell
| 欢迎使用 JShell -- 版本 17.0.8
| 要大致了解该版本, 请键入: /help intro
jshell> /exit
| 再见
jshell> System.out.println("hello world");
hello world
模块开发(JDK9)
可以控制包的可见性