Java的历史

12/19/2021

Java历史

Java的历史还是比较有趣的,记得是学了一段时间之后,偶然看到的。在Sun公司的时代,最初Java是由詹姆斯·高斯林 (opens new window)等人开发在各个家用电器的小型系统的编程语言,当时被命名为Oak(橡树),但是Oak并没有发展的很好,项目计划放弃了。随着互联网的发展,Sun公司看到了Oak在互联网公司的前景,改造Oak,1995年5月Java诞生了,之后互联网的发展速度大家都知道,使得Java也随之发展,变成了当今世界上最流行的开发语言之一。

JamesGosling

Java能在互联网潮流里久经不衰,一直站在排名比较靠前的位置,是有属于它的原因的。记得每次学任何语言都会介绍其特性,Java的特性就是原因之一。

  • 面向对象

  • 跨平台性

  • 简单性

  • 自动垃圾回收

  • 多线程

  • 安全性

    ......

这里只简单列举一些,更多的特性,可以自行查查,接下来简单的聊聊部分特性。

  • 面向对象,作为一种程序设计的方法,核心之一就是能够在开发过程中能够使用自定义的类型和关联操作,这能使得我们在大型软件工程的规划和设计更加易于管理,让人的思路更为清晰。

  • 跨平台,作为Java的最大特色之一,跨平台使得使用Java语言编写的程序可以在编译后不用经过任何更改,就能在任何硬件设备条件下运行,即软件的运行不因操作系统,处理器的变化导致发生无法运行或者出现运行错误。这个特性经常被称为一次编译,到处运行

    要理解这一特性,可以先了解C/C++程序的编译过程。C/C++语言的编译器对C/++源代码进行编译,将当前C/C++源程序所在特定平台进行编译,连接,生成机器指令,即根据当前平台的机器质量生成机器码文件(可执行文件.exe)。这样,就无法保证C/C++编译器产生的机器码文件(可执行文件.exe)能够在所有平台顺利的运行,因为不同平台可能具有不同的机器指令。

    C++依赖平台图解

    Java语言之所以可以跨平台,是因为Java提供了一个Java运行环境(JRE),该运行环境主要由Java虚拟机,类库以及一些核心文件组件。和C/C++不同的是,Java提供的编译器不针对特定平台进行编译,而是针对Java虚拟机把Java源代码编译为一种中间代码,一般称为字节码文件。而字节码文件是可以被Java虚拟机识别,执行的代码,即Java虚拟机负责解释运行字节码。大致运行原理是:Java虚拟机负责将字节码翻译成虚拟机所在平台的机器码,并能让当前平台运行该机器码。

    Java不依赖平台图解

其他的特性,还是那句话,有时间可以再查查了解看看,在学习一段时间后再来看,感受肯定不一样。

我觉得正是因为这些特性与互联网的需求,所以使得Java在互联网中发展的越来越好。

那么接下来,说一说Java的时间线,这里我觉得有必要了解一下,因为牵涉到版本的发展。

  • 1995年Java诞生;1996年JDK1.0

  • 1997年JDK1.1

  • 1999年SUN公司发布三个版本:标准版(J2SE (opens new window))、企业版(J2EE (opens new window))和微型版(J2ME (opens new window)

  • 2000年JDK1.3和JDK1.4

  • 2001年J2EE1.3

  • 2002年J2EE1.4

  • 2004年J2SE1.5,同时J2SE1.5更名为Java SE 5.0

  • 2005年Java SE 6,同时各个版本的Java,取消其中数字"2";J2EE变成 Java EE,J2SE 变成 Java SE,J2ME变成Java ME

  • 2009年Java EE 6

  • 2011年Java SE 7

  • 2014年Java SE 8

  • 2017年Java SE 9

  • 2018年Java SE 10和Java SE 11

在这里历史发展列表中,还是可以看出Java的版本更新速度也是很快的,基本上1,2年就是版本的跨越。而且在命名上也发生了许多改变,从最早的95年JDK为名,到99年发布三个Java版本,到04,05年的命名和版本号的变化。我也第一次整理这个列表,虽然官方对命名和版本号有所改变,但是发现大家还是有沿用老的命名和版本号,比如J2SE,J2EE和J2ME在一些教材上还是依然称呼着,Java的版本号虽然官方说改为5.0开始,但是还有有很多JDK1.5,JDK1.6,JDK1.7的称呼。我想这些其实都不是那么重要,大致了是怎么一回事就行,官方有官方的称呼,民间也民间的称呼,只要能对应上,就不会太冲突。关键还是先学会怎么用,再回头了解这些。

想了解更多的内容,可以这里 (opens new window)再看看。

(Sun公司已经陨落了,被Oracle公司收购了,所以Java现在属于Oracle公司。Java是发展的挺好的,但是Sun公司却是这样结局,实在也是想不明白,也不太想多去了解。之前听闻一个有趣的地方,我记得最早接触的Java的开发工具是Eclipse,但是Eclipse本身意思是日食,Sun的意思却是太阳,你说它们之间是不是冥冥之中有种意思( ̄┰ ̄*))

Duke

Last Updated: 11/21/2022, 10:03:43 PM