在 JDK 版本的世界里,从来都是 Oracle 发他的新版本,我们 Java 程序员继续用我们的老版本

几年之前用 JDK 7,后来终于升级到了 JDK 8。自从升级了没多久,JDK 就开始了半年发一个新版本的节奏,陆续发布了 9 、10、11、12、13、14,直到2020年3月17日发布了 JDK14。

JDK 版本使用调查报告

2018年12月,由 Snyk 和 The Java Magazine 联合推出发布的 2018 JVM 生态调查报告 显示有 70% 的用户使用 Oracle JDK,21% 的用户使用 OpenJDK。其中 Java 8 的使用者占到了 79%

这份报告到现在为止快到二年了,猜测情况应该变化不大。所以说,现在用 Java 8 也不用慌,大部分人也都在用 Java 8。

都已经 JDK 14 了,为什么还有这么多公司使用旧版本

Java 8 已经算好的了,有的公司还在使用 7,更有甚者还在用 6,你说是不是很 6。

之所以会出现这种状况,是因为升级版本耗时费力,最重要的是有可能影响服务的稳定性,虽然说 Java 是向后兼容的,但是谁知道是不是有坑在里面。在没有重大安全漏洞或重大性能提升的情况下,大多数公司还是以稳定性为主,既然 Java 8 已经能满足业务需求了,那就用它好了。

现在又增加了一个原因,从 2019 年 1 月份开始,Oracle JDK 开始对 Java SE 8 之后的版本开始进行商用收费,确切的说是 8u201/202 之后的版本。如果你用 Java 开发的功能如果是用作商业用途的,如果还不想花钱购买的话,能免费使用的最新版本是 8u201/202。当然如果是个人客户端或者个人开发者可以免费试用 Oracle JDK 所有的版本。

JDK 发版方式有所变化

在 JDK 9 发布之前,Oracle 的发版策略是以特性驱动的,只有重大的特性改变才会发布大版本,比如 JDK 7 到 JDK 8,中间会发多个更新版本。而从 JDK 9 开始变为以时间驱动的方式。发布周期为6个月一个大版本,比如 JDK 9 到 JDK 10,3个月一次补丁版,3年一个 LTS(长期支持版本)。

发版时间稳定了,使用者就可以相应的根据发版节奏调整所使用的 Java 版本了。但是付费使用好像又增加了成本,一直免费使用的东西,突然收费了,好像有点接受不了,尤其对于小公司而言。

如果既想要更新版本又不想花钱怎么办呢,

当然也是有办法的,就是不用上面所说的 Oracle JDK ,而选择 Open JDK。

Open JDK 是完全开源免费的,由 Oracle 以及 Redhat 等开源组织维护。Oracle JDK 只是一个 Open JDK 的发行版。他们两个的关系就好像是原生安卓系统和各个手机厂商定制的操作系统的关系。Oracle JDK 就对应原生安卓系统,比如小米的 MI UI 就对应 Oracle JDK。另外,除了 Oracle JDK,还有其他的 Open JDK 的发行版,比如 AWS 的 Amazon Corretto,阿里巴巴的 Alibaba Dragonwell 等等。

红帽将接替 Oracle 维护 JDK 的长期支持版,比如 OpenJDK 8 和 OpenJDK 11,并且它和 Oracle JDK 的差别已经非常小了,可以放心使用。

总之,我的建议是对于JDK 新版本的新特性,可以了解一下,然后专心的用 Java 8 做开发。

JDK 14 都已经发布了,Java 8 依然是我的最爱的更多相关文章

  1. JDK 13 都已经发布了,Java 8 依然是最爱

    在 JDK 版本的世界里,从来都是 Oracle 发他的新版本,我们继续用我们的老版本.三年之前用 JDK 7,后来终于升级到了 JDK 8.自从升级了没多久,JDK 就开始了半年发一个新版本的节奏, ...

  2. Java 14 都要来了,为什么还有这么多人固守Java8?

    作者:刘欣 从Java 9开始,Java版本的发布就让人眼花缭乱了. 每隔6个月,都会冒出一个新版本出来,Java 10 , Java 11, Java 12, Java 13, 到2020年3月份, ...

  3. IntelliJ IDEA14 和 Maven 系列:使用IntelliJ IDEA 14和Maven 7 创建java web项目(一)

    Intellij IDEA作为最好的Java IDE,创建Maven项目还是比较简单的,但是创建一个Maven Web项目还是要修改一些配置的,下面进行总结整理. 1前言 在创建项目中,IDEA提供了 ...

  4. Java9发布回顾Java 8的十大新特性

    java9已经在北京时间9月22日正式发布,开发者可以在oracle jdk官网上下载到最新的jdk9. 今天,我们先来一起复习一下2014年发布的Java 8的十大新特性.先来喝杯java~~~ 按 ...

  5. JDK 14的新特性:更加好用的NullPointerExceptions

    JDK 14的新特性:更加好用的NullPointerExceptions 让99%的java程序员都头痛的异常就是NullPointerExceptions了.NullPointerExceptio ...

  6. Java JDK环境变量如何配置?Java基础!

    在了解什么是Java.Java 语言的特点以及学习方法之后,本节将介绍如何搭建编写 Java JDK环境变量如何配置,只有搭建了环境才能敲代码! 学Java的都知道,JDK 是一种用于构建在 Java ...

  7. 微软Visual Studio "14" CTP 2 发布

    微软Visual Studio "14" CTP 2 发布 对于在微软阵营下进行工作的团队来说,拥有最新版本的Visual Studio是提高效率最佳的选择,没有之一. 在本文中, ...

  8. Java9都快发布了,Java8的十大新特性你了解多少呢?

    Java 9预计将于今年9月份发布,这是否会是一次里程碑式的版本,我们拭目以待.今天,我们先来复习一下2014年发布的Java 8的十大新特性. Java 8可谓是自Java 5以来最具革命性的版本了 ...

  9. 一点一点看JDK源码(二)java.util.List

    一点一点看JDK源码(二)java.util.List liuyuhang原创,未经允许进制转载 本文举例使用的是JDK8的API 目录:一点一点看JDK源码(〇) 1.综述 List译为表,一览表, ...

随机推荐

  1. 这样介绍Ribbon,从此任何问题也难不住你

    Springcloud的核心组件之Ribbon 上篇文章详细介绍了springcloud的注册中心Eureka,那么这篇文章则会介绍springcloud的另外一个组件Spring Cloud Rib ...

  2. Day12 _63_获取当前线程对象

    给线程起名 * 1. Thread.currentThread(); 可以获取到当前线程对象,出现在哪就是获取哪个线程. * 2. thread.setName(); 给该线程起名字 * 3. thr ...

  3. Amazon EFS CSI 驱动程序 为eks 提供存储服务

    官方文档:https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/efs-csi.html

  4. 关于sysmon.exe高cpu占用

    sysmon.exe是干嘛的? 这里面有介绍:https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon 是windows官方提供的监 ...

  5. reset 去掉margin和padding的 默认代码,其余根据自己的情况做调整

    body, dl, dd, h2, h3, h4, h5, h6, p, form{margin:0;} ol,li,ul{margin:0; padding:0;} h1{margin:10px 0 ...

  6. 【Springboot】Springboot自动装配原理

    1.核心注解就是 EnableAutoConfiguration  该注解会激活SpringBoot的自动装配功能: 代码如下: @Target(ElementType.TYPE) @Retentio ...

  7. dedecms后台一些时间等验证方法(plus/diy.php)

    <?php if(trim(@$_POST['name'])==''){ $err=2; } if(trim(@$_POST['tel'])==''){ $err=1; }else{ @$_PO ...

  8. Android Linker 与 SO 加壳技术

    1. 前言 Android 系统安全愈发重要,像传统pc安全的可执行文件加固一样,应用加固是Android系统安全中非常重要的一环.目前Android 应用加固可以分为dex加固和Native加固,N ...

  9. hdu4950 打怪(简单题目)

    题意:       打怪,一开始怪有h滴血,每回合可以让对方减少a滴血,每次打完之后怪会恢复b滴血,每连续k回合之后自己会休息一回合,这一回合怪物依然回血,问是否可以把怪打死. 思路:      比较 ...

  10. SSRF(服务端请求伪造)漏洞

    目录 SSRF SSRF漏洞的挖掘 SSRF漏洞利用 SSRF漏洞防御 SSRF SSRF(Server-Side Request Forgery,服务器端请求伪造)漏洞,是一种由攻击者构造请求,由服 ...