Java是将代码编译成一种“字节码”,它类似于抽象的CPU指令,然后,针对不同平台编写虚拟机,不同平台的虚拟机负责加载字节码并执行,这样就实现了“一次编写,到处运行”的效果。当然,这是针对Java开发者而言。对于虚拟机,需要为每个平台分别开发。为了保证不同平台、不同公司开发的虚拟机都能正确执行Java字节码,SUN公司制定了一系列的Java虚拟机规范。从实践的角度看,JVM的兼容性做得非常好,低版本的Java字节码完全可以正常运行在高版本的JVM上。
名词解释
javaSE
SE(Standard Edition, 标准版)
包含 标准的JVM和标准库
javaEE
EE (Enterprise Edition, 企业版)
在SE的基础上增加了大是的API和库,以方便开发WEB应用、数据库、消息服务等。
简单地说,JRE就是运行Java字节码的虚拟机。但是,如果只有Java源码,要编译成Java字节码,就需要JDK,因为JDK除了包含JRE,还提供了编译器、调试器等开发工具。
JRE
Java Runtime Environment (JAVA 运行环境)
JVM+ Runtime Library(运行时核心库)
JDK
Java Development Kit
开发工具包,包含 JRE(Compiler编译器,debugger调试器)
- JSR规范:Java Specification Request
- JCP组织:Java Community Process
