|
Java的主要优势
跨平台性 (Write Once, Run Anywhere)
Sun把跨平台性作为Java平台的核心因素之一;从商业角度来看,你只需要为Java平台编写一次软件,之后你可以在任意支持Java平台的机器上使用;对于Java的支持已经被集成或正被集成到所有的操作系统之中、几乎世界上每台机器都安装了的互联网浏览器之中,以及民用的电子装置如电视机顶盒、数字个人助理和蜂窝电话中,这使得Java的跨平台性得到了确保;微软之所以对Java感到恐惧正是因为Java的应用程序解脱了用户对于操作系统的依赖。
安全性 (Security)
Java的另外一项主要优势就是安全性,Java语言和Java平台都在开发之初就考虑到安全性
。Java平台允许用户通过网络下载未经确认的程序并在一个安全的环境内执行它,避免了这个程序对系统造成任何破坏(如病毒、读取/写入硬盘文件)。
Java 2平台在此基础上更进一步,它使得安全水平和限制更加灵活,并且不仅限于applet,对于Java
1.2而言,无论是applet, servlet, JavaBeans component,
或者一个完整的Java应用程序,都可以在限制的许可范围内运行,防止了他们对系统的侵害。
正因为Java对于安全性的承诺,任何一个小的安全漏洞都将成为头条新闻;目前没有任何一个主流平台可以像Java那么强悍,如果说Java的安全性还不是完美的,事实已经证明了它足以应付日常的应用,并且比任何其他选择更加优秀。
以网络为中心的编程 (Network-centric
Programming)
Sun的座右铭一贯是“网络就是计算机”。Java的开发者坚信网络的重要性,并以网络为中心设计Java。从程序员的角度来看,Java使得与网络资源打交道、利用客户/服务器或者多层结构开发以网络为基础的应用程序变得异常轻松。
动态、可扩展的程序 (Dynamic, Extensible
Programs)
Java是动态的,可扩展的。Java的源代码是以面向对象(Object
Oriented)的称为class的单元组成。class储存在单独的文件中,当需要时才被Java编译器导入。这表明程序可以在执行的时候决定它需要用到哪个class并在需要的时候导入这个class,同时程序也可以通过导入class来动态的扩展自己。
以网络为中心的编程意味着Java程序可以通过网络导入class来动态的扩展自己。具有这种优势的程序往往可以避免成为如同猛犸的冗长代码,而是一些独立的交互的程序组件。由此,Java揭示了程序设计与开发的新模式。
国际化 (Internationalization)
Java语言和Java平台从一开始就考虑到非英语的世界。对于国际化的支持自始至终贯彻于Java的核心。当大多数其他编程语言使用8
bit的字符代表英文和西欧的语言时,Java使用16
bit Unicode来代表几乎世界上的所有文字,当然Java的国际化支持并不仅限于支持多国文字的初级水平。这一特性使得用Java来编写国际化的程序比使用其它任何一种语言都更容易。
性能 (Performance)
Java程序编译成为一种可移植的(portable)中间格式称为byte
codes,而非可以被计算机直接执行的机器代码。Java虚拟机通过解释(编译一条语句、执行一条语句)这些byte
codes来执行Java程序。这一结构使得Java程序的速度快于用解释源代码的语言所写的程序和脚本,但是比C和C++的本机应用程序(专门为特定类型的处理器涉及的程序,即与处理器二进制兼容的程序)速度慢。要记住一点,尽管Java程序编译成byte
codes,但Java平台并非全部由翻译的byte
codes组成,考虑到效率,使用率极高的部分如处理字符串的method都以机器代码的形式实现。
尽管早期版本的Java性能很差,但是Java虚拟机每次版本更新时速度都有戏剧性的提升。Java虚拟机已经被精心的调整和优化。同时一种执行中编译(Just-in-time)的的编译器可以在执行时毫无停顿的把Java
byte codes转化为机器代码。使用这种复杂的执行中编译的编译器,Java程序的速度可以与C和C++相媲美。
Java是可移植的、解释性编程语言,Java程序的性能可以与不可移植的C和C++的本机应用程序的性能相媲美。以前有些程序员因为性能问题而避免使用Java,现在Java
1.2使得性能不再成为Java的弱项,并且没有其他任何一种语言可以把可移植性和性能结合的如Java一样完美。
程序员效率和开发时间 (Programmer
Efficiency and Time-to-Market)
最后,也是最重要的使用Java的原因是程序员喜爱Java。Java是一种出色的语言,结合了很多精心设计、功能强大的应用程序编程接口(API)。程序员喜爱用Java编程,而且很快可以看到成果。研究表明改用Java可以提高程序员的效率。因为Java简单而出色,加上出色的应用程序编程接口,程序员可以在更短的时间内开发出更优秀的软件。
编译自:Java In A Nutshell
|