Java开发者应该选择Java JDK的哪个版本?

软件开发人员在使用Java编程的时候,是无论如何用也绕不开Java JDK的。但是,我们下载Java JDK的时候,就会面临着诸多选择。不仅要在多家知名厂商实现的JDK中做出选择,还要在特定JDK中选择哪个迭代版本。

这些问题这对于多年使用Java进行开发的“老”程序员,自然不是问题,因为他们都会固定的使用某个特定的成熟版本,一般不会轻易改变。但是对于新开发者来讲,就会无从下手,实在不知道选择哪个厂商的发布的JDK,也不知道该选择哪个迭代版本。是使用Oracle JDK,OpenJDK还是AdoptJDK?是使用JDK15,JDK8还是JDK6?

1、首先我们先讲讲如何选择JDK的厂商

a) OpenJDK

Java最早由SUN公司(Sun Microsystems)发明,2006年SUN公司将Java开源,我们称呼这个JDK版本为OpenJDK。OpenJDK是Java SE的开源实现,它由SUN和Java社区提供支持。2009年Oracle收购了Sun公司,Java的维护方由SUN也变成了Oracle。
大多数的JDK都是在OpenJDK的基础上编写实现的,比如Amazon的Corretto、Azul Zing、Oracle JDK、阿里的Dragonwell,华为的Bisheng JDK等等。
OpenJDK采用GPL V2协议发布,可以免费使用,源码开放。

b) OracleJDK

Oracle JDK是基于OpenJDK源代码构建的,因此Oracle JDK和OpenJDK之间没有重大的技术差异。但是OpenJDK是开源的,而Oracle JDK是官方商业版本,
Oracle JDK则采用JRL协议发布,虽然该协议也是开放源代码的,但是在使用上的不同在于GPL V2。GPL V2协议允许在商业上使用,而JRL只允许个人研究使用,所以商业上使用Oracle JDK具有一定的风险。
另外,Oracle JDK增加了一些额外的功能,OpenJDK不包含Deployment(部署)功能,比如:Browser Plugin、Java Web Start和Java控制面板等等,这些功能在OpenJDK中不存在。

另外,Open JDK不能使用Java商标,所以通过命令java -version查看时,会显示OpenJDK,没有Java字样。

c) AdoptOpenJDK

与OpenJDK比较类似的版本AdoptOpenJDK。这两者有什么差别呢?简单来讲,AdoptOpenJDK由社区维护的预建OpenJDK二进制发行版本,而常用的Oracle JDK和OpenJDK是由Oracle官方维护的。AdoptOpenJDK是基于OpenJDK类库和OpenJDK VM或Eclipse OpenJ9 VM生成预建二进制文件,它也是实行GPL开源协议,所有文件和脚本都是开放源码许可的,而且免费。AdoptOpenJDK发行的版本有的基于OpenJDK VM,有的基于Eclipse OpenJ9 VM,均在下载文件名称上有所体现。

d)其它JDK产品

其它知名JDK产品比较多,多数是结合自身所在领域的使用场景对OpenJDK进行优化后,产生的特定OpenJDK版本。
比如:Amazon的Corretto JDK,阿里巴巴的Alibaba Dragonwell,华为的毕昇JDK,RedHat OpenJDK,Sap的SapMachine,BellSoft的Liberica,Azul Systems的Zulu等等。

一般情况下,我们多数会选择OpenJDK或者AdoptOpenJDK的JDK实现,因为这是最精简最标准的版本,而且没有商业风险。另外,需要结合自己的使用场景,也可以选择以上JDK版本。

(0)

相关推荐

  • UBUNTU-OPENJDK – NETBEANS 找不到 JAVA

    我卸载了 Openjdk 7 并从webupd8安装了 Oracle Java .但是安装后 Netbeans 将无法启动.我已经尝试了网上发布的有关编辑netbeans.conf文件和输入路径的所有 ...

  • 3分钟带你品尝新鲜出炉的Java 17,看完就知道香不香!

    Java已经过了20个年头了,Java8之后,JDK的发行计划变了不少,半年一小聚,三年一大闹.根据Oracle官方的的文档,长期支持的Java版本是Java11 和 Java17.其中Java17计 ...

  • 第24讲:未来:JVM 的历史与展望

    本课时我们主要讲解 JVM 的历史与展望. 我们都知道,Java 目前被 Oracle 控制,它是从 Sun 公司手中收购的,HotSpot 最初也并非由 Sun 公司开发,是由一家名为 Longvi ...

  • java学习——86.选择颜色对话框

    有时候为了界面的美观,会用到颜色对话框来选择颜色. 在Java中可以直接通过调用类JColorChooser的方法showDialog()来弹出选择颜色对话框,此方法的返回值类型为一种颜色. 其方法声 ...

  • 为什么天津90%学习java的人选择培训班?

    近些年来,java作为进入互联网的语言工具.在Android应用.金融服务器程序.电子商务网站.嵌入式.大数据等领域都凸显出java比C++或者其他语言相对其安全性.便携性.可维护性以及其他高级语言的 ...

  • 学习java开发,选择学习机构应该从这几个方面衡量好坏!

    毫无疑问,现在市场上越来越多的培训机构!Java作为一个比较热门并且高薪的行业来说.培训班是比较多的,那么如何挑选培训班呢?我给出如下建议: Java开发工程师在企业中扮演着重要的角色.企业对技术过硬 ...

  • 2021年Java开发者应该学习的技术

    Java并非只有框架运用和底层原理,学好基础才是建立框架的必经之路.接下来介绍一下Java开发者应该学习的技术. 1.Spring Boot 2 Spring Boot 2.0基于Spring 5 F ...

  • 为什么我们选择 Java 语言开发高频交易系统

    在高频交易的世界中,自动化应用程序每天处理数亿个市场信号,并在全球各个交易所发送成千上万的订单. 为了保持业务竞争力,响应时间必须始终保持在微秒级,尤其是在黑天鹅异常事件等高峰期. 在典型的体系结构中 ...

  • Java跨平台原理与Java虚拟机(JVM)

    Java跨平台原理(字节码文件.虚拟机) C/C++语言都直接编译成针对特定平台机器码.如果要跨平台,需要使用相应的编译器重新编译. Java源程序(.java)要先编译成与平台无关的字节码文件(.c ...

  • 最新Java教程:在Java中使用便携式ONNX AI模型

    在我们关于2020年使用便携式神经网络的系列文章中,您将了解如何在x64架构上安装ONNX并在Java中使用它. 微软与Facebook和AWS共同开发了ONNX.ONNX格式和ONNXRuntime ...

  • Java学习——3、Java的语法成分

    今天,介绍Java的组成,即语言成分. 以汉语为例: 汉语由笔画组成,- 横  | 竖 撇(原谅我画不出来这一撇一捺还有弯勾) . 不同笔画组成不同的字. 字组成词. 词组成句. 句最终成就一篇文章. ...

  • Java学习笔记--来自Java核心卷和尚学堂视频

    Java常见点解析 起步之注意点 Java对大小写敏感,关键字public被称为访问修饰符 关键字class 的意思是类.Java是面向对象的语言,所有代码必须位于类里面. 一个源文件中至多只能声明一 ...