02.背景与特性

Java 的前世今生与设计原则

Java 是 1991 年由 Sun Microsystems 的 James Gosling,Patrick Naughton,Chris Warth,Ed Frank 和 Mike Sheridan 构想的。该语言最初被称为“ Oak”,但在 1995 年被重命名为“ Java”。令人惊讶的是,Java 的原始动力 不是互联网! 相反,其主要动机是需要一种与平台无关的语言,该语言可用于创建要嵌入到各种消费电子设备(如烤面包机,微波炉和遥控器)中的软件。您可能会猜到,许多不同类型的 CPU 都用作控制器。问题在于(当时)大多数计算机语言都被设计为可编译为针对特定类型 CPU 的机器代码。例如,考虑使用 C++ 语言。

尽管可以针对几乎任何类型的 CPU 编译 C++ 程序,但要这样做,都需要针对该 CPU 的完整 C++ 编译器。但是,问题在于,编译器创建起来既昂贵又耗时。为了找到更好的解决方案,Gosling 和其他人开发了一种可移植的跨平台语言,该语言可以生成可在不同环境下的各种 CPU 上运行的代码。这项工作最终导致了 Java 的创建。在确定 Java 细节的那一刻,出现了第二个,并且最终更为重要的因素,它将在 Java 的未来中发挥关键作用。当然,第二力量是万维网。如果 Web 大约不是在 Java 实施的同时形成的,那么 Java 可能仍然是用于编程消费类电子产品的有用但晦涩的语言。但是,随着 Web 的出现,Java 被推到了计算机语言设计的最前沿,因为 Web 也需要可移植的程序。

要想充分了解 Java,就必须了解它诞生背后的原因、形成它的力量以及它所继承的遗产。与之前成功的计算机语言一样,Java 也融合了其丰富遗产中的最佳元素,并结合了其独特使命所需的创新概念。Java 与 C++ 有关,而 C++ 是 C 语言的直接后裔,Java 的很多特性都是继承自这两种语言。从 C 语言中,Java 衍生出了它的语法。Java 的许多面向对象的特性都受到了 C++的影响。事实上,Java 的几个定义特性都来自于–或者说是对其前辈的回应。此外,Java 的创建深深地植根于过去几十年来计算机编程语言的完善和适应过程中。

发展历史

  • 1995 年 5 月 23 日,Java 语言诞生
  • 1996 年 1 月,第一个 JDK-JDK1.0 诞生
  • 1996 年 4 月,10 个最主要的操作系统供应商申明将在其产品中嵌入 Java 技术
  • 1996 年 9 月,约 8.3 万个网页应用了 Java 技术来制作
  • 1997 年 2 月 18 日,JDK1.1 发布
  • 1997 年 4 月 2 日,JavaOne 会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
  • 1997 年 9 月,JavaDeveloperConnection 社区成员超过十万
  • 1998 年 2 月,JDK1.1 被下载超过 2,000,000 次
  • 1998 年 12 月 8 日,JAVA2 企业平台 J2EE 发布
  • 1999 年 6 月,SUN 公司发布 Java 的三个版本:标准版(JavaSE,以前是 J2SE)、企业版(JavaEE 以前是 J2EE)和微型版(JavaME,以前是 J2ME)
  • 2000 年 5 月 8 日,JDK1.3 发布
  • 2000 年 5 月 29 日,JDK1.4 发布
  • 2001 年 6 月 5 日,NOKIA 宣布,到 2003 年将出售 1 亿部支持 Java 的手机
  • 2001 年 9 月 24 日,J2EE1.3 发布
  • 2002 年 2 月 26 日,J2SE1.4 发布,自此 Java 的计算能力有了大幅提升
  • 2004 年 9 月 30 日 18:00PM,J2SE1.5 发布,成为 Java 语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5 更名为 Java SE 5.0
  • 2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字"2":J2EE 更名为 Java EE,J2SE 更名为 Java SE,J2ME 更名为 Java ME
  • 2006 年 12 月,SUN 公司发布 JRE6.0
  • 2009 年 04 月 20 日,甲骨文 74 亿美元收购 Sun。取得 java 的版权。
  • 2010 年 11 月,由于甲骨文对于 Java 社区的不友善,因此 Apache 扬言将退出 JCP[4]。
  • 2011 年 7 月 28 日,甲骨文发布 Java7.0 的正式版。
  • 2014 年 3 月 18 日,Oracle 公司发表 Java SE 8。
  • 2017 年 9 月 21 日,Oracle 公司发表 Java SE 9
  • 2018 年 3 月 21 日,Oracle 公司发表 Java SE 10
  • 2018 年 9 月 25 日,Java SE 11 发布
  • 2019 年 3 月 20 日,Java SE 12 发布