1、简单性


Java构建了一个无须深奥的专业训练就可以进行编程的系统。简单的另一个方面是小,Java的目标之一是支持开发能够在小型机器上独立运行的软件。


2、面向对象


简单地讲,面向对象设计是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。


3、分布式


Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。


4、健壮性


Java编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。


5、安全性


Java 设计成能够防范各种攻击,其中包括:


  • 运行时堆栈溢出。 如蠕虫和病毒常用的攻击手段。
  • 破坏自己的进程空间之外的内存。
  • 未经授权读写文件。

6、体系结构中立


编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有 Java 运行时系统,这些编译后的代码可以在许多处理器上运行。Java 编译器通过生成与特定的计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。


7、可移植性


在 Java 中,数据类型具有固定的大小,这消除了代码移植时令人头痛的主要问题。二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰。字符串是用标准的 Unicode 格式存储的。


8、解释型


Java 解释器可以在任何移植了解释器的机器上执行 Java 字节码。


9、高性能


字节码可以(在运行时刻)动态地翻译成对应运行这个应用的特定 CPU 的机器码。


10、多线程


多线程可以带来更好的交互响应和实时行为。


11、动态性


Java 能够适应不断发展的环境,库中可以自由地添加新方法和实例变量,而对客户端却没有任何影响。在 Java 中找出运行时类型信息十分简单。