02.背景与特性

Java的前世今生与设计原则

Java1991年由Sun MicrosystemsJames Gosling,Patrick Naughton,Chris Warth,Ed FrankMike 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也融合了其丰富遗产中的最佳元素,并结合了其独特使命所需的创新概念。JavaC++有关,而C++C语言的直接后裔,Java的很多特性都是继承自这两种语言。从C语言中,Java衍生出了它的语法。Java的许多面向对象的特性都受到了C++的影响。事实上,Java的几个定义特性都来自于–或者说是对其前辈的回应。此外,Java的创建深深地植根于过去几十年来计算机编程语言的完善和适应过程中。

发展历史

  • 1995523日,Java语言诞生
  • 19961月,第一个JDK-JDK1.0诞生
  • 19964月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术
  • 19969月,约8.3万个网页应用了Java技术来制作
  • 1997218日,JDK1.1发布
  • 199742日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
  • 19979月,JavaDeveloperConnection社区成员超过十万
  • 19982月,JDK1.1被下载超过2,000,000
  • 1998128日,JAVA2企业平台J2EE发布
  • 19996月,SUN公司发布Java的三个版本:标准版(JavaSE,以前是J2SE、企业版(JavaEE以前是J2EE)和微型版(JavaME,以前是J2ME
  • 200058日,JDK1.3发布
  • 2000529日,JDK1.4发布
  • 200165日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
  • 2001924日,J2EE1.3发布
  • 2002226日,J2SE1.4发布,自此Java的计算能力有了大幅提升
  • 200493018:00PMJ2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
  • 20056月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字"2"J2EE更名为Java EEJ2SE更名为Java SEJ2ME更名为Java ME
  • 200612月,SUN公司发布JRE6.0
  • 20090420日,甲骨文74亿美元收购Sun。取得java的版权。
  • 201011月,由于甲骨文对于Java社区的不友善,因此Apache扬言将退出JCP[4]
  • 2011728日,甲骨文发布Java7.0的正式版。
  • 2014318日,Oracle公司发表Java SE 8
  • 2017921日,Oracle公司发表Java SE 9
  • 2018321日,Oracle公司发表Java SE 10
  • 2018925日,Java SE 11发布
  • 2019320日,Java SE 12发布