
1. 面向对象
面向对象是一种程序设计技术,他将重点放在数据(即对象)和对象之间的接口上。
2. 可移植性
Java代码或字节码,二进制码可以跨平台的移植,而不用管具体的操作系统与硬件环境。主要依托的JRE运行环境,“一次编写,随处运行”。
3. 高性能
JIT(just in time)即时编译。将一些热点字节码比那已成本地机器码,并将结果缓存起来,在需要的时候重新调用。这样,java程序的执行效率大大提高。
4. 分布式
Java是为internet的分布式环境设计的,因为它能够处理tcp/ip协议。事实上,通过url访问一个网络资源和访问本地文件是一样简单的。java还支持远程方法调用,是程序能够通过网络调用方法。
5. 动态性
就是在需要时将某些代码添加到正在运行的程序中。例如:反射机制等。当需要把某些代码添加到正在运行的程序中时,动态性是一个非常重要的特性。java 的动态性时其面向对象设计方法的扩展。它允许程序动态地装入运行过程中所需要的类。
6. 多线程
多线程的使用可以带来更好的交互响应和实时行为。多线程的简单性是java成为主流服务器开发语言的主要原因之一。
7. 安全性
java适用网络/分布式环境,为了达到这个目标,在安全性方面投入很大精力,使Java可以构建病毒,防篡改系统。
8. 健壮性
吸收了c、c++语言的有点,去掉了影响程序健壮性的部分(如:指针,内存申请与释放等)。java程序不可能造成计算机崩溃。java系统仔细检查对内存的每次访问,确认它是合法的,而且不至于引起任何问题。不过,即使java程序也有可能出现错误,如果出现某种意料之事,程序也不会崩溃,而是把该例外抛弃。再通过异常处理机制,程序就会发现这类例外,并加以处理。
1.2 Java应用程序运行机制