Java2平台版本
Java2平台包括标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本
J2SE 包含那些构成Java语言核心的类。
J2EE 包含J2SE 中的类,并且还包含用于开发企业级应用的类。
J2ME 包含J2SE中一部分类,用于消费类电子产品的软件开发。
Java跨平台性原理
C/C++ 都会直接编译成对应平台(操作系统)机器码进行执行,如果要实现在不同平台执行,那么就要在不同的平台上使用不同编译器,重新进行编译,才可以执行
Java源程序在进行编译后形成与平台无关的字节码文件(.class) ,此文件不是用机器码文件不能直接在操作系统上执行,需要借助Java虚拟机进行解释执行,这就成就课Java的跨平台性。无论什么平台产生的都是与操作系统无关的字节码文件,通过JVM(Java虚拟机)中的不同操作系统的解释程序,解释成对应操作系统的可执行文件。(字节码文件只面向JVM,不面向任何的操作系系统)。
在java源程序编译成.class文件后,.class文件可以直接被JVM解释执行,也就是说.class文件编译一次,多平台执行。
JVM?JDK?JRE?
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM的主要工作是解释自己的指令集(即字节码)到CPU的指令集或对应的系统调用,保护用户免被恶意程序骚扰。
JRE是java runtime environment(java运行环境)的缩写。在解释class的时候JVM需要调用解释所需要的类库lib,JRE中包含JVM和类库(与具体的CPU结构和操作系统有关)。
JDK是java development kit(java开发工具包)的缩写,JDK中保存编译器、运行时环境(JRE)、类库等。
也就是说Jdk是JAVA程序开发时用的开发工具包,其内部也有JRE运行环境JRE。JRE是JAVA程序运行时需要的运行环境,Jdk、JRE内部都包含JAVA虚拟机JVM,JAVA虚拟机内部包含许多应用程序的类的解释器和类加载器等。