第一章 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 官网学习。

相关推荐
用户033212666367几秒前
Java 查找并替换 Excel 中的数据:详细教程
java
间彧2 分钟前
ThreadLocal实现原理与应用实践
java
若水不如远方9 分钟前
Netty的四种零拷贝机制:深入原理与实战指南
java·netty
用户74936368484314 分钟前
【开箱即用】一分钟使用java对接海外大模型gpt等对话模型,实现打字机效果
java
SimonKing33 分钟前
一键开启!Spring Boot 的这些「魔法开关」@Enable*,你用对了吗?
java·后端·程序员
间彧1 小时前
Spring Boot集成Spring Security 6.x完整指南
java
xiezhr2 小时前
用户只需要知道「怎么办」,不需要知道「为什么炸了」
java·api·接口设计规范
xiezhr2 小时前
接口设计18条军规:写给那些半夜被“502”叫醒的人
java·api·restful
RainbowSea11 小时前
12. LangChain4j + 向量数据库操作详细说明
java·langchain·ai编程
RainbowSea11 小时前
11. LangChain4j + Tools(Function Calling)的使用详细说明
java·langchain·ai编程