JDK与JRE的含义以及应用详解

开发 后端
JDK与JRE是什么呢?以及JDK与JRE在启动服务器方面有什么区别和应用呢,我们将在文章中向你详细讲解。

首先我们来看JDK与JRE的含义:

JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK.最主流的JDK是Sun公司发布的JDK,除了Sun之外,还有很多公司和组织都开发了自己的JDK,例如IBM公司开发的JDK,BEA公司的Jrocket,还有GNU组织开发的JDK等等。其中IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。但不管怎么说,我们还是需要先把Sun JDK掌握好。

JDK一般有三种版本:SE(J2SE),standard edition,标准版,是我们通常用的一个版本EE(J2EE),enterpsise edtion,企业版,使用这种JDK开发J2EE应用程序,ME(J2ME),micro edtion,主要用于移动设备、嵌入式设备上的java应用程序Java开发工具(JDK)是许多Java专家最初使用的开发环境。尽管许多编程人员已经使用第三方的开发工具,但JDK仍被当作Java开发的重要工具。JDK由一个标准类库和一组建立,测试及建立文档的Java实用程序组成。其核心Java API是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。Java API包括一些重要的语言结构以及基本图形,网络和文件I/O.一般来说,Java API的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境中实现。

作为JDK实用程序,工具库中有七种主要程序。

◆Javac:Java编译器,将Java源代码转换成字节码。

◆Java:Java解释器,直接从类文件执行Java应用程序字节代码。

◆appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。

◆Javadoc:根据Java源码及说明语句生成HTML文档。

◆Jdb:Java调试器,可以逐行执行程序,设置断点和检查变量。

◆Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。

◆Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。

JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。是Sun的产品,包括两部分:JavaRuntimeEnvironment和JavaPlug-inJavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具——编译器、调试器和其它工具。JRE需要辅助软件 ——JavaPlug-in——以便在浏览器中运行applet.J2RE是Java2 Runtime Environment,即Java运行环境,有时简称JRE.如果你只需要运行Java程序或Applet,下载并安装它即可。如果你要自行开发 Java软件,请下载JDK.在JDK中附带有JRE.注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行 Applet,务必安装一个JRE或JDK.

JDK与JRE在启动应用服务器中的作用:

开始接触Java的时候觉得Java虚拟机很麻烦,不明白JRE与JDK的区别是什么?后来搞清楚JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行Java程序的时候就需要JRE。而JDK里面已经包含了JRE,因此对JAVA_HOME设置为JDK的路径时也可以正常运行Java程序,但是JDK比较大包括了许多与运行无关的内容,因此运行普通的Java程序无须安装JDK。

但是用了Eclipse又有了疑问,为什么这个开发环境JRE就可以正常运行呢?其实在Eclipse中内嵌了Java编译器,并且与JDK中的javac完全相容,因此无须使用JDK也可以直接编译Java程序。

学习J2EE的时候又开始不明白,为什么Tomcat和Apusic用JRE就可以启动,Weblogic用JDK才能启动呢?原因是Tomcat和Apusic 4都已经包括了一个源代码编译器,而Weblogic没有包括这个编译器包。

那么为什么需要编译器呢?因为在WEB应用中JSP文件是需要转换成Servlet,这个Servlet文件还需要编译成可以在JRE上执行的class文件,因此必须提供有编译能力的JDK,将JAVA_HOME设置为JDK的路径就可以了。

那么新出现的Apusic 5.0呢?这个版本为了使大家可以灵活调整JVM的版本,因此不再提供自带的Java编译器,而是通过用户安装的JDK来完成JSP的编译工作,这个也就是为什么Apusic 5.0必须通过JDK启动的原因。

JDK与JRE的概念和应用就介绍到这里,希望对初学者有所帮助。

【编辑推荐】

  1. JDK的概念、组成及JDK常用包
  2. JDK的安装图解与环境变量设置详解
  3. JDK与JRE的关系和path的作用浅谈
  4. JDK、SDK、JRE、JVM概念详解
  5. JDK1.6的十大技术浅谈
责任编辑:仲衡 来源: 51CTO整理
相关推荐

2009-07-08 10:41:54

JDK JRE JVM

2009-07-08 10:23:29

2009-07-08 09:47:47

安装JDKJREJVM

2009-07-08 17:59:51

JDK JRE

2009-06-25 14:46:50

JDKJREJVM

2010-09-25 14:58:12

JVMJDKJRE

2009-07-08 16:43:54

JDK5ProcessBuil

2019-07-24 10:11:51

jdkjreJava

2009-07-09 14:02:58

Tomcat JDK

2022-02-15 20:08:41

JDKJavaWindows

2022-12-30 16:06:23

JDKJREJVM

2018-07-06 15:30:14

DubboSPIJDK

2018-08-15 09:48:27

数据库Redis应用场景

2010-09-27 14:50:22

JDKJREJVM

2022-06-27 08:24:34

JDKJavaJRE

2010-09-26 14:32:34

JDKJREJVM

2010-09-27 11:32:41

JVMJREJDK

2022-05-29 07:27:24

开放云云端云计算

2023-09-27 08:46:44

Java 技术编程语言

2010-02-22 15:01:26

智能交换机
点赞
收藏

51CTO技术栈公众号