1.可移植性、跨平台性:java语言编写的应用程序在不同的平台(操作系统)都可以运行,是因为在不同的系统上安装了对应的jvm(java virtual machine)java虚拟机,说明了java是跨平台,而jvm可不是跨平台的。
2.面向对象:java是纯面向对象的,《Java编程思想》中提到Java语言是一种“Everything is object”的语言,它能够直接反映现实生活中的对象,例如车、动物等,因此通过它编写程序更容易。面向对象的特征是封装、继承、多态,因为这个特征使得我们java开发的应用程序更符合开发的原则:高内聚,低耦合。
3.简单性:
(1)它借鉴了C和C++的语法特征,所以我们更容易的掌握java语言的语法。
(2)对C++来说进行了简化和一定的提高,如:使用接口代替了复杂的多重继承以及取消了指针,还通过实现垃圾自动回收机制,大大简化了程序员的资源释放管理工作。
(3)提供了丰富的类库和API文档,以及第三方开发包工具包,使我们学习更加便捷简单。
4.安全性:
(1)强类型语言
(2)取消了指针,有效避免了非法操作内存
(3)异常处理机制,程序员可以把某些可能出现错误的代码,进行异常检查。
5.编译性和解释性语言:将.java文件编译为字节码class文件,然后jvm将字节码文件解释为具体平台的机器指令。
6.多线程:进程是操作系统中分配内存资源的最小单位,每一个进程可以同时拥有两个或更多的线程,让它们并发执行。它提供了Rannable接口和他的实现类Thread,并提供了大量的方法来控制线程的运行,以及线程的同步控制。
7.分布式:操作分布指的是在多个不同的主机上不知相关操作,数据分布是将数据分别存放在多个网络中不同的主机上,借助的是URL(统一资源定位符)对象访问网络对象。
8.开源、动态、健壮性、高性能等等。