关于作者

 一个毕业于北京大学数学力学系,在中国科学院计算所、计算中心和网络中心工作过,在澳大利亚科工组织DMS、香港浸会学院数学系和中国21世纪议程管理中心等处工作过,多次获国家和中科院科技奖并享受政府特殊津贴的退休老头。现在在【中国科普博览】网“科学新语林”栏目里开设一个《数学与计算机》的个人专栏,愿和爱好数学与计算机的各界网友和青少年朋友,谈谈对数学与计算机的看法、想法。

网络编程语言JAVA

张建中
2014年07月01日

9.网络编程语言JAVA

Java是计算机公司Sun?Microsystems1995年推出的一种计算机编程语言,是Java程序设计语言和Java平台的总称,具有简单、面向对象、分布式、解释型、健壮、安全、体系结构中立、可移植、高性能、多线程和动态等诸多特性。
计算机1以前,Java只是印度尼西亚爪哇岛的英文名称,该岛因盛产咖啡而闻名。Java作为Sun公司的一种计算机语言的名称,其标识如上图所示,是一杯正冒着热气的咖啡,而该语言中的许多库类名称也多与咖啡有关:如Java?Beans(咖啡豆)、Net?Beans(网络豆)以及Object?Beans(对象豆)等等。
Java自诞生之日起,就以其独有的开放性、跨平台性和面向网络的交互性席卷全球,并因安全、易用、开发周期短而迅速从最初的编程语言发展成为全球第二大的软件开发平台。常用的计算机语言很多,比如C、C++、Java、Fortran、Pascal等,但除了Java可广泛应用于不同平台外,其他语言都受到操作平台类型的限制,这就是Java之所以受人喜爱和广泛流行的原因。
Java技术应用甚广。在因特网上,几乎每个网页都包含有Java程序或代码。将来,每个家庭、每个人的生活中都可能遇到随处可见的Java身影。
由于Java注重的是与平台的无关性,因此Java编译器所生成的代码是一种可移植的中间代码,使用我们通常称之为虚拟机的方式来运行,借以达到“Write?once,run?any?where”的终极目标。
Java技术广泛应用于PC、数据中心、游戏控制台、超级计算机、移动电话和互联网等各个方面,同时拥有全球最大的开发者的专业社群。在全球云计算和移动互联网的产业环境下,Java更加具备了显著的优势和广阔的前景。
Java的开发环境有不同的版本,如Sun公司的Java?Developers?Kit,简称JDK。后来微软公司推出了支持Java规范的Microsoft?Visual?J++?Java开发环境,简称VJ++

Java的特点

1.平台无关性
平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现于不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(Java?Virtual?Machine)是建立在硬件和操作系统之上的,能够实现Java二进制代码的解释执行功能,并提供不同平台的接口。
2.安全性
Java的编程类似C++,学习过C++?的读者能很快掌握Java的精髓。Java舍弃了C++?的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。
3.面向对象
Java收了C++?面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性就可反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,程序员经常会使用到它及其派生的子类。
4.分布式
Java建立在扩展TCP/IP的网络平台上。库函数提供了用HTTPFTP协议传送和接受信息的方法。这就使得程序员使用网络上的文件和使用本机文件一样容易。
5.健壮性
Java致力于检查程序在编译和运行时的错误。类型检查能够帮助检查出许多开发早期出现的错误。Java自已操纵内存,减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发Java应用程序的周期。Java提供Null指针检测、数组边界检测、异常出口、Byte?code校验等功能。

JavaC/C++语言

Java虽然不是C++的正式续篇,但它从C++中借用了大量的语法,丢弃了很多C++的复杂功能,从而形成一门紧凑而易学的语言。不像C++Java强制面向对象编程,要在Java里写非面向对象的程序就像要在Pascal里写“空心粉式代码”一样困难。
Java提供了一个功能强大的语言的所有功能,几乎没有一点含混特征。C++的安全性不好,但CC++已经被大家接受,所以Java设计成C++形式,让大家学习起来比较容易。
Java去掉了C++语言的许多功能,让Java的语言功能更加精炼,并增加了一些很有用的功能,如自动收集碎片等。
面向对象:Java实现了C++的基本面向对象技术并有一些增强。Java处理数据的方式和用对象接口处理对象数据的方式一样。

JavaInternet

我们知道,早先的www仅可以传送文本和图片,Java的出现实现了页面的互动,是一次伟大的革命。
Java并不是为Internetwww而设计的,它也可以用来编写独立的应用程序。Java程序需要编译。实际上有两种Java程序:一种Java应用程序,它是一个完整的程序,如Web浏览器。另一种Java小应用程序是运行于Web浏览器中的一个程序
Java程序和它的浏览器Hot?Java提供了可让你的浏览器运行程序的方法。你能从你的浏览器里直接播放声音。你还能播放页面里的动画。Java还能告诉你的浏览器怎样处理新的类型文件。
当今Internet的一大发展趋势是电子商务,而Internet的安全问题是必须解决的问题,通常大的部门应设置防火墙,以阻止非法侵入。电子商务是当今的热门话题,然而传统的编程语言难以胜任电子商务系统,电子商务要求程序代码具有以下的基本要求:安全、可靠,时要求能与运行于不同平台机器的全世界客户开展业务。Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象的特点,在网络编程语言中具有无可比拟的优势,从而成为实现电子商务系统的首选语言。