JDK,JRE,JVM的区别

在lua,cocos-2d的开发中,需要用到java的东东,这些东东之间的联系往往不是很清楚明了,于是整理了下...

下图很好的表面了JDK,JRE,JVM三者间的关系:

JDK

Java Development Kit(JDK) 是 Java 语言的软件开发工具包(SDK)。作为Java语言的SDK,普通用户并不需要安装JDK来运行Java程序,而只需要安装JRE(Java Runtime Environment)。而程序开发者必须安装JDK来编译、调试程序。

  • SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK 5.0开始,改名为Java SE。
  • EE(J2EE),enterprise edition,企业版,使用这种JDK开发J2EE应用程序,从JDK 5.0开始,改名为Java EE。
  • ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK 5.0开始,改名为Java ME。

没有JDK的话,无法编译Java程序,如果想只运行Java程序,要确保已安装相应的JRE。 JDK包含了一批用于Java开发的组件,其中包括:

  • javac – 编译器,将后缀名为.java的源代码编译成后缀名为.class的字节码
  • java –运行工具,运行.class的字节码
  • jar –打包工具,将相关的类文件打包成一个文件
  • javadoc – 文档生成器,从源码注释中提取文档,注释需符合规范
  • jdb debugger,调试工具
  • jps –显示当前java程序运行的进程状态
  • javap – 反编译程序
  • appletviewer –运行和调试applet程序的工具,不需要使用浏览器
  • javah –从Java类生成C头文件和C源文件。这些文件提供了连接胶合,使Java和C代码可进行交互。
  • javaws –运行JNLP程序
  • extcheck –一个检测jar包冲突的工具
  • apt –注释处理工具
  • jhat – java堆分析工具
  • jstack – 栈跟踪程序
  • jstat – JVM检测统计工具
  • jstatd – jstat守护进程
  • jinfo –获取正在运行或崩溃的java程序配置信息
  • jmap –获取java进程内存映射信息
  • idlj – IDL-to-Java编译器。将IDL语言转化为java文件
  • policytool –一个GUI的策略文件创建和管理工具
  • jrunscript – 命令行脚本运行

JDK中还包括完整的JRE(Java Runtime Environment),Java运行环境,也被称为private runtime。包括了用于产品环境的各种库类,如基础类库rt.jar,以及给开发人员使用的补充库,如国际化与本地化的类库、IDL库等等。JDK中还包括各种样例程序,用以展示Java API中的各部分。

JRE

JRE:Java  Runtime  Enviromental(java运行时环境)也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。 JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(jvm)、Java核心类库和支持文件。它不包含开发工具(JDK)--编译器、调试器和其它工具。JRE需要辅助软件--Java Plug-in--以便在浏览器中运行applet。Java Plug-in软件允许Java Applet和JavaBean组件在使用Sun的Java Runtime Environment(JRE)的浏览器中运行,而不是在使用缺省的Java运行环境的浏览器中运行。Java Plug-in可用于Netscape Navigator和Microsoft Internet Explorer。

J2RE是Java2 Runtime Environment,即Java运行环境,只是强调其匹配Java2平台,有时简称JRE。如果你只需要运行Java程序或Applet,下载并安装它即可。如果你要自行开发 Java软件,请下载JDK(JRE和JDK的区别)。在JDK中附带有JRE。注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK。

JVM

Java虚拟机(Java Virtual Machine,缩写为JVM),又名爪哇虚拟器,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行运作。最早由太阳微系统所研发并实现第一个实现版本,是Java平台的一部份,能够运行以Java语言写作的软件程序。

Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。通过对中央处理器(CPU)所执行的软件实作,实现能执行编译过的Java程序码(Applet与应用程序)

作为一种编程语言的虚拟机,实际上不只是专用于Java语言,只要生成的编译文件符合JVM对载入编译文件格式要求,任何语言都可以由JVM编译运行。除外,除了甲骨文,也有其他开源或闭源的实现。

java代码运行过程

我们开发的实际情况是:我们利用JDK(调用JAVA API)开发了属于我们自己的JAVA程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。

时间: 2024-12-25 13:53:57

JDK,JRE,JVM的区别的相关文章

JDK,JRE,JVM的区别与联系

很多朋友跟我一样,已经使用Java开发很久了,可是对JDK,JRE,JVM这三者的区别与联系一直都是模模糊糊的,下面我们来总结一下. JDK Java Development ToolKit(Java开发工具包).JDK是整个Java的核心,包括了Java运行环境(Java Runtime Environment),一堆Java工具(javac/java/jdb)和Java基础类库(即Java API包括rt.jar).最流行的JDK是sun公司发布的JDK,除了sun之外,还有好多公司和组织都

你知道JDK,JRE,JVM的区别吗?

JVM(Java Virtual Machine Java虚拟机) 可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式, 它主要负责将java程序生成的字节码文件解释成具体系统平台上的机器指令. 让具体平台如window运行这些Java程序. JRE(Java Runtime Environment Java运行环境) 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等, 如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即

Java初学者不得不知的概念,JDK,JRE,JVM的区别?

JVM(Java Virtual Machine Java虚拟机) 可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式, 它主要负责将java程序生成的字节码文件解释成具体系统平台上的机器指令. 让具体平台如window运行这些Java程序. JRE(Java Runtime Environment Java运行环境) 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等, 如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即

Java初学者不得不知的概念,JDK,JRE,JVM的区别?(转)

JVM(Java Virtual Machine Java虚拟机)可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式,它主要负责将java程序生成的字节码文件解释成具体系统平台上的机器指令.让具体平台如window运行这些Java程序. JRE(Java Runtime Environment Java运行环境)包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可. JD

[javase基础] JDK JRE JVM的区别?

JDK Java Development Kit 用作开发, 包含了JRE,编译器和其他的工具(比如: JavaDoc,Java调试器),可以让开发者开发.编译.执行Java应用程序. JRE Java 运行时环境,是将要执行 Java 程序的 Java 虚拟机,可以想象成它是一个容器,JVM 是它的内容. JRE = JVM + Java Packages Classes(like util, math, lang, awt, swing etc) + runtime libraries. J

JDK,JRE,JVM的区别与关系

JDK:           Java Develpment Kit java 开发工具JRE:         Java Runtime Environment java运行时环境JVM:        java Virtual Machine java 虚拟机使用人群         jdk 是给开发人员使用的, jre和jvm是给普通用户使用3. 详细介绍JDK:         是java开发工具包,是Sun公司针对java开发人员的产品,jdk中包含jre,在jdk的安装目录下有一个j

JDK JRE JVM 的区别和联系

1.JDK -- java development kit JDK是java开发工具包,基本上每个学java的人都会先在机器安装JDK ,在JDK目录下面有 六个文件夹.一个src类库源码压缩包.和其他几个声明文件.其中,真正在运行java时起作用的 是以下四个文件夹:bin.include.lib. jre.bin:最主要的是编译器(javac.exe)include:java和JVM交互用的头文件lib:类库jre:java运行环境 JDK有以下三个版本 SE(J2SE),standard

4/2/2017 Sun.(Week1,01Day) dos命令,jdk&jre&jvm的关系,classpath和path区别

一.学习方法 1.独立思考 2.独立整理.总结知识点 3.整理Exception报错文档 4.莫钻牛角尖 5.敲代码,敲,猛敲,死里敲 一句话:"代码虐我千百遍,我视代码如初恋!!!" 二.常用dos命令 1.start:重新打开一个dos命令窗口 2.exit:退出dos命令窗口 3.cd:显示或进入指定目录 4.cls:清屏   5.dir:遍历并罗列当前目录下的文件和文件夹 6.help:罗列所有的dos命令 (注:①↑或↓:切换历史命令 ②. :当前目录 ③.. :上层目录 ④

JRE,JDK,JVM的区别

JRE,JDK,JVM的区别JRE是Java Runtime Environment缩写,指Java运行环境,里面包含Java虚拟机,Java基础类库.不包含开发工具JDK.JDK是Java语言的软件开发工具包.主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具. JDK包含了JRE,同时还包括java源码的编译器javac.监控工具jconsole.分析工具jvisualvm等.JVM是Java