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

相关推荐
小马爱打代码6 小时前
Minor GC与Full GC分别在什么时候发生?
jvm
熊大如如6 小时前
Java 反射
java·开发语言
猿来入此小猿6 小时前
基于SSM实现的健身房系统功能实现十六
java·毕业设计·ssm·毕业源码·免费学习·猿来入此·健身平台
goTsHgo7 小时前
Spring Boot 自动装配原理详解
java·spring boot
卑微的Coder7 小时前
JMeter同步定时器 模拟多用户并发访问场景
java·jmeter·压力测试
pjx9877 小时前
微服务的“导航系统”:使用Spring Cloud Eureka实现服务注册与发现
java·spring cloud·微服务·eureka
多多*8 小时前
算法竞赛相关 Java 二分模版
java·开发语言·数据结构·数据库·sql·算法·oracle
爱喝酸奶的桃酥8 小时前
MYSQL数据库集群高可用和数据监控平台
java·数据库·mysql
唐僧洗头爱飘柔95279 小时前
【SSM-SSM整合】将Spring、SpringMVC、Mybatis三者进行整合;本文阐述了几个核心原理知识点,附带对应的源码以及描述解析
java·spring·mybatis·springmvc·动态代理·ioc容器·视图控制器
骑牛小道士9 小时前
Java基础 集合框架 Collection接口和抽象类AbstractCollection
java