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

相关推荐
qq_1927798727 分钟前
高级爬虫技巧:处理JavaScript渲染(Selenium)
jvm·数据库·python
风筝在晴天搁浅27 分钟前
hot100 78.子集
java·算法
u0109272711 小时前
使用Plotly创建交互式图表
jvm·数据库·python
爱学习的阿磊1 小时前
Python GUI开发:Tkinter入门教程
jvm·数据库·python
故事和你911 小时前
sdut-Java面向对象-06 继承和多态、抽象类和接口(函数题:10-18题)
java·开发语言·算法·面向对象·基础语法·继承和多态·抽象类和接口
tudficdew1 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python
sjjhd6522 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
Configure-Handler2 小时前
buildroot System configuration
java·服务器·数据库
2301_821369612 小时前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
:Concerto2 小时前
JavaSE 注解
java·开发语言·sprint