0
点赞
收藏
分享

微信扫一扫

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 是根据鲁棒、可移植、平台无关、高性能、多线程等原则创建的,被《时代》杂志称为1995 年十大最佳产品之一。目前,Java 用于互联网编程、移动设备、游戏、电子商务解决方案等。Java 语言自JDK 1.0以来经历了一些变化就像对标准库的类和包的各种扩充一样。除了语言变化之外,Java 类库多年来也发生了相当大的变化,从 JDK 1.0 中的几百个类发展到 J2SE 5 中的三千多个类。各种 Java 版本的历史:

Java 编程语言的完整历史_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
  • 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
  • Java 声音
  • 综合代理类

J2SE 1.4|2002 年 2 月| 代号 - “Merlin” 发布日期 - 2002 年 2 月 6 日 添加:库改进

  • 以 Perl 正则表达式为模型的正则表达式
  • 用于以 JPEG 和 PNG 等格式读取和写入图像的图像 I/O API
  • 集成 XML 解析器和 XSLT 处理器 (JAXP)(在 JSR 5 和 JSR 63 中指定)
  • 首选项 API (java.util.prefs)

此版本的公共支持和安全更新已于 2008 年 10 月结束。

J2SE 5.0|2004 年 9 月| 代号-“Tiger” 发布日期-“2004 年 9 月 30 日” 最初编号为 1.5,仍用作其内部版本。添加了几个新的语言功能,例如:

  • for-each 循环
  • 泛型
  • 自动装箱
  • 可变参数

JAVA SE 6|2006 年 12 月| 代号 - “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 月| 代号-“海豚”发布日期-2011 年 7 月 7 日 添加了小的语言更改,包括开关中的字符串。JVM 得到了扩展,支持动态语言。补充:

  • 压缩的 64 位指针。
  • 二进制整数文字。
  • XML 和 Unicode 的上游更新。

JAVA SE 8|2014 年 3 月|发布日期 - 2014 年 3 月 18 日 对 lambda 表达式和默认方法的语言级别支持以及受 Joda Time 启发的新日期和时间 API。 JAVA SE 9|2017 年 9 月|发布日期:2017 年 9 月 21 日 Project Jigsaw:为 Java SE 平台设计和实现标准、模块系统,并将该系统应用于平台本身和 JDK。 JAVA SE 10|2018 年 3 月| 发布日期 - 3 月 20 日补充:

  • 额外的 Unicode 语言标签扩展
  • 根证书
  • 线程本地握手
  • 替代内存设备上的堆分配
  • 删除本机头生成工具 - javah。
  • 将 JDK 林整合到一个存储库中。

JAVA SE 11|2018 年 9 月| 发布日期 - 2018 年 9 月 25 日

  • 动态类文件常量
  • Epsilon:无操作垃圾收集器
  • lambda 参数的局部变量语法
  • 低开销的堆分析
  • HTTP 客户端(标准)
  • 传输层安全 (TLS) 1.3
  • 飞行记录仪

JAVA SE 12|2019 年 3 月| 发布日期 - 2019 年 3 月 19 日

  • Shenandoah:一种低暂停时间的垃圾收集器(实验性)
  • 微基准套件
  • 切换表达式(预览)
  • JVM 常量 API
  • 一个 AArch64 端口,不是两个
  • 默认 CDS 档案
举报

相关推荐

0 条评论