您的位置:首页 > 编程语言 > Java开发

java中JDK,JRE,JVM之间的区别于联系

2013-07-23 22:47 501 查看
学了快两年的java了,今天细细一想,好像自己对于java内部的一些原理好像很模糊,虽然有一些了解,但是还是不系统,所以,今天晚上分发图强,彻夜搞懂,come on!

JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java
Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java
API 包括rt.jar)。

JDK有以下三种版本:
J2SE,standard edition,标准版,是我们通常用的一个版本
J2EE,enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序
J2ME,micro edtion,主要用于移动设备、嵌入式设备上的java应用程序

JRE:Java Runtime
Enviromental(java运行时环境)。也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具

JVM:Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM
的主要工作是解释自己的指令集(即字节码)并映射到本地的 CPU
的指令集或 OS
的系统调用。Java语言是跨平台运行的,其实就是不同的操作系统,使用不同的JVM映射规则,让其与操作系统无关,完成了跨平台性。JVM
对上层的 Java
源文件是不关心的,它关注的只是由源文件生成的类文件( class file
)。类文件的组成包括 JVM
指令集,符号表以及一些补助信息

我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: