Java平台的理解(JDK和JRE的区别)

Java是一种面向对象的编程语言,相比其它编程语言有两大显著特性:
一、“书写一次,到处运行”,有强大的跨平台能力。
二、通过垃圾收集器(GC)回收分配的内存,大多数情况,程序员不需要操心内存的分配和回收。
在日常开发过程中,我们经常会接触到JDK、JRE:
JDK(Java Development Kit)是java的核心,包含了JRE、Java工具(javac、java等)、java基础的类库(Java API),提供了Java的开发环境和运行环境,面向开发人员,使用javac.exe将程序代码编译为.class文件。
JRE(Java Runtime Environment)是java运行环境,包含了JVM(java虚拟机)和JVM工作所需的类(lib),面向程序使用者。
JVM(Java vritual machine)是java虚拟机,是java程序实现跨平台的核心,java程序先被编译为.class文件,这种类文件经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。

关于“Java是解释执行”的说法不全然正确。虽然大部分情况下Java虚拟机解释执行通过javac编译好的字节码文件,但是我们大多数使用的Hotspot JVM提供了JIT(即时编译)编译器,能够将在运行的热点代码编译成机器码,这部分热点代码属于编译执行的。

你可能感兴趣的:(JAVA)