java语言的发展史

转载 2007年10月07日 18:12:00

 java语言在互联网时代获得巨大成功

  1995年,美国Sun Microsystems公司正式向IT业界推出了java语言,该语言具有安全、跨平台、面向对象、简单、适用于网络等显著特点,当时以web为主要形式的互联网正在迅猛发展,java语言的出现迅速引起所有程序员和软件公司的极大关注,程序员们纷纷尝试用java语言编写网络应用程序,并利用网络把程序发布到世界各地进行运行。包括IBM、Oracle、微软、Netscape、Apple、SGI等大公司纷纷与Sun Microsystems公司签订合同,授权使用java平台技术。微软公司总裁比尔盖茨先生在经过研究后认为"java语言是长时间以来最卓越的程序设计语言"。目前,java语言已经成为最流行的网络编程语言,截止到2001年中,全世界大约有310万java程序员,许多大学纷纷开设java课程,java正逐步成为世界上程序员最多的编程语言。

  在经历了以大型机为代表的集中计算模式和以PC机为代表的分散计算模式之后,互联网的出现使得计算模式进入了网络计算时代。网络计算模式的一个特点是计算机是异构的,即计算机的类型和操作系统是不一样的,例如SUN工作站的硬件是SPARC体系,软件是UNIX中的Solaris操作系统,而PC机的硬件是INTEL体系,操作系统是windows或者是Linux,因此相应的编程语言基本上只是适用于单机系统,例如COBOL、FORTRAN、C、C++等等;网络计算模式的另一个特点是代码可以通过网络在各种计算机上进行迁移,这就迫切需要一种跨平台的编程语言,使得用它编写的程序能够在网络中的各种计算机上能够正常运行,java就是在这种需求下应运而生的。正是因为java语言符合了互联网时代的发展要求,才使它获得了巨大的成功。
java语言的产生

  任何事物的产生既有必然的原因也有偶然的因素,java语言的出现也验证了这一点。1991年,美国Sun Microsystems公司的某个研究小组为了能够在消费电子产品上开发应用程序,积极寻找合适的编程语言。消费电子产品种类繁多,包括PDA、机顶盒、手机等等,即使是同一类消费电子产品所采用的处理芯片和操作系统也不相同,也存在着跨平台的问题。当时最流行的编程语言是C和C++语言,Sun公司的研究人员就考虑是否可以采用C++语言来编写消费电子产品的应用程序,但是研究表明,对于消费电子产品而言C++语言过于复杂和庞大,并不适用,安全性也并不令人满意。于是,Bill Joy先生领导的研究小组就着手设计和开发出一种语言,称之为Oak。该语言采用了许多C语言的语法,提高了安全性,并且是面向对象的语言,但是Oak语言在商业上并未获得成功。时间转到了1995年,互联网在世界上蓬勃发展,Sun公司发现Oak语言所具有的跨平台、面向对象、安全性高等特点非常符合互联网的需要,于是改进了该语言的设计,要达到如下几个目标:

    创建一种面向对象的程序设计语言,而不是面向过程的语言;
    提供一个解释执行的程序运行环境,是程序代码独立于平台;
    吸收C和C++的优点,使程序员容易掌握;
    去掉C和C++中影响程序健壮性的部分,使程序更安全,例如指针、内存申请和释放;
    实现多线程,使得程序能够同时执行多个任务;
    提供动态下载程序代码的机制;
    提供代码校验机制以保证安全性;
  
  最终,Sun公司给该语言取名为java语言,造就了一代成功的编程语言。


java虚拟机(2)

  但是,java虚拟机的建立需要针对不同的软硬件平台做专门的实现,既要考虑处理器的型号,也要考虑操作系统的种类。如下图所示,目前在SPARC结构、X86结构、MIPS和PPC等嵌入式处理芯片上、在UNIX、Linux、windows和部分实时操作系统上都有java虚拟机的实现。

相关文章推荐

JAVA开发之 1-JAVA语言发展史

JAVA

Java初级入门之 ONE 计算机语言发展史

近来,越发觉得基础知识掌握的不牢固,在这时,恰好看到尚学堂有个免费的自学活动,本着复习的目的参加了,感觉其中一些资料值得总结,遂想写个系列来记录一下自己的回顾之路。       参考资料来自微信公...

数据结构中怎样用先根和中根以及中根和后根建立一颗二叉树(Java语言实现)

在数据结构学习的过程中我们会涉及用【先跟遍历和中根遍历】建立一棵二叉树及【中根遍历和后根遍历】建立一棵二叉树,下面说一下其Java代码的是实现: 先跟遍历和中根遍历建立一棵二叉树: // 由先根...

黑马程序员——Java语言--集合框架

———–android培训、java培训、java学习型技术博客、期待与您交流!———— 集合框架由来 对象用于封装特有数据,对象多了需要存储,如果对象的个数不确定,就是用集合容器进行存储。 集...

程序设计入门—Java语言_第四周编程作业

1素数和 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0 输入格式: 两个整数,第一个表示n,第二个表示m。 输出格式: 一个整数,...

java语言基础入门——集合框架

1、集合可以理解为一个动态的数组,这个数组长度可以任意扩充,存放内容为类的对象,而不是基本类型。 2、其结构关系为: Clloection------>List和Set ,List--------...

《java语言程序设计》笔记(一)

Chapter1 Introduction to Computers, Programs, and Java     Chapter2 Elementary Programming java是...

设计模式之简单工厂类(Java语言)

operation类,这是一个抽象类,是所有运算类的父类。抽象方法是getResult(),供子类实现从而实现具体的运算功能public abstract class Operation { /...

求最大公约数和最小公倍数(java语言)

package com.sun.maxCommonDivisorAndminCommonMultiple; /** * * @author:孙创 * @date:2017年4月10日 * ...

Java语言程序设计 学习作业2.6**分离个十百位数求和

/*     *Copyright (c) 2014, 烟台大学计算机学院     *All rights reserved.     *文件名称:main.cpp     *作者:张旺华     *...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章: java语言的发展史
举报原因:
原因补充:

(最多只允许输入30个字)