JRE和JDK的区别浅析

开发 后端
JRE和JDK的区别是什么呢?他们本身又是什么?那么这篇文章将会从定义上开始向你介绍JRE和JDK以及他们的区别。

JRE和JDK的含义是什么呢?让我们从他们各自的概念开始吧。

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

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.

那么以上就是对于JRE和JDK的概念以及区别的介绍,希望你对他们有了一定的了解。

【编辑推荐】

  1. 在JDK7 b50中将实现正则表达式命名捕获组
  2. JDK的安装图解与环境变量设置详解
  3. JDK与JRE的关系和path的作用浅谈
  4. JDK、SDK、JRE、JVM概念详解
  5. 安装JDK后JRE与JVM联系浅谈
责任编辑:仲衡 来源: IT专家网
相关推荐

2010-09-25 14:58:12

JVMJDKJRE

2019-07-24 10:11:51

jdkjreJava

2022-06-27 08:24:34

JDKJavaJRE

2010-09-26 14:32:34

JDKJREJVM

2009-07-08 10:23:29

2009-06-25 14:46:50

JDKJREJVM

2023-09-27 08:46:44

Java 技术编程语言

2022-02-15 20:08:41

JDKJavaWindows

2009-04-16 09:24:48

TierLayer系统架构

2009-07-08 10:41:54

JDK JRE JVM

2009-07-09 13:44:12

JDK JRE

2010-09-27 11:24:50

JREJVM

2013-05-03 10:21:53

CentOSRedHat Linu

2022-02-16 22:50:28

JVMJDKJRE

2022-12-30 16:06:23

JDKJREJVM

2009-07-08 14:06:22

ClassLoaderJDK源码

2009-07-22 18:03:00

ASP.NET ASP

2009-07-14 15:12:36

SwingSWT和AWT

2010-08-17 16:27:40

UPSEPS

2010-09-27 14:50:22

JDKJREJVM
点赞
收藏

51CTO技术栈公众号