持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情
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 版本的历史:
版本 | 发布日期 | 主要变化 |
---|---|---|
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 档案