[面试经] 对Java平台的理解

1. Java “compile once, run anywhere”一次编译,到处运行,说的是Java语言的跨平台特性,java的跨平台特性与Java虚拟机的存在密不可分,可在不同的环境中运行。不同的系统平台都有对应的JDK,比如windows,安装好JDK,就有了Java的运行环境。Java可以跨平台运行就是因为不同的平台都有Java语言运行的环境而已,所以才有了编译一次,到处运行。 

程序从源代码到运行的阶段为:编码--编译--运行--调试,Java在编译阶段体现了跨平台的特点,首先将Java源代码转化为.class 字节码文件,这是第一次编译,.class文件就是可以到处运行的文件,然后在JVM中的解释器会将Java .class 字节码文件转化为目标机器代码,这是第二次编译。“到处运行”的关键就是JVM,因为第二次编译中,JVM起着关键作用。

另外,JVM作为一个强大的平台,不仅仅只有java语言可以运行在JVM上,本质上合格的字节码都可以运行,Java语言自身也为此提供了便利,我们可以看到类似Clojure/Scala/Groovy/JRuby/JPython等大量JVM语言,活跃在不同的场景。

2. Java特性

面向对象(封装,继承,多态)

平台无关性(JVM运行.class 文件)

语言特性(泛型,lambda)

类库(集合,并发,网络,IO/NIO)

JRE(Java运行环境,JVM,类库)

JDK(java开发工具,包括JRE,javac,诊断工具)

猜你喜欢

转载自www.cnblogs.com/tingtwang/p/11132127.html