- 简单性(Simple)
- 风格和C++很像,基本语法和C很像,但是摒弃了C++容易引发错误的地方,如指针、内存管理、头文件等。
- 提供了丰富的类库。
2.面向对象(Object-Oriented)
- 简单的来说,面向对象设计就是一种程序设计技术。它将重点放在了数据(也就是对象)和对象的接口上。
3.分布式的(Distributed)
- Java是针对Internet的分布式环境而设计的,所以它包含了一个支持HTTP和FTP等基于TCP/IP协议的子库,它能处理TCP/IP协议。Java应用程序可以凭借URL打开并访问网络上的对象。实际上使用URL访问资源与访问文件没有什么太大的区别。
4.解释的(Interpreted)
- Java解释器可以在任何移植了解释器的机器上Java字节码。现在使用即时编译器将字节码翻译成机器码。
5.健壮的(Robust)
- Java是强制类型的语言,它不仅在运行时检查代码,还在编译时就检查代码,消除有出错倾向的状态。
- Java自己操纵内存,减少了内存出错的可能性。(垃圾回收功能)
- 实现了真数组,避免了覆盖数据的可能。
6.安全性(Secure)
- 指针和释放内存等C++功能被删除,避免了非法内存操作。
- 当Java用来创建浏览器时,语言功能和一些浏览器本身提供的功能结合起来,使它更安全。
7.结构中立的(Architecture-neutral)
- 编译器生成一个体系结构中立的高层次的与机器无关的byte-code格式语言,被设计在Java虚拟机上运行。这是一种编译过的代码,只要有Java运行时系统,就可以在许多处理机上运行。解释字节码会比全速运行机器指令慢很多,但是虚拟机有一个选项,可以将使用最频繁的字节码序列翻译成机器码,这一过程被称为及时翻译。
8.可移植的(Portable)
- Java定义了独立于平台的基本数据类型及其运算,消除了代码移植时让人头痛的主要问题。二进制数据以固定的格式进行存储和传输,消除了字节顺序的困扰。
9.高性能的(High-Performance)
- Java通过使用及时编译器,可以很容易的将字节码转换为运行这个应用程序的特定CPU的机器码。
10.多线程的(Multi-Threaded)
- 多线程可以提供更好的交互性能和实时控制性能。Java的设计目标之一是满足对创建交互式、网络化程序的现实需求。只需要考虑程序的特定行为,而不需要考虑多任务子系统。
11.动态的(Dynamic)
- Java的动态性是其面向对象设计方法的拓展,它允许程序动态地装入运行过程中所需要的类。