·半编译半解释? √系统先将用户输入的指令翻译成一种通用的,比较规则的中间形 式的代码,保密性强,运行时则由所在机器的解释器进行解释 √java语言的开发效率高,但执行效率低。(相当于c++的 55%) Source Code puble class HalloWorld public ste void mainString arg) Naf学achine古Cada Syster.out printnHello Wond) Compiler 广Interprte Class File Load Java Virtual Bylecode Machine 1.5平台无关性 平台无关性? 何谓平台:即一套特定的硬件再加上运行其上的操作系统,即硬件十软件。编程 语言对不同平台的支持有所不同。(VB、C/C+、Java) Java完全不用修改任何源代码,也不用重新编译就可以直接移植到其他平台。 √Java的平台无关性给程序的部署带来了很大的灵活性,节约开发和升级成本。 怎样理解平台无关性呢?JVM(java Virtual Machine)起到了主要作用。JM是运 行在平台之上的程序,它能够虚拟出一台目标机,所有字节码就是在虚拟出的目 标机上运行。 程序不可能在所有的平台上都可以运行:(1)因为不同平台的内存管理模式和 CPU的指令集等都有很大的差别。(2)为了让java实现平台无关性,Sun公司在不 同平台上用软件模拟出虚拟目标机,虚拟出CPU指令集和内存。(3)因此虽然平 台间的差异比较大,但是虚拟出来的JVM是完全一样的。(4)Java的字节码仅仅 运行在JVM上,不会和平台的底层直接打交道。(5)JM根据平台的不同,把字节 码解释成不同的本地代码(6)JVM就像翻译,把通用的普通话翻译成不同地方特 色的方言。 √但是有一个缺点:java代码必须要经过JVM解释才能运行,使得java运行的效率降 低。 √WORA:Write Once,.Run Anywhere(一次编写,到处运行) JVM内存模型1.5 平台无关性 JVM 内存模型