Java“白皮书”关键术语
一、简单性:大胆剔除了c++中的不合理的地方、或者说是不方便的地方。Java里没有头文件、指针运算、结构、联合、操作符重载虚基类等。
二、面向对象:面向对象设计是一种程序设计技术,它将重点放在数据(即对象)和对象的接口上。Java面向对象的特性与c++旗鼓相当,但Java的不同点在于多重继承,Java中取而代之的是更简单的接口概念。与c++比,Java提供了更丰富的运行时自省功能。
三、分布式:Java有一个丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。能够通过URL打开和访问网络上的对象,方便程度就像打开本地文件一样!
四、健壮性:Java与c 、c++相比Java采用的指针模型可以消除重写内存和损坏数据的可能性。
五、安全性:可构建防病毒、防篡改的系统。
Java能抵御各种攻击,包括:
运行时堆栈溢出,这是蠕虫和病毒常用的攻击手段
破坏自己进程空间之外的内存。
未经授权读写文件
六、体系结构中立:
编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要在有Java运行时系统,可以在许多处理器上运行。
七、可移植性:大多数编译器产生的代码只能在一种cpu上运行,即使支持多种cpu的编译器也不能同时长生适合多种cpu的目标代码。
但Java编译器不同,Java编译器产生的目标代码放在JVM中运行,JVM掩盖了不同cpu的差距。
八、解释型:
jshell
Java解释器可以在任何移植了解释器的机器上直接执行Java字节码。
九、高性能:
尽管解释后字节码性能已经比较满意,但在有些场合下还需要更高的性能,
字节码在运行时可以转换成对应运行这个应用的特定cpu的机器码
十、多线程:
带来更快的交互形式响应和实时行为
十一、动态性:
Java与c/c++相比更具有动态性。它能够适应不断发展的环境,库中可以自由的添加新方法和实例变量,而对客户端没有任何影响,在Java中找出运行时类信息十分简单。
以上内容来自Java核心技术卷中,写这篇博客也是为了记忆和更好的学习Java