一、简单性
1、java是一个十分简单的语言,删去了头文件,指针运算,结构等内容 2、另外java也是个很小的语言最小的内核仅仅几百KB
二、面向对象
非面向对象需要去思考用什么工具来实现产品而面向对象会去分析这个产品在考虑什么工具可以达成(主打从对象到对象)
三、分布式
java有一个很丰富的处理网络请求的库
四、健壮性
java十分注意早期就能将错误检查出来,不像cpp直接对内存处理很可能导致其它内存数据损坏而不自知。
五、安全性
java主要用于网络、分布式环境,它对堆栈以及内存都提供了各种安全策略,并将不信任的文件置于沙箱中运行。
六、中立性
他可以在任何系统上运行,只要上面装了java虚拟机。虚拟机是解释型的,但是也有一个选项可以把最频繁的代码转化为机器码
七、可移植性
举个例子:在cpp上int有16位也有32位(随硬件),而java的运行环境jvm只有指定32位。这一点除了在用户界面没有达成目的以外,其他地方都达成了目标。
八、解释性
与上文讲到的jvm有关
九、高性能
在各种的优化下已经可以和传统编译器媲美甚至超越。
十、多线程
就目前而言单核性能的突破已经快到尽头了,多核就要关注并发性
十一、动态性
当编译器或解释器在编译阶段做类型检查还是在运行阶段做类型检查来定义编程语言是动态类型或静态类型。Java是静态语言(必须声明再使用),但是有动态特性(静态:一次编译定所有,改变只能重新编译。动态:能动态的在运行时可以根据具体情况进行调整和改变)(多态、反射等能够体现);