各大JDK说明及官网下载地址

发布时间 2023-12-13 09:58:32作者: SunEn

java虚拟机

  • 先简单说下java虚拟机,虚拟机发展了很多代,目前最最常见的就是 HotSpot,一般情况下下载jdk时候没有特别说明的就是用的这个虚拟机。
    HotSpot算是官方正统的虚拟机了,发展到现在融合了很多其他虚拟机的优点(BEA公司的JRockit被oracle收购并jdk8以后融合到了HotSpot)。
  • 还有 IBM公司的J9。主打内存占用更小。
  • 还有收费的Azul Platform Prime前身是Azul Zing。不过这个我看官网只支持linux。
  • 其他更多的虚拟机介绍可以参考: https://blog.csdn.net/weixin_43888891/article/details/123969996
  • 噢 对了 还有比较新的oracle的GraalVM。好像挺厉害的样子。有兴趣的可以自己搜一下了解了解。

各大JDK

javafx是java8之后独立出来的,一般的jdk都没有再集成。
下面说的都是最新的jdk21的说明。
没有32位:这个好像没那么容易解决。jdk17大部分有32位的。
没有javafx:可以自行添加依赖,只是用起来稍微有一点点麻烦。
没有jre:可以自己根据所需模块单独生成。模块不同生成的jre大小也不一样,其实推荐自行生成。
虚拟机:没有特别说明就是HotSpot

oracle jdk

个人在java8之后就没再下载过oracle的jdk了,现在好像又说是免费了?懒得了解了,反正不用了。
下载地址: https://www.oracle.com/java/technologies/downloads/
没有32位。没有javafx。没有jre。
image.png|725

oracle OpenJDK

oracle构建的openJDK,更新好像不是特别勤快。
下载地址: https://jdk.java.net/
没有32位。没有javafx。没有jre。
image.png|725

Eclipse Temurin(推荐)

原来叫AdoptOpenJDK,还支持openj9虚拟机下载。现在改了个名也分开了。
基于 OpenJDK 的开源 Java SE 产生的构建版本。
这个好像用的还挺多的。毕竟官方wiki指引的下载都是这个。
openJDK官方wiki:https://wiki.openjdk.org/display/JDKUpdates/JDK+21u
image.png

下载地址: https://adoptium.net/zh-CN/temurin/releases/
没有32位。没有javafx。有jre。
image.png|825

IBM Semeru(使用j9虚拟机)

原来是跟AdoptOpenJDK(现在叫Eclipse Temurin)在一起的,选择不同的虚拟机进行下载。现在独立出来了。
原下载地址: https://adoptopenjdk.net/releases.html 已经不更新了,最新就到JDK16。
使用j9虚拟机,该虚拟机特点就是内存占用小。说是吞吐量不如HotSpot。
HotSpot运行占用500M的,这个只占用300M。
下载地址: https://developer.ibm.com/languages/java/semeru-runtimes/downloads/
图就不贴了,更新太慢了。这21都出来几个月了,还没更新呢。
没有32位。没有javafx。有jre。更新慢。

Azul Zulu(含javafx)

他家的Azul Platform Prime前身是Azul Zing 挺出名的,
主要是这个回收器厉害: C4 无暂停垃圾回收器,适用于几乎任何大小的堆(1GB 到 8TB)。
不过我看官方是收费的而且支持linux。有兴趣的可以去官网看看。
这里说的是他家免费的openJDK构建Azul Zulu。
下载地址: https://www.azul.com/downloads/?package=jdk#zulu
没有32位。有javafx。有jre。
image.png|825

Liberica JDK(含javafx,有32位)

他家是我看见的唯一提供jdk21 32位的。
下载地址: https://bell-sw.com/pages/downloads/
有32位。有javafx。有jre。
Full version :包含javafx。
Standard version:不包含javafx。
Lite version:看官方说明是没有功能缩减的只是进行了压缩改进的Standard version。这个版本那个包确实小。
image.png|850

总结

  1. 没有什么特殊需求:
    用Eclipse Temurin。

  2. 有32位需求的:
    目前JDK21 只有Liberica JDK。

  3. 想用直接集成了javafx的:
    可以用Liberica JDK或者Azul Zulu。

  4. 服务器启动了贼多不经常用的程序但是又不能停,然后内存也有点紧张:
    用IBM Semeru