Java 的特性和优势
跨平台/ 可移植性
这是 Java 的核心优势。Java 在设计时就很注重移植和跨平台性。比如:Java 的 int 永远
都是 32 位。不像 C++可能是 16,32,可能是根据编译器厂商规定的变化。这样的话程序的
移植就会非常麻烦。
安全性
Java 适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,
使 Java 可以很容易构建防病毒,防篡改的系统。
面向对象
面向对象是一种程序设计技术,非常适合大型软件的设计和开发。由于 C++为了照顾大
量 C 语言使用者而兼容了 C,使得自身仅仅成为了带类的 C 语言,多少影响了其面向对象
的彻底性!Java 则是完全的面向对象语言。
简单性
Java 就是 C++语法的简化版,我们也可以将 Java 称之为“C++-”。跟我念“C 加加减”,
指的就是将 C++的一些内容去掉;比如:头文件,指针运算,结构,联合,操作符重载,虚
基类等等。同时,由于语法基于 C 语言,因此学习起来完全不费力。
高性能
Java 最初发展阶段,总是被人诟病“性能低”;客观上,高级语言运行效率总是低于低级
语言的,这个无法避免。Java 语言本身发展中通过虚拟机的优化提升了几十倍运行效率。比
如,通过 JIT(JUST IN TIME)即时编译技术提高运行效率。 将一些“热点”字节码编译成本地
机器码,并将结果缓存起来,在需要的时候重新调用。这样的话,使 Java 程序的执行效率
大大提高,某些代码甚至接待 C++的效率。
因此,Java 低性能的短腿,已经被完全解决了。业界发展上,我们也看到很多 C++应
用转到 Java 开发,很多 C++程序员转型为 Java 程序员。
分布式
Java 是为 Internet 的分布式环境设计的,因为它能够处理 TCP/IP 协议。事实上,通过
URL 访问一个网络资源和访问本地文件是一样简单的。Java 还支持远程方法调用(RMI,
Remote Method Invocation),使程序能够通过网络调用方法。
多线程
多线程的使用可以带来更好的交互响应和实时行为。 Java 多线程的简单性是 Java 成为
主流服务器端开发语言的主要原因之一。
健壮性
Java 是一种健壮的语言,吸收了 C/C++ 语言的优点,但去掉了其影响程序健壮性的部
分(如:指针、内存的申请与释放等)。Java 程序不可能造成计算机崩溃。即使 Java 程序
也可能有错误。如果出现某种出乎意料之事,程序也不会崩溃,而是把该异常抛出,再通过
异常处理机制加以处理。