Java起源与发展

Java 的前世今生

不知道有没有小伙伴和笔者一样,虽然早已学过Java这门编程语言,但是对他的历史以及版本更替情况却毫无了解。遂笔者在这里记录一下Java的诞生及发展。

起源

  • 20世纪90年代,单片式计算机系统诞生,单片式计算机系统不仅价格低廉,而且功能强大,使用它可以大幅度提升消费类电子产品(电视机顶盒,面包烤箱,收音机,移动电话等)的智能化程度。
  • SUN公司为了抢占市场先机,在19914月,成立了一个由詹姆斯·高斯林(James Gosling)领导,名为Green(绿色计划)的项目小组,目的是开发一种能够在各种消费性电子产品上运行的程序架构。
  • 由于当时C++所具有的优势,该项目组的研发人员首先考虑采用C++来编写程序,但对于硬件资源极其匮乏的单片式系统来说,C++过于复杂和庞大,再加上由于消费电子产品所采用的嵌入式处理器芯片的种类繁杂,需要让编写的程序跨平台运行也成为一个难题。
  • 为了解决困难,最后项目小组决定:既不用C++编写,也不用开发全新的编程语言,而是根据嵌入式软件的要求,对C++进行了改造,去除了 C++复杂的指针和内存管理,最终在1992年,开发了一种称为Oak的面向对象语言。
  • 当他们向硬件生产商进行演示了Green操作系统,Oak的程序设计语言,类库及其硬件,以说服他们使用Oak语言生产硬件芯片时,硬件生产厂商对此并不感冒,原因是贸然生产风险太大,所以Oak语言因缺乏硬件支持而无法进入市场,从而被搁置一旁。
  • 199467月间,在经历了一场历时三天的讨论,决定将该技术应用于万维网。1995年,他们用Oak语言研发了一种将小程序嵌入到网页中执行的技术——Applet,由于Applet不仅能嵌入网页,还可随同网页在网络上进行传输,这让无数的程序员看到了Oak这门语言,与此同时,Oak正式更名为Java。从此,Java在互联网的推动下就火了。

发展

  1. 19961月,SUN公司推出了JDK1.0。在JDK1.0发布后,有很多程序员学习并运用Java来制作网页,JDK包括两大部分:开发工具和运行环境。
  2. 运行环境包括核心API,集成API,用户界面API,发布技术,Java虚拟机(JVM)。JDK1.0的发布,标志着Java成为一种独立的开发工具。在同年9月,约有8.3万个网页应用了Java技术来制作。JDK1.0的代表技术有:Java虚拟机,AppletAWT等。
  3. 19972月,SUN 公司紧接着推出了JDK1.1,在推出后的3周时间里,达到了近22万次的下载量。42日,首届Java One大会在美国旧金山召开,参加会议的人超过一万人,创造了当时全球同类会议规模最高的记录。JDK1.1的代表技术有:JDBCJavaBeanRMLJAR文件格式,Java 语法中的内部类和反射。
  4. 1998128日,JDK1.2——第二代Java平台的企业版J2EE发布。
  5. 19996月,SUN公司把Java体系分为三个方向: J2MEJava2 Micro EditionJava2 平台的微型版),应用于移动,无线及有限资源的环境; J2SEJava2 Standard EditionJava2 平台的标准版),应用于桌面环境; J2EEJava2 Enterprise EditionJava2 平台的企业版),应用于基于Java的服务器开发。
  6. 随着供应商的不同,JavaAPI 也分为三大类: Java Core APIJava 核心类库; Java Optional API:对之前 API 的扩充 特殊 API:由特殊厂商或组织提供的 API
  7. Java 2 平台的发布,是 Java 发展过程中最重要的一个里程碑,标志着 Java 的应用开始普及。JDK1.2 的代表性技术有:SwingJavaIDLEJBJavaPlug-in 等,在 API 文档中,添加了 strictfp 关键字和 Collections 集合类。
  8. 1999427 日,HotSpot 虚拟机发布。HotSpot 是由一家叫“LongviewTechnologies”的小公司开发的,后来被 SUN 公司收购。HotSpot 虚拟机发布时是作为 JDK 1.2 的附加程序提供的,后来它成 为了 JDK 1.3 及之后所有版本的 Sun JDK 的默认虚拟机 。
  9. 20005 月,JDK1.3JDK1.4J2SE1.3 相继发布,J2SE1.3 是对 J2SE1.2 的补充和扩展,从应 用领域的角度分析,JavaSE1.3 已经涵盖了数据库、WEB、网络、图形、多媒体、电话、影像等大 部分的信息技术领域。
  10. 2002226 日,J2SE1.4 发布。与 J2SE1.3 相比,多了近 62%的类和接口。在这些新特性当中, 还提供了广泛的 XML 支持、安全套接字(Socket)支持(通过 SSLTLS 协议)、全新的 I/O API、 正则表达式、日志与断言。
  11. 2004930 日,J2SE1.5 发布,成为 Java 语言发展史上的又一里程碑。为了表示该版本的重要 性,J2SE1.5 更名为 Java SE5.0(内部版本号 1.5.0)。Java SE5.0 包含了从 1996 年发布 1.0 版 本以来的最重大的更新,其中包括泛型支持、基本类型的自动装箱、改进的循环、枚举类型、格式化 I/O 及可变参数。
  12. 20056 月,在 JavaOne 大会上,Sun 公司发布了 JavaSE6。此时,Java 的各种版本已经更名, 已取消其中的数字 2,如 J2EE 更名为 JavaEEJ2SE 更名为 JavaSEJ2ME 更名为 JavaME
  13. 2011728 日,收购 Sun 公司的 Oracle 发布了 JavaSE7,引入了二进制整数、支持字符串的 switch 语句、棱形语法、多异常捕抓、自动关闭资源的 try 语言等新特性。
  14. 2014318 日,Oracle 公司发布 Java SE8,这次版本升级为 Java 带来了全新的 Lambda 表达 式、流式编程等大量新特性,这些新特性使得 Java 变得更加强大。
  15. 2017922 日,Oracle 公司发布 JavaSE9,这次版本升级强化了 Java 的模块化系统,让 Java 语言更轻量化,且采用了更高效、更智能的 GI 垃圾回收器,并在核心类库上进行大量更新,可进一 步简化编程。
  16. 2018321 日,JavaSE10 发布,Java10 版本带来了很多新特性,其中最备受广大开发者 关注的莫过于局部变量类型推断。此外,还包垃圾收集器改善、GC 改进、性能提升、线程管控等新 特性。
  17. 2018926 日,JavaSE11 发布。这是 Java 大版本周期变化后的第一个长期支持版本(LTS 版本持续支持到2026 年9月)。 Java11 带来了 ZGCHttpClient 等重要特性,一共包含 17JEPJDK Enhancement ProposalsJDK 增强提案)。
  18. 2019320 日, JavaSE12 发布。 Java12是短期支持版本,可在下一个版本发布之前获得Oracle 的商业支持。
  19. 2019923 日,Java SE 13 发布,此版本中添加了“文本块”,文本块是一个多行字符串文字, 避免对大多数转义序列的需要,以可预测的方式自动格式化字符串,并在需要时让开发人员控制格式。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值