Java的发展历史


Java语言简介

Java起源于20世纪90年代初Sun公司的一个叫Green的项目,该项目的目标是开发嵌入家用电器的分布式软件系统,使电器更加智能化。 项目小组成员皆为C++的高手,于是采用C++进行系统开发,但在开发过程中发现了很多问题,如C++语言过于复杂、安全性差等。 于是项目小组只好另辟蹊径,在遵循“简单、可靠、紧凑且易于移植的”的框架内,开发了一个小型的计算机语言Java,用于编写电子产品中的程序。

刚才我们谈到Java是在C语言和C++基础之上,发展起来的一门完全面向对象的编程语言。 在这里我们要强调三点,第一是C语言,第二是C++,第三是完全面向对象, 有了C语言和C++语言,为什么还要开发Java语言呢? 当然就是他们都有各自的缺点,首先,C语言是面向过程的,所有的程序都由函数构成,不利于大型项目的模块划分。 而C++也是在C语言基础之上发展起来的,兼容C语言,既有面向过程的特性,也有面向对象的特性,其显著缺点就是过于复杂、不便于移植。

比如:科技公司谷歌在使用C++编写程序时,开发团队都要制定使用规范,规定要使用C++里面的那些部分,不使用那些部分,这些都有明确的说明。可见C++是非常复杂的一门语言。

那么,Java语言是在C和C++基础之上发展起来的, 可以说他站在了巨人的肩膀上。 同时具备c语言和c++的优点,也摒弃了他们当中的很多缺点。 例如:指针的使用、内存管理、C++过于复杂等缺点。

Java语言有很多优点,例如:完全面向对象、简单、跨平台、自动内存管理、不直接使用指针等等。 当然Java语言也有自身的缺点,最显著的缺点就是,比C和C++慢一些,这是由于跨平台的特性,程序在自身虚拟机中运行,后面我们会详细讲述。

Java的应用领域

Java的应用领域大致分为三个方向:

1. WEB(网站或者网络)应用

1)Java企业应用,银行(建行、工行、农行)、证券以及通信领域(电信、移动、联通、网通),大部分都使用Java来编程。 2)大型网站,例如:电商平台阿里巴巴、淘宝、京东,社交网站:Facebook、新浪微博、微信,门户网站:网易、新浪、腾讯等等。 3)电子政务,例如:如:OA、CRM、MIS也都使用Java来编写; 如果你想从事Java WEB开发,就需要学好Java基础了。

2. Java 移动及游戏应用

由于Java跨平台特性,在早期一些移动和游戏应用都是由Java来编写的,其中有一个版本或者叫做平台JavaME,也就是Java 微型版,专门针对Java移动和游戏领域编程, 当然,随着移动平台的不断变革,现在主流的移动平台 Android 和 iOS 占领了大部分移动操作系统市场,现在Java在移动领域的主要应用是安卓Android开发,如果你想从事Android开发,必须从现在起打好基础。

3. Java 桌面应用

应用比较少,就是一些C/S结构的桌面应用。比如:编写一个Java版的QQ或者office办公软件,这就属于Java的桌面应用了。

Java的发展过程

1991年  Sun公司成立Green项目。Oak语言诞生,当时还没有叫Java。

1992年  18个月后,第一个成果是可触摸控制的手持家庭娱乐设备控制器,名为*7(star seven)。Sun公司为Green项目成立First Person公司

1993年  First Person公司重定位Oak。转向到网络应用领域(背景:WWW开始席卷全球)

1994年  Oak技术包括源代码全部免费公开。Oak开发出网络浏览器Webrunner,后更名为Hotjava。Oak编写的Applet让网页由静态转成动态

1995年  Oak注册登记时,发现该名已被占用,遂更名为Java。First Person公司解散。Java当年被评为十大优秀科技产品之一。JDK1.0a2版本正式对外发布

1996年  Sun成立Javasoft分公司来发展Java。Netscape支持Java。IBM、Symantec、Inprise、Microsoft IE支持Java。

1997年  JDK 1.1(Java Development Kit) 发布

1998年  JDK 1.2发布,JDK更名为J2SDK(Java 2 Software Development Kit)。J2SDK 1.2又名Java 2,并将Java的应用细分为三个平台即:J2SE/J2EE/J2ME 后面我们会讲到。

2000年  J2SDK 1.3发布

2002年  J2SDK 1.4发布

2004年  J2SDK 1.5发布,从1.5之后,Java使用的新的命名规范及Java 5.0

目前Java的最高版本是Java 9

和Java相关的几件事情

当你进入Java领域进行编程时,你经常会听到这样一些声音,比如:SUN公司、Oracle公司、JDK、JRE、Java和咖啡有啥关系、Eclipse、JavaEE、Android等等。

SUN公司

SUN是斯坦福大学校园网(Stanford University Network)的首字母缩写,创建于1982年。主要产品是工作站及服务器。1995年Sun 开发了Java语言。最辉煌时曾和Google、IBM、微软等公司齐名。

Oracle公司

主要产品是Oracle数据库,中文名称是甲骨文,2009年4月20日甲骨文以现金收购Sun公司,交易价格74亿美元。SUN宣告结束。现在的Java隶属于Oracle公司。

JDK (Java Development Kit) 的缩写,是 Java 语言的软件开发工具包,包括Java的编译器、解释器、类库、源码、文档等。

JRE 为Java Runtime Environment的简称,是安装在Java生产环境中的Java运行环境。

Java环境变量

当我们在系统某个目录下执行某个可执行程序时,系统首先会在当前目录下面去寻找是否有该程序,如果没有会到设置好的环境变量中去找,如果这两个地方都没有,系统就会报错。我们在开发Java程序时,开始都是在命令行执行Java程序,经常在不同的目录下执行Java编译程序javac和java解释程序java,为了方便在任意系统下面都能找到他们我们需要去设置环境变量。

Java 虚拟机 JVM,Java是一个跨平台的语言,在每个平台下面都有对应的虚拟机,我们写好的程序运行在这些虚拟机里面,从而达到跨平台的效果。

JavaSE、JavaEE、JavaME,Java是个庞大的生态系统,其自身可以分为Java标准版Java Standard Edition,简称JavaSE。企业版,Java Enterprise Edition和Java微型版 ,简称Java Micro Edition。企业版和微型版都是建立在标准版基础之上的。JavaSE主要是Java基础类库,可以完成一些桌面应用,企业版主要是实现Java WEB 分布式企业应用。微型版主要是手持移动设备开发,目前已经被淘汰。

Eclipse,IBM开发的一个开源集成开发环境,早期主要针对Java,现在可以开发C++、php等等…,Eclipse意思是日食的意思,当年IBM和SUN公 司竞争,IBM有意遮挡太阳的光芒吧!:)

Java与咖啡的关系,Java最早其实不叫Java,叫Ork橡树的意思,后来注册时发现Ork已经被注册,一位爱喝咖啡的工程师给他起了一个名字Java,Java是一个盛产咖啡的地方叫爪哇岛的谐音。

Java与Android的关系,Android系统本身是非常复杂的,包含了操作系统Linux、中间层C++,以及上层应用接口Java,我们做的App开发其实是在搞Android中最容易的部分,因为上层应用是通过Java开发的,所以在学习Android之前需要有牢固的Java基础。