JAVA语言的发展史


JAVA语言的发展史


SUN公司介绍

SUN公司全称是:Stanford University Network. SUN公司是从斯坦福大学孵化器出的高科技公司。创立后,曾经市值名列IT公司第一位。在2001年时,市值2100亿美元 ,远超过google公司、IBM公司。SUN公司不仅打败了包括 IBM 在内的全部工作站(Work Station)和小型机(Mini Computer)公司,而且依靠它的 Solaris(一种Unix)和风靡世界的 Java 程序语言,成为在操作系统上最有可能挑战微软的公司。太阳公司不乏能人,它不仅为 Google 培养了 CEO埃里克.施密特和首任工程部副总裁韦恩.罗森(Wayne Rosen),并且在一定程度上奠定了今天 Google 工程部门的基础。

当然,今天的SUN公司已经一落千丈,并且被oracle公司收购。sun公司从成立到市值2000亿美元经过了20年,但是走下坡路只用了1年时间!这就是IT行业的残酷性!

JAVA的诞生和核心特点

上世纪90年代初,SUN公司的James Gosling(高司令,_)领导的Green项目,着力打造一个分布式的、可以在消费类电子产品(如电视机顶盒)使用的系统架构。

这种架构中,要求写的代码可以运行在各种消费类电子产品中,即要求代码的中立性、跨平台性。

最初,Green项目使用的C++,但是在研发过程中发现C++并不能很好的适应新的需求。于是,这些高人对C++编译器做了改写,仍然不太理想,不太符合跨平台的特性。 牛人有牛人特有的牛脾气,于是,大家决定重起炉灶,开始研发一种新的语言,即JAVA.

经过一年半的研发,整个产品研发完成。但是,很遗憾,消费类电子产品并没有高速的发展起来,JAVA进入蛰伏期。

【注】跨平台特性,始终是JAVA的核心优势!

JAVA的飞速发展

无心插柳柳成荫!90年代中末期,有一个改变世界的大事出现了:互联网的爆发式增长。在传统产业,例如钢铁产业要想取得产量翻番,那需要很多年的时间。但是,在互联网行业都是呈指数级增长,爆炸式的增长。google可以在短短几年就增长到上千亿美元市值。

互联网将各种各样的电脑连到了一起,这时,我们发现电 脑的操作系统各种不同。因此,急需一种跨平台的语言,通过它编写的程序可以在各种平台上运行。JAVA正好符合这种需求。使用JAVA编写的applet程序给了90年代的人们极大的震撼,于是JAVA迎来了他的黄金时代!

JAVA诞生后,经历了如下版本的发展变化:

• 1991年,Sun公司的Green项目,Oak

• 1995年,推出Java测试版

• 1996年,JDK1.0

• 1997年,JDK1.1

• 1998年,JDK1.2,大大改进了早期版本的缺陷,是一个革命性的版本,更名为Java2

• 2004年,J2SE 5.0 (1.5.0) Tiger老虎

• 2006年,J2SE 6.0 (1.6.0) Mustang野马

• 2011年,JAVASE7.0

JAVA的特性和优势

简单性

就是c++语法的纯净版。没有头文件,指针运算,结构,联合,操作符重载,虚基类等等。由于语法基于c,因此学习起来完全不费力。

面向对象

面向对象是一种程序设计技术,他将重点放在数据(即对象)和对象之间的接口上。

可移植性(跨平台性)

这是JAVA的一个重要的优势。JAVA代码或者说字节码、二进制码可以跨平台的移植,而不用管具体的操作系统和硬件环境。JAVA本身就是面向网络的,只有在网络环境中才能显示出他的优势,比如:现在我有一个网络环境,要让我的笔记本和手机交互,笔记本环境是windows发出一个让手机定时录音的JAVA代码,手机只有简单Linux内核操作系统,照样可以完美的执行这个代码。

“一次编写,随处运行”:“write once, run anywhere”

JAVA在设计时就很注重移植和跨平台性。比如:JAVA的Int永远都是32位。不像c++可能是16,32,可能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦。

高性能

JIT(JUST IN TIME)即时编译。将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使JAVA程序的执行效率大大提高,某些代码甚至接待c++的效率。随着这种技术的一天天完善,也许有一天会超越编译代码的效率。

分布式

JAVA是为internet的分布式环境设计的,因为他能够处理tcp/ip协议。事实上,通过url访问一个网络资源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI,remote method Invocation),使程序能够通过网络调用方法。

动态性

就是在需要时将某些代码添加到正在运行的程序中。反射机制。当需要把某些代码添加到正在运行的程序中时,动态性是一个非常重要的特性。Java的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的

多线程

多线程的使用可以带来更好的交互响应和实时行为。多线程的简单性是Java成为主流服务器端开发语言的主要原因之一。

安全性

Java适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以构建防病毒,防篡改的系统。

健壮性

Java是一种健壮的语言,吸收了C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)。Java程序不可能造成计算机崩溃。Java系统仔细检测对内存的每次访问,确认它是合法的,而且不致引起任何问题。不过,即使Java程序也可能有错误。如果出现某种出乎意料之事,程序也不会崩溃,而是把该例外抛弃。再通过异常处理机制,程序就会发现这类例外,并加以处理。

JAVA三大版本的区别

SUN公司推出了JAVAEE、JAVASE、JAVAME适应各种不同平台上的开发和运行工作。我们以后的学习会围绕他们开展起来。

JAVA语言的发展史_第1张图片

• J2EE (JAVAEE)

– Java 2 Enterprise Edition:

– 定位在服务器端的应用

• J2SE (JAVASE)

– Java 2 Standard Edition

– 定位在个人计算机上的应用

• J2ME (JAVAME)

– Java 2 Micro Edition

– 定位在消费性电子产品的应用上。

你可能感兴趣的:(JAVA语言的发展史)