Java--平台版本、跨平台、JVM、JDK、JRE

Java2平台版本

Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版

J2SE 包含那些构成Java语言核心的类。

J2EE 包含J2SE 中的类,并且还包含用于开发业级应用的类。

J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。

Java跨平台性原理

C/C++ 都会直接编译成对应平台(操作系统)机器码进行执行,如果要实现在不同平台执行,那么就要在不同的平台上使用不同编译器,重新进行编译,才可以执行

Java源程序在进行编译后形成与平台无关的字节码文件(.class) ,此文件不是用机器码文件不能直接在操作系统上执行,需要借助Java虚拟机进行解释执行,这就成就课Java的跨平台性。无论什么平台产生的都是与操作系统无关的字节码文件,通过JVM(Java虚拟机)中的不同操作系统的解释程序,解释成对应操作系统的可执行文件。(字节码文件只面向JVM,不面向任何的操作系系统)。

Java--平台版本、跨平台、JVM、JDK、JRE_第1张图片

在java源程序编译成.class文件后,.class文件可以直接被JVM解释执行,也就是说.class文件编译一次,多平台执行。

JVMJDKJRE

JVMJava Virtual MachineJava虚拟机)的缩写,JVM的主要工作是解释自己的指令集(即字节码)到CPU的指令集或对应的系统调用,保护用户免被恶意程序骚扰。

JREjava runtime environmentjava运行环境)的缩写。在解释class的时候JVM需要调用解释所需要的类库lib,JRE中包含JVM和类库(与具体的CPU结构和操作系统有关

JDKjava development kitjava开发工具包)的缩写,JDK中保存编译器、运行时环境(JRE)、类库等。

也就是说JdkJAVA程序开发时用的开发工具包,其内部也有JRE运行环境JREJREJAVA程序运行时需要的运行环境JdkJRE内部都包含JAVA虚拟机JVMJAVA虚拟机内部包含许多应用程序的类的解释器和类加载器等。

 Java--平台版本、跨平台、JVM、JDK、JRE_第2张图片

 

你可能感兴趣的:(Java--平台版本、跨平台、JVM、JDK、JRE)