平台无关性
软件的运行不因操作系统处理器的变化而导致程序无法运行。
面向对象
Java语言将数据封装于类中,是完全面向对象的。
简单性
Java语言自身小巧,对硬件要求低,只需要理解一些基本概念,就可以编写适合于不同情况的应用程序。在Java语言中略去了运算符重载、多重继承等概念,并实现了垃圾自动收集,大大简化了程序设计者的内存管理工作。
安全性
Java语言舍弃了C++指针对存储地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针群侵入系统,也避免了指针操作产生的错误。
分布性
Java语言是面向网络的语言,提供了丰富的类库来处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象。
健壮性
Java语言在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集进行内存管理,防止了内容丢失等动态内存分配导致的问题。Java不支持指针,从而防止了对内存的非法访问。
解释型
不针对CPU进行编译,而是把程序编译成很接近机器码的“中间代码”(即字节码文件),由JVM解释和执行。
多线程
Java语言支持多线程,允许多个线程共存于同一个内存块中,且共享资源。