站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题Java综述

Java综述

摘要: Java综述



  Java是在1991年由Sun公司James Gosling Patrick Naughton、Chis Warth、Ed Frank以及Mike Sherindan等组成的“STAR7”小组所构想出来的,于1995年5月正式推出。

  在使用时,我们发现Java超越了工程师的想象,信息世界的发展,特别是Internet的浪潮使她成为浪尖的弄潮儿。 Java包含着两种意义:Java语言和Java计算平台。


  ■Java语言


  从语言角度来看,Java具有下列特色:

  ·简单 Java继承了C/C++的语法,丢弃了其中不常用又容易引起混淆的功能,特别是非面向对象的内容,增加了垃圾收集等简化程序复杂度的功能。因此完成同样工作的C/C++程序与Java程序相比要庞大得多。

  ·面向对象 Java是一种纯面向对象的语言,具有封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)的特性,可以被用于面向对象这种现代软件工程。

  ·面向网络 Java对网络有非常强大的支持。Internet 让Java声名大噪,使之成为一种广为人知的计算机语言。同时,Java也对Internet有着极为深远的影响,因为它加大了网络世界的对象中能够自由移动的空间。

  ·解释执行 Java的设计者设计Java的主要目的就是希望可以做到“编写一次,到处运行”。Java写成的源代码被编译成高阶的字节码,它们与机器架构无关。然后,这种字节码在任何Java的运行环境中由Java虚拟机解释执行,保证了Java的与平台无关性和可移植性。解释执行与及时编译技术的完美结合,提供了相当高的运算性能。

  ·强固性 Java是一种非常注重形态转换的语言,所以在编译时期就会做形态转换检查,在执行时期,Java也会做一些形态上的检查。由于Java解释器会做自动的垃圾收集(Garbage Collection),这里的垃圾指一些不会被再使用的对象,所以程序设计者不需费心,内存会被自动地管理。Java本身提供了许多面向对象的例外处理(Exception),所以程序在执行时期所发生的错误,都可以由程序自己来处理。

  ·安全性 Java设计时对系统的安全,特别是网络安全做了周密的考虑。通过字节码验证、内存调用方式、资源使用权限等进行多层次的安全管理。Java被认为是在任何系统上最安全的应用程序之一。

  ·可携性 为了达到真正的与机器架构无关,Java做了可携带性的规范,如:整数永远是32位的整数、浮点数永远是32位的浮点数、GUI包括了抽象的窗口系统(AWT)和纯Java写的JFC,因此它与操作系统(如:UNIX、Windows、Mac等)无关。

  ·多线程性 Java能处理比进程更小的线程,因此可以很容易地在一个Java应用里同时做多个任务。

  ·动态性 Java可以让你在执行时动态地调用所需的模块。


  ■Java计算平台


  Java计算平台包括两部分:

  ·Java虚拟机(JVM) JVM是一种抽象化的计算机,可以在它上面执行Java的字节码。它本身的设计原则是 “小而简单”,目的是为了尽可能在所有机器上都能安装。这样的精简原则,使得它能够在现有的各种平台上都可以顺利执行,针对异种网络的环境,它可以解决不少可携带性的问题,并且如其名称所示,目前它已逐步迈向完整的计算机和电子消费类产品,如:Java电话、Java呼机、Java传真机、Java PDA、Java智能卡及各种Java家电。

  ·Java API 相当于Java的函数类库,分为基本核心类库(CORE API,一般包括在JDK中)和各种外加功能的扩展类库 。

  由于Java的可携带性和可扩展性,Java可以适用于包括计算机在内的各种不同的电子产品上。我们把Java的应用环境(JAE=JVM+Java API) 从小至大分成不同层:

  Java CARD→Embeded Java→Personal Java→Java JAE

  其中

  Java CARD:顾名思义,用于智能卡的JAE,针对智能卡的资源特性和智能卡的国际标准,提供了与之相关的API,如通信方式、安全模式。Java CARD适用资源是:ROM为16kB,RAM为512kB,PROCESSOR 300KIP 。

  Embedded Java:对于低端的电子设备,如蜂窝电话、呼机、打印机、复印机、传真机等,它的适用资源是:ROM
  Personal Java:主要针对家用,办公或移动的消费类网络设备,如:WebPhone、顶置盒、Internet TV、个人数字助理(PDA)、移动电话、车载巡航仪等,它除了包含Embedded Java的API以外,增加了对Personal AWT、Applet的支持。Personal Java的适用资源是:ROM
  Java JAE:这就是我们通常所用的运行在计算机上的Java运行环境,适用于从网络计算机、台式机、服务器到Mainframe的各种设备,对资源的最低要求:ROM为4~8MB,RAM>4MB,PROCESSOR:32 bits,大于100MHz。我们可以根据应用的要求使用不同的Java API。

  以上不同的Java应用环境都是向上完全兼容,即Java CARD的应用也可以跑在任何一个其他的Java环境中,由此大大增加了Java开发的灵活性。


  ■Java 2


  1998年12月8日,Sun的最新一个关键版本的Java Software Development Kit正式发布,择其命名为Java 2,而不是延续先前的JDK1.0,JDK1.1的惯例称为JDK1.2。Java 2不仅仅是一个JDK的升级版本,而且还是完善的Java平台 。

  JDK从1995年200个API到今天的1600个API,Sun公司的工程师们与业界通力合作,发放了近200个Java软件的许可证,拥有几十万名Java开发者,有了Java 2平台,开发者们可以更好地利用Java技术。

  Java 2清楚地定义了组成Java企业平台的核心技术。从程序员来说,不管是小到智能卡,还是大到Mainframe,都意味着15个核心API,这15个核心API构成了整个Java技术的灵魂:Applet、AWT、Beans、IO、Lang、Math、Net、Rmi、Security、SQL、Text、Util、Accessibility、Swing和CORBA。

  与以往的JDK比较,Java 2平台提供了更多的好处,如更灵活的安全模式、更好的性能、与其他企业级系统的互用性、应用开发更容易、全球化的提高以及强健的跨平台性等。

  Java2平台的新功能如下:

  ·Java安全模式 大家都知道Java采用“沙箱”(Sandbox)方式对安全做了严格的限制,最初的“沙箱”使得applet不能对客户端资源做任何操作,只有用数字签名方式确认是可信的才开放所有资源,未经确认的,则不允许本地操作。这种安全模式很难适应网上电子商务的技术要求。

  Java 2扩展了“沙箱”方式,提出了一种新的企业级安全模式,采用Domain等技术,可以让开发者或网络管理者综合、灵活、细致地全面控制在几乎各个方面的安全:Applet、Component、Servlet、Application、Data。

  用户可以通过定义不同的策略来控制用户、组和应用程序,让他们对系统资源有不同级别的存取权限,Java 2提供3个GUI工具:Policy Tool可以创建或修改各种安全策略;Key Tool管理密钥(public/private key)和数字签名证书;JARsigner对分布式的Java程序进行数字签名或校验。

  Java 2的这种新的安全模式,能更好地符合了现代IT组织的安全需求,为企业级分布式的应用开发提供了安全保证,如下图所示:

  ·性能的提高 解释执行的机制令Java的运行速度一直是关注的焦点,Java 2中为此做了大量的优化工作,使Java的运行性能有了可观的提高,基本接近了C++程序的速度。这些优化工作包括:Solaris操作系统上对本地线程的直接支持,充分利用了操作系统的对资源的使用;调用Class时,对所占内存做了压缩;更快的内存定位,并提高了垃圾收集的效率;JVM的“Pluggable”架构可以插入其他虚拟机,如:即将推出的高性能Java HotSpot虚拟机;新的及时编译的编译器;Java可通过JNI(Java Native Interface)调用其他语言的代码。

  ·Java Foundation Classes(JFC) JFC包括一系列预先写好的100%纯Java的GUI组件和API,可用于快速开发多功能的Java程序。JFC在JDK1.1时已作为扩展API存在,它的主体是深受大家喜爱的Swing。JFC现已是Java 2的核心API,包括:Swing(非常漂亮的完全由Java丰富的GUI组件);Drag & Drop(独立于平台的实现可以把一个应用的对象拖拉至另一个应用);Java 2D图形API(扩展了Java.awt、Java.awt.image类)以及新的Accessibility API。

  Java 2同时又提高了全球化的功能,如:输入法的框架,支持日语、中文、韩文等的输入;用Java 2D API显示输出复杂的、高质量的的文字。Java 2带有给浏览器安装的Java Plug-in,使现有的浏览器能有一个完全与之兼容的Java运行环境 。

  ·Java IDL API CORBA是分布式对象计算的工业标准,Java IDL根据其标准与之相接,运行环境包含完全兼容的Java ORB。这样,Java能够很自然地融入CORBA体系。

  JDBC 2.0:新的JDBC 2.0支持SQL3,增强了性能和稳定性。

  Y2K: Java 2已经解决了2000年问题,Sun公司基于其一贯的开放式标准的原则下,在推出Java 2的同时,简化了Java的许可证模式,开放了Java的源代码,非商业用户甚至可以免费使用Java 2的源代码。

  Sun公司在不断完善Java平台的同时,一直致力于推出各种Java新技术,如Sun推出了Jini这种基于Java的分布式计算环境,最大限度地简化了对网络的操作,使用户可以像使用电话一样使用各种网络上的Jini设备。

  同样在一些大型的关键事务处理的应用中,Sun推出Enterprise JavaBeans(EJB)这种企业级Java技术,让EJB Server和EJB Container提供各种系统的保证,应用开发者只需把精力集中在商业逻辑上,甚至只需利用其他EJB开发商开发的EJB就可以很快开发出高性能的应用来,并能灵活地在不同平台、不同后台数据库的环境下实施。
↑返回目录
前一篇: Java:嵌入网络的核心
后一篇: Java语言中链表和双向链表的实现