文档章节

JRE和JDK的区别分别代表什么

1024菜bird
 1024菜bird
发布于 2016/10/11 14:19
字数 1209
阅读 67
收藏 1

JRE和JDK的区别分别代表什么

   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的区别:

JRE是个运行环境,JDK是个开发环境。因此写Java程序的时候需要JDK,而运行

Java程序的时候就需要JRE。而JDK里面已经包含了JRE,(JDK包含了java虚拟

机,java编译器等等)因此对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的路径就可以了。

 

© 著作权归作者所有

1024菜bird
粉丝 78
博文 141
码字总数 138266
作品 0
海淀
程序员
私信 提问
深入理解JDK、JRE(两套)、JVM、以及不同目录下的java.exe

1、jdk下bin目录里的java.exe与外部jre中的java.exe的秘密 jdk里的java.exe和jre中的java.exe其实是一样的,但我们在运行的时候用的却是优先使用外部jre中的java.exe(即使我们安装了JDK且也...

jack688
2016/06/01
0
0
JavaSE和JavaEE的起步学习路线

Java javaSE部分 1)能够掌握DOS系统常用基本命令; 2)熟练使用eclipse编写java代码; 3)掌握常用数据结构和算法; 4)掌握常用的编程设计模式; 5)熟练使用java语言的常用对象; 6)使用java编...

Jasonisoft
2016/05/18
0
0
JDK与JRE的区别,还有JVM

  JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。...

aineice
2015/08/25
115
0
JVM系列第1讲:Java 语言的前世今生

Java 语言是一门存在了 20 多年的语言,其年纪比我自己还大。虽然存在了这么长时间,但 Java 至今都是最大的工业级语言,许多大型互联网公司均采用 Java 来实现其业务系统。大到国际电商巨头...

陈树义
2018/11/07
0
0
记一次Eclipse关于JDK和JRE的问题

今天同事遇到个问题,发现import package居然报错,但是那个package实际上存在。一般情况某个类有问题或者是该类中的方法有问题,总会在IDE中显示一条红线。但是这次确实是没有问题。我找到该...

Mr_zebra
2018/09/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

centos7 新手阿里云服务器安装mongodb

简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 MongoDB特点 模式自由 :可以把不同结构的文档存...

醉雨
30分钟前
3
0
sql注入漏洞,应屏蔽SQL注入攻击

注:SQL注入好比是前端URL传参数请求时参数以SQL 做为参数传入,如 select 1 from dual where 1=1 or 1=1 and 1=2;(类似这样的SQL语句) 防御方法 如果自己编写防注代码,一般是先定义一个函...

颜丽
30分钟前
3
0
装饰者模式

 代理模式与装饰者模式看起来很像,都实现基础对象实现的接口,在其自身对象中都保存着对被代理/被装饰者的对象引用。   先来看看装饰者模式的定义:动态的将责任附加到被装饰者对象上,用...

铁骨铮铮
34分钟前
2
0
我为什么飞行 10000 公里去西班牙参加 KubeCon?

2019 年 5 月 20 日至 23 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCon EU(欧洲场)即将在热情洋溢的巴塞罗那盛装启幕。 作为云计算领...

zhaowei121
52分钟前
2
0
Node.getTextContent() not found 解决办法【不需要调整builder path下面包顺序】

新导入的工程,w3c的getTextContent找不到,response的setCharacterEncoding找不到,网上很多教程都是“调整工程builder path的lib包顺序把jre、tomcat调到上面即可”,但是进入项目的build...

嘿嘿嘿IT
59分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部