易百教程

Java历史

Java是一种面向对象的编程语言,由 James Gosling 在 1990 年代初期开发。团队发起这个项目是为了开发一种用于数字设备(如机顶盒、电视等)的语言。最初在项目中考虑使用 C++,但这个想法被拒绝了,原因有几个(例如 C++ 需要更多内存)。 Gosling 努力改变和扩展 C++,但不久就放弃了这一点,以制作另一个名为 Green 的舞台。 James Gosling 和他的团队将他们的项目称为“Greentalk”,其文件扩展名为 .gt,后来被称为“OAK”。为什么是“橡树”?高斯林在他办公室外的一棵橡树之后使用了橡树这个名字。此外,橡树是团结的形象,被美国、法国、德国、罗马尼亚等众多国家选为国树。但后来他们不得不将其重命名为“JAVA”,因为它已经是橡树科技的商标。 “JAVA” Gosling 和他的团队进行了一次头脑风暴会议,会议结束后,他们想出了几个名称,如 JAVA、DNA、SILK、RUBY 等。Java 名称是经过多次讨论后确定的,因为它是如此独特。 Java 这个名字来源于一种浓缩咖啡豆,Java。高斯林在办公室附近喝咖啡时想出了这个名字。 Java 是根据鲁棒、可移植、平台独立、高性能、多线程等原则创建的,被 TIME MAGAZINE 称为 1995 年十大最佳产品之一。目前,Java 用于互联网编程、移动设备、游戏、电子商务解决方案等。Java 语言自 JDK 1.0 以来经历了一些变化,就像对标准库的各种类和包的增强一样。除了语言变化之外,Java 类库多年来也发生了相当大的变化,从 JDK 1.0 中的几百个类发展到 J2SE 5 中的三千多个。

Java的版本

版本 发布日期 主要变化
JDK测试版 1995
JDK 1.0 1996 年 1 月 第一个版本于 1996 年 1 月 23 日发布。主要的稳定版本 JDK 1.0.2 称为 Java 1。
JDK 1.1 1997 年 2 月 于 1997 年 2 月 19 日发布。与 1.0 版相比,JDK 1.1 中有许多新增功能,例如:对 AWT 场合节目的广泛改组;添加到语言的内部类; JavaBeans;3. JDBC;RMI
J2SE 1.2 1998 年 12 月 代号:“Play area”,于1998年12月8日发布。它真正的扩展包括:strictfp 关键字。添加功能:Swing 图形 API 被协调到中心类中;Sun 的 JVM 突然配备了 JIT 编译器;Java 模块;Java IDL,用于 CORBA 互操作性的 IDL 用法;集合系统
J2SE 1.3 2000 年 5 月 代号:“KESTREL”,2000 年 5 月 8 日发布。添加功能:包括 HotSpot JVM;Java命名和目录接口;JPDA;JavaSound;综合代理类
J2SE 1.4 2002 年 2 月 代号:“Merlin” 发布日期 - 2002 年 2 月 6 日,库改进,添加新功能:以 Perl 正则表达式为模型的正则表达式;用于以 JPEG 和 PNG 等格式读取和写入图像的图像 I/O API;3. 集成 XML 解析器和 XSLT 处理器 (JAXP)(在 JSR 5 和 JSR 63 中指定);首选项 API (java.util.prefs)
J2SE 5.0 2004 年 9 月 代号:“Tiger”,发布日期-“2004 年 9 月 30 日” 最初编号为 1.5,仍用作其内部版本。 添加了几个新的语言功能,例如:for-each循环;Generics;Autoboxing;Var-args
JAVA SE 6 2006 年 12 月 6 日 代号:“Mustang” 发布日期 - 2006 年 12 月 11 日 与数据库管理程序一起打包,鼓励在 JVM 中使用脚本语言。将名称 J2SE 替换为 java SE 并从版本号中删除.0。 补充:将 JAXB 升级到 2.0 版:包括集成 StAX 解析器;支持可插入注释 (JSR 269);JDBC 4.0 支持 (JSR 221)
JAVA SE 7 2011 年 7 月 7 日 代号:“海豚”发布日期-2011 年 7 月 7 日 添加了小的语言更改,包括开关中的字符串。 JVM 得到了扩展,支持动态语言。 补充:压缩的 64 位指针;二进制整数文字;XML 和 Unicode 的上游更新
JAVA SE 8 2014 年 3 月 8 日 发布日期:2014 年 3 月 18 日 对 lambda 表达式和默认方法的语言级别支持以及受 Joda Time 启发的新日期和时间 API。
JAVA SE 9 2017 年 9 月 发布日期:2017 年 9 月 21 日 Jigsaw 项目:为 Java SE 平台设计和实现标准、模块系统,并将该系统应用于平台本身和 JDK。
JAVA SE 10 2018 年 3 月 10 日 发布日期:3 月 20 日,补充:Unicode 语言标签扩展;根证书;线程本地握手;替代内存设备上的堆分配;删除本机头生成工具 - javah;将 JDK 林整合到一个存储库中。
JAVA SE 11 2018 年 9 月 11 日 发布日期:2018 年 9 月 25 日,补充:动态类文件常量;Epsilon:无操作垃圾收集器;lambda 参数的局部变量语法;低开销的堆分析;HTTP 客户端(标准);传输层安全 (TLS) 1.3;飞行记录仪
JAVA SE 12 2019 年 3 月 12 日 发布日期:2019 年 3 月 19 日,补充:Shenandoah:一种低暂停时间的垃圾收集器(实验性);微基准套件;切换表达式(预览);JVM 常量 API;一个 AArch64 端口,不是两个;默认 CDS 档案