JDK1.8已结出来很多年了,其默认的GC还是 +UseParallelGC(新生代多线程、老年代单线程),既不是更新的+UseParallelOldGC(新生代多线程、老年代多线程),更不是最新的+UseG1GC,当然你可以自己启动的时候手工加+UseG1GC参数,但是实际上有几个人会加呢?
如果想使用更新的JDK,应该怎么选择呢,建议OpenJDK11,原因有两点:
1. JDK11是LTS版本(Long Term Support),下一个LTS版本是JDK17,几年后才能出来,还需要几年的发展才能成熟。
2. 建议全面拥抱OpenJDK,而不再以OracleJDK为默认选项(如果客户愿意付费那没啥问题),而且OracleJDK对OpenJDK的兼容性 要比 OpenJDK对OracleJDK的兼容性 要好,毕竟OracleJDK中可以加入一些商用的模块和API,所以基于OpenJDK11去开发自己的软件产品总是没错的。
然后我们就谈下JDK11 (默认讲OpenJDK11)
JDK11中加入了最新的ZGC,意思是ZeroGC,意思是 零停顿垃圾回收,在应对大并发、快速响应、连续服务的系统具有更好的效果。但是JDK11的默认GC仍然是G1,ZGC需要自己加启动参数:+UseZGC,其实使用默认的G1目前就挺好。
下面谈一下OpenJDK11的下载、安装和使用。
(JDK11是不能完全兼容JDK8的,所以原JDK8项目要升级JDK11需要重新编译、修复bug并测试)
1.打开官方下载地址(直接打开第二个网址即可)
官网:http://openjdk.java.net/
官网中的下载openjdk的直接网址:http://jdk.java.net/archive/
2.找到要下载的对应版本,选择windows版(或Mac版)(Linux可以通过yum或apt直接安装的)

3.解压缩 openjdk-11.0.2_windows-x64_bin.zip --> jdk-11.0.2
4. 复制到平时安装java的目录下

5.修改环境变量JAVA_HOME, CLASSPATH, PATH
JAVA_HOME = C:Program FilesJavajdk-11.0.2
6.修改eclipse的java环境

