学习java却不知道JRE和JDK的区别?快进来学习

JRE和JDK的区别?
1.JRE是Java运行时环境 。 它是运行已编译的Java程序所需的所有程序的包,包括Java虚拟机(JVM),Java类库, java命令和其他基础结构。 但是,它不能用于创建新程序。
JDK是Java Development Kit ,这是Java的全功能SDK。 它具有JRE拥有的所有内容,还具有编译器( javac )和工具(如javadoc和jdb )。 它能够创建和编译程序。
通常,如果只关心在计算机上运行Java程序,则只会安装JRE。 这就是您所需要的。 另一方面,如果您打算进行一些Java编程,则需要安装JDK。

有时,即使您不打算在计算机上进行任何Java开发,也仍然需要安装JDK。 例如,如果要使用JSP部署Web应用程序,则从技术上讲,您只是在应用程序服务器内部运行Java程序。 那为什么还要JDK呢? 因为应用服务器会将JSP转换为Java servlet,并且需要使用JDK来编译servlet。 我相信还有更多的例子。
2.顾名思义, JRE是一个环境 。 基本上,这是一堆包含Java相关文件的目录,例如:
bin/包含Java的可执行程序。 最重要的是java (对于Windows,也包括javaw ),它将启动JVM。 这里还有一些其他实用程序,例如keytool和policytool 。
conf/拥有用户可编辑的配置文件,供Java专家使用。
lib/具有大量的支持文件:一些.jar ,配置文件,属性文件,字体,翻译,证书等–所有Java的“修整”。 最重要的是modules ,该文件包含Java标准库的.class文件。
在某种程度上,Java标准库需要调用本机代码。 为此,JRE在bin/或lib/下包含一些.dll (Windows)或.dylib (macOS)或.so (Linux)文件,并带有特定于系统的支持本机二进制代码。
JDK也是一组目录。 它是JRE的超集,其中有一些补充:bin/已使用开发工具进行了扩展。 其中最重要的是javac ; 其他包括jar , javadoc和jshell 。
jmods/ ,其中包含标准库的JMOD文件。 这些文件允许标准库与jlink一起使用。
3.从Java官方网站...
JRE(Java运行时环境):
它是Java虚拟机*的实现,它实际上执行Java程序。
Java Runtime Environment是运行Java程序所需的插件。
JRE比JDK小,因此需要更少的磁盘空间。
它包括JVM,Core库和其他附加组件,以运行用Java编写的应用程序和applet。
JDK(Java开发套件)
它是一整套软件,可用于开发基于Java的应用程序。
开发Java应用程序需要Java Development Kit。
JDK需要更多的磁盘空间,因为它包含JRE以及各种开发工具。它包括JRE,API类集,Java编译器,Webstart以及编写Java applet和应用程序所需的其他文件。
4.从调试的角度来看,有一个区别:
要调试Java系统类(例如String和ArrayList),您需要使用“调试信息”编译的特殊版本的JRE。 JDK中包含的JRE提供了此信息,但常规JRE没有提供。 常规JRE不包含此信息以确保更好的性能。
什么是调试信息?
现代的编译器将其高级代码缩进和嵌套的控制结构以及任意类型的变量转换为一大堆称为机器代码(在Java中为字节码)的位,就可以很好地转换您的高级代码。在目标CPU(JVM的虚拟CPU)上尽可能快地运行。 Java代码被转换为多个机器代码指令。 变量到处都是-放入堆栈,寄存器或完全优化。 结构和对象甚至不存在于生成的代码中–它们只是一种抽象,可以转换为硬编码的偏移量到内存缓冲区中。
那么,当您要求调试器在某个函数的入口处中断时,调试器如何知道在何处停止? 当您询问变量值时,如何设法找到要显示的内容? 答案是–调试信息。
调试信息由编译器与机器代码一起生成。 它表示可执行程序和原始源代码之间的关系。 该信息被编码为预定义的格式,并与机器代码一起存储。 多年来,针对不同的平台和可执行文件发明了许多此类格式。
5.JDK是JRE的超集,包含JRE中的所有内容,以及开发applet和应用程序所需的工具,例如编译器和调试器。 JRE提供了库,Java虚拟机(JVM)和其他组件,以运行用Java编程语言编写的小程序和应用程序。
更多java干货,可评论或者私信我!

原文地址:https://blog.51cto.com/14623707/2461040

时间: 2024-10-24 17:55:53

学习java却不知道JRE和JDK的区别?快进来学习的相关文章

eclipse中的两种Jre 及 Jre与Jdk的区别

分类: ——————————区分eclipse中的两种Jre———————- (Eclipse也是一个普通的Java程序,因此必须有一个JRE做为运行环境.如果你的机器上没有安装任何JRE(或者JDK,本文不做二者的区分),那么点击eclipse.exe就会报错说找不到JRE.此时可以安装一个JRE.或者直接把JRE目录拷贝到eclipse安装目录下. 在Eclipse的每个项目中可以为项目指定不同的JRE版本,比如A项目使用JDK1.4编译,B项目使用JDK1.5编译.这个JDK版本是和Ecl

JRE 和 JDK 的区别

JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库.是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的. JDK顾名思义是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的.JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序.如果

JRE和JDK的区别

1. 定义 JRE(Java Runtime Enviroment)是Java的运行环境.面向Java程序的使用者,而不是开发者.如果你仅下载并安装了JRE,那么你的系统只能运行Java程序.JRE是运行Java程序所必须环境的集合,包含JVM标准实现及 Java核心类库.它包括Java虚拟机.Java平台核心类和支持文件.它不包含开发工具(编译器.调试器等). JDK(Java Development Kit)又称J2SDK(Java2 Software Development Kit),是J

JVM、JRE、JDK的区别

 1.JVM -- java virtual machine jvm即java虚拟机,它主要有一个功能就是将编译好的class文件进行解释执行,因为class文件不能由操作系统直接执行,需要有jvm解释方可执行. jdk-->jre-->bin可以认为该目录即为jvm 2.JRE -- java runtime environment jre是指java运行时环境,class文件在运行时需要调用各种java的类库,即jvm要想运行class文件必须要依赖jre中的lib库,可以认为,jvm+l

学习JAVA环境搭建之下载JDK并安装,配置环境变量

工欲善其事,必先利其器.想要学习好JAVA语言,必需要先搭建好开发和运行JAVA语言的环境,在学习的过程中,培养在JAVA语言开发过程中的语言感觉,毕竟JAVA语言中的关键字.类库和工具有1500之多,就像是我们在认字是的汉字一样的复杂.闲话不扯 首先要下载相关的JDK软件,一般在网上就能搜索出很多来,但是最好能够在官网上下载,在这里附上我下载的地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-down

Java知识:(1)JRE和JDK

1.JRE和JDK的区别 JRE是Java运行环境.JRE=Java虚拟机+核心类库(辅助Java虚拟机运行的文件). JDK是Java开发程序集.JDK=JRE+Java开发工具. 2.JDK的安装目录 安装jdk的路径要注意,不能带有中文路径或者空格 |-jdk安装目录 |-bin:存储的是Java的开发工具 |-java.exe:启动Java虚拟机,解释并执行指定的class文件.使用格式:"java 指定的class文件",例如java Hello. |-javac.exe:启

学习java之前

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记. 学习java之前 2.1认识JDK 工具包: 编译和运行其使用的是JDK里面的编译和运行,首先得下载JDK; 1.JDK的安装: JDK的官网:(http://www.oracle.com) 找到处按以下步骤: 2.安装JDK : 先双击一下jdk-8u144-windows-x64.exe然后进入安装: 然后在你写的路径下生成了文件 就是JDK的目录的位置

学习Java的路线图-五个必经阶段

文章最后有面试题福利!记得看一下哦~ 第一个阶段-java基础阶段 1.java语法2.面向对象3.常用的api4.界面编程5.多线程6.文件io7.java网络编程.. 这是学习java开发的基础阶段,也是以后的学习基石. 第二个阶段 -数据库阶段 1.oracle2.mysql3.sql server 目前中国软件公司用的最多的三大主流数据库是sql server,mysql ,oracle .目前看来oracle数据库越来越流行了.一般情况下PHP对应MySQL数据库:ASP对应SQL数据

Java学习(四):JRE和JDK,以及环境变量的配置

JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK).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开始,改名为Jav