Java “白皮书”的关键术语
-
1、简单性
Java语法是C++语法的一个“纯净”版本。 -
2、面向对象
面向对象设计是一种程序设计技术。它将重点放在数据(即对象)和对象的接口上。
用木匠打比方
“面向对象的”木匠始终关注的是所制作的椅子,第二位才是使用的工具
“非面向对象的”木匠首先考虑的是所用的工具。
在本质上Java的面向对象能力与C++是一样的。 -
3、网络技能
Java有一个扩展的例程库,用于处理HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便携程度就好像访问本地文件一样。 -
4、健壮性
<1Java投入了大量的精力进行早期的问题检测、后期动态的检测,并消除了有出错倾向的状态。
Java和C++最大的不同在于Java采用的指针模型可以消除重写内容和损坏数据的可能性
<2.Java编译器能够检测许多在其他语言中仅在运行时刻才能够检测出来的问题。 -
5、安全性
Java适用于网络/分布式环境。并在安全方面投入了很大精力,使用Java可以构建防病毒、放篡改的系统。
Java能够防范的攻击包括: -
运行时堆栈溢出。如,蠕虫等病毒常用的攻击手段
-
在自己的处理空间之外破坏内存
-
未经授权读写文件
-
6、体系结构中立
编译器生成一个体系结构中立的目标文件格式,这是一种编译过的代码,只要有Java运行时系统,就可以在许多处理器上运行。Java编译器通过生成与特定的计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易地在任何机器上解释执行,而且还可以迅速地翻译成本地机器的代码。 -
7、可移植性
Java中的基本数据类型具有固定的大小。字符串是标准的Unicode格式存储的。
作为系统组成部分的类库,定义了可移植的借口。 -
8、解释性
Java解释器可以在任何移植了解释器的机器上执行Java字节码。 -
9、高性能
即时编译器(JIT)
JAVA程序最初是通过解释器(Interpreter)进行解释执行的,当JVM发现某个方法或代码块运行特别频繁的时候,就会认为这是“热点代码”(Hot Spot Code)。
为了提高热点代码的执行效率,就会将这些“热点代码”编译成与本地机器相关的机器码,进行各个层次的优化。 完成这个任务的编译器就是即时编译器(JIT)。 -
10、多线程
多线程可以带来更好的交互响应和实时行为 -
11、动态性
从各种角度来看,Java比C或C++相比更加具有动态性。它能够适应不断发展的环境。库中可以自由地添加新方法和事例变量,而对客户端却没有任何影响。
在Java中找出运行时类型信息十分简单
Java applet与Internet
用户从Internet下载Java字节码,并在自己的机器上运行,在网页中运行Java程序成为applet,为了是用applet,需要启用Java的Web浏览器执行字节码。
网友评论