第一章 JavaSE发展史及OpenJDK与OracleJDK区别

目录

[一、Java SE的发展历史](#一、Java SE的发展历史)

[1.1. Java版本年历](#1.1. Java版本年历)

[二、Open JDK 和 Oracle JDK](#二、Open JDK 和 Oracle JDK)

[2.1. Open JDK来源](#2.1. Open JDK来源)

[2.2. Open JDK 和 Oracle JDK的关系](#2.2. Open JDK 和 Oracle JDK的关系)

三、小结

Open JDK 官网 http://openjdk.java.net/

一、Java SE****的发展历史

Sun公司在1991年成立了一个称为绿色计划( Green Project )的项目,由James Gosling(高斯林)博士领导,绿色计划的目的是开发一种能够在各种消费性电子产品(机顶盒、冰箱、收音机等)上运行的程序架构。这个项目的产品就是 Java语言的前身: Oak(橡树)。Oak当时在消费品市场上并不算成功,但随着1995年互联网潮流的兴起,Oak迅速找到了最适合自己发展的市场定位。

1.1. Java版本年历

JDK Beta - 1995

JDK 1.0 - 1996年1月 (真正第一个稳定的版本JDK 1.0.2,被称作 Java 1 )

JDK 1.1 - 1997年2月,增加了JDBC和RMI等特性。

J2SE 1.2 - 1998年12月

J2ME(Java 2 Micro Edition,Java 2平台的微型版),应用于移动、无线及有限资源的环境。

J2SE(Java 2 Standard Edition,Java 2平台的标准版),应用于桌面环境。

J2EE(Java 2 Enterprise Edition,Java 2平台的企业版),应用于基于Java的应用服务器。

J2SE 1.3 - 2000年5月,引入了Java HotSpot Virtual Machine,改进了类库,例如Swing和集合框架。

J2SE 1.4 - 2002年2月

J2SE 5.0 - 2004年9月,提供了泛型支持、注解、自动装箱和 enums 等特性。

Java SE 6 - 2006年12月,提升了运行速度,增加了编译器的优化等。

Java SE 7 - 2011年7月,增加了switch语句的枚举支持、try-with-resources语句、支持二进制字面量等。

Java SE 8(LTS) - 2014年3月,增加了函数式编程特性,如Lambda表达式。

Java SE 9 - 2017年9月,模块化系统、改进的JVM和性能提升、接口的私有方法等。

Java SE 10(18.3) - 2018年3月,改进JIT编译器、局部变量类型推断、线程本地管道等。

Java SE 11(18.9 LTS) - 2018年9月,改进ZGC、移除了CMS垃圾回收器等。

Java SE 12(19.3) - 2019年3月,增加了对Vaadin Flow的支持、Context-aware type data levels等。

Java SE 13(19.9) - 2019年9月,Switch表达式、文本块、edn 支持等。

Java 14.0 (Loom) - 2020年3月,预览了虚拟线程,引入了模式匹配等新特性。

Java 15.0 (Malica) - 2020年9月,ZGC到GPL转换、Unix域套接字、EdDSA支持等。

Java 16.0 (Mondain) - 2021年3月,Vector API、NullPointerExceptions在switch表达式中、G1的并行完全垃圾回收等。

Java 17.0 (Rhombus) - 2021年9月,Sealed classes、Text Blocks等新特性。

我们可以看到Java SE的主要版本大约每两年发布一次,直到Java SE 6到Java SE 7开始花了五年时间,之后又花了三 年时间到达Java SE 8。

二、Open JDKOracle JDK

2.1. Open JDK****来源

Java 由 Sun 公司发明,Open JDK是Sun在2006年末把Java开源而形成的项目。也就是说Open JDK是Java SE平台版的开源和免费实现,它由 SUN 和 Java 社区提供支持,2009年 Oracle 收购了 Sun 公司,自此 Java 的维护方之一的SUN 也变成了Oracle。

2.2. Open JDKOracle JDK****的关系

大多数 JDK 都是在 Open JDK 的基础上进一步编写实现的,比如 IBM J9, Oracle JDK 和 Azul Zulu, Azul Zing。

Oracle JDK完全由 Oracle 公司开发,Oracle JDK是基于Open JDK源代码的商业版本。此外,它包含闭源组件。

Oracle JDK根据二进制代码许可协议获得许可,在没有商业许可的情况下,在2019年1月之后发布的Oracle Java SE 8 的公开更新将无法用于商业或生产用途。但是 Open JDK是完全开源的,可以自由使用。

在Open JDK官网中,JDK Enhancement Proposals代表了JDK增强建议,通俗的讲JEP就是JDK的新特性。日后在JDK新特性发布后,我们都可以在此处查看。

三、小结

Oracle JDK是基于Open JDK源代码的商业版本。我们要学习Java新技术可以去Open JDK 官网学习。

相关推荐
小羊没烦恼!2 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里2 天前
java中的继承和多态的区别
java
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕2 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码2 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖2 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时2 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang2 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi2 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号2 天前
java函数式编程--入门基础
java·编程·函数式编程