2021-09-28

jdk名词解释

  1. 定义

JDK:

Java Develpment Kit java 开发工具

JRE:

Java Runtime Environment java运行时环境

JVM:

java Virtual Machine java 虚拟机

  1. 使用人群

jdk 是给开发人员使用的, jre和jvm是给普通用户使用

  1. 详细介绍

JDK:

是java开发工具包,是Sun公司针对java开发人员的产品,jdk中包含jre,在jdk的安装目录下有一个jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里面就是jvm,lib中是java工作需要的类库,而java和lib合起来就称为jre

JDK(Java Development Kit) 是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

基本上每个学java的人都会先在机器 上装一个JDK,那他都包含哪几部分呢?在目录下面有 六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的 是以下四个文件夹:bin、include、lib、 jre。有这样一个关系,JDK包含JRE,而JRE包 含JVM。

bin:最主要的是编译器(javac.exe)

include:java和JVM交互用的头文件

lib:类库

jre:java运行环境

(注意:这里的bin、lib文件夹和jre里的bin、lib是 不同的)

总的来说JDK是用于java程序的开发,而jre则是只能运行class而没有编译的功能。

JRE:

是运行基于java语言编写的程序所不可缺少的运行环境,也是通过它,java的开发者才可以将自己开发的程序发布到用户手中,让用户使用,与大家熟悉的jdk不同,jre是运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器,调试器)等,知识针对使用java程序的用户

JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)

JRE是指java运行环境。光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。 (jre里有运行.class的java.exe)

JRE ( Java Runtime Environment ),是运行 Java 程序必不可少的(除非用其他一些编译环境编译成.exe可执行文件……),JRE的 地位就象一台PC机一样,我们写好的Win64应用程序需要操作系统帮 我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。

JVM:

就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序首先被编译为.class文件,这种类文件可以在虚拟机上运行,也就是说class并不直接与机器的操作系统相对应。

而是经过虚拟机间接的与操作系统交互,由虚拟机将程序解释给本地系统执行,只有jvm还不能将class执行,因为在解释class的时候jvm需要调用解释所需要的类库lib,而jre包含lib类库,jvm屏蔽了具体操作系统平台的相关信息,使得java程序只需要生成在java虚拟机上运行的目标代码。可以在多种平台(操作系统)上不加修改的运行

  1. 关联关系

简单来说就是JDK包含JRE,JRE包含JVM的关系

Java基础:JDK、JRE、JVM的区别与联系

JVM就是我们常说的java虚拟机,它是整个java实现跨平台的 最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可 以在虚拟机上执行,也就是说class并不直接与机器的…

三者联系:JVM不能单独搞定class的执行,解释class的时候JVM需要调用解释所需要的类库lib。在JDK下面的的jre目录里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib和起来就称为jre。

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

a.JDK和JRE区别:在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户(只需要运行的人)是不需要的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。

b.JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持,尤其是rt.jar。

打开CSDN,阅读体验更佳

jdk源码解析(一)
热门推荐
1、先说一下源码解析的过程:JDK–>JRE–>JVM(以openJDK代替) 注意:这里要了解jdk和jre和jvm他们分别是什么?以及他们的关系才可以继续。这里先上一章从网上下载的关系图方便理解 2、笔者本地的jdk是oraclejdk,jvm所在位置就是安装的jdk。jdk下jre下bin下server下的jvm.dll。也就是F:\Java\jdk\jdk1.7.0
浏览器打开
JDK体系及JVM架构详解
JDK体系结构 1. 栈 (线程) 每当启动一个新线程的时候,java虚拟机都会为它分配一个java栈。 java栈主要用来存储局部变量,如下图当执行main方法时,就启动了一个线程, java虚拟机都会为它分配一个栈内存区域用来存储局部变量a,b,c java以栈帧为单位保存线程的运行状态。虚拟机只会对java栈执行两种操作:以栈帧为单位的压栈或者出栈。遵循栈的先进后入原则FILO …
浏览器打开
相关推荐更多相似内容
JDK的安装与详解_kjw888的博客_jdk安装详解
JDK的安装与详解 1.如果笔记本中已经安装有JDK,在控制面板的卸载程序中找到下面这两个并卸载 2.在安装之前首先在将要安装的盘符里创建一个以“Program_Files”命名的文件夹,JDK配置的路径中不能有空格和中文,接下来在Program_Files中…
安装jdk的详解_共勉
安装jdk的详解 jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载jdk 64位操作系统windows (大部分)其他操作系统同理 下载后双击安装 记住安装的地址,…
jdk1.8新特性总结
一、引言   jdk1.8出来已经一段时间了,现在1.9也已经出来了,但是很多公司(我们公司也一样)不太愿意升级到高版本的jdk,主要是有老的项目要维护,还有升级的话配套的框架也要升级,要考虑的细节事情太多。 前段时间去面试,问到了jdk1.8的新特性,博主答得不是很好,今天抽了一段时间把这些都总结一下。 二、新特性   1、default关键字   在java里面,我们通常都是认为接口里面是只能…
浏览器打开
jdk详解
1. 关于动态加载机制——学习Java比C++更容易理解OOP的思想,毕竟C++还混合了不少面向过程的成分。很多人都能背出来Java语言的特点,所谓的动态加载机制等等。当然概念往往是先记住而后消化的,可有多少人真正去体会过动态加载的机制,试图去寻找过其中的细节呢? 提供大家一个方法:在命令行窗口运行Java程序的时候,加上这个很有用的参数:java –verbose *.class这样会清晰的打印
浏览器打开
jdk目录详解及其使用方法
jdk目录详解 jdk目录详解 JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者 编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。 JDK(Java Development Kit)是Sun Microsyst
浏览器打开
最新版JDK15下的JVM类加载器原理详解
0 前言 全是干货的技术殿堂 文章收录在我的 GitHub 仓库,欢迎Star/fork: Java-Interview-Tutorial https://github.com/Wasabi1234/Java-Interview-Tutorial 类加载器是如何定位具体的类文件并读取的呢? 在类加载器家族中存在着类似人类社会的权力等级制度 最高层的Bootstrap 在JVM启动时创建的,通…
浏览器打开
JDK11现存性能bug(JDK-8221393)深度解析
这是一篇鸽了很久的博客,因为博客内容和素材早就准备差不多了,但就是一直懒得整理,今天终于下定决心终于整理出来了。 先大致介绍下这个bug,准确说这个应该是jdk11新引入的zgc的一个bug,该bug在被触发的情况下会导致进程CPU使用率会逐渐升高,如果不管的话最终CPU会到100% 影响服务可用性,而且这个性能bug在jdk11最新的代码中仍未修复。不过不用担心,这个bug触发的要求比较苛刻,估计这也是jdk开发者不修复该bug的原因之一。另外,我在翻看jdk12源码时发现该bug已被修复,并且有些相关设
浏览器打开

JDK1.8 详解
Java 8平台集合生产力、易用性、多语种编程、更高安全性和稳定性等特色。 JDK8的特性已经基本准备就绪,虽然一些特性还不是特别完善,但开发人员已经开始庆祝这一里程碑事件了。 JDK8开发者计划在上月底发布M7版本,按照原计划,这应该是一个功能完备的版本,包含完整的22个JEP(Java EnhancementProposals,Java增强建议)。目前大部分特性已经完成,最重要的是La
浏览器打开
java jdk详解_JDK配置详解
最新发布
1、安装JDK 选择安装目录 安装过程中会出现两次 安装提示 。第一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)。剩下的就跟平时安装软件一样,选择保存路径即可2、安装完JDK后配置环境变量计算机→属性→高级系统设置→高级→环境变量3、系统变量→新建 JAVA_HOME…
浏览器打开
JAVA核心解析:JDK和JRE
什么是JDK?什么是JRE?1. JDK当然用系统的说法是,JDK(Java Development Kit)(百度参考),简而言之是,是一个开发工具。是用来开发java的工具包。有了这个东西就可以写java代码,编译java代码(javac),和打和读取jar包了。1.1. 相关名词解释 JDK(Java Development Kit) Java语言的软件开发工具包(SDK)。 SE(J2SE)(文章借鉴 侵权删)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值