1.5 Java和其他语言比较
本节简要列出 Java 平台和其他你可能熟悉的编程环境之间的重要不同点。
1.5.1 Java和C语言比较
Java 面向对象,C 面向过程。
Java 通过类文件实现可移植性,C 需要重新编译。
Java 为运行时提供了全面的监测程序。
Java 没有指针,也没有指针相等性运算。
Java 通过垃圾回收提供了自动内存管理功能。
Java 无法从低层布局内存(没有结构体)。
Java 没有预处理器。
1.5.2 Java和C++比较
Java 的对象模型比 C++ 简单。
Java 默认使用虚分派(virtual dispatch)。
Java 始终使用值传递(不过 Java 中的值也能作为对象引用)。
Java 不完全支持多重继承。
Java 的泛型没 C++ 的模板强大(不过危害性较小)。
Java 无法重载运算符。
1.5.3 Java和PHP比较
Java 是静态类型语言,PHP 是动态类型语言。
Java 有 JIT,PHP 没有(PHP 6 可能会有)。
Java 是通用语言,PHP 在网站技术之外很难见到。
Java 支持多线程,PHP 不支持。
1.5.4 Java和JavaScript比较
Java 是静态类型语言,JavaScript 是动态类型语言。
Java 使用基于类的对象,JavaScript 使用基于原型的对象。
Java 提供了良好的对象封装,JavaScript 没有提供。
Java 有命名空间,JavaScript 没有。
Java 支持多线程,JavaScript 不支持。
