入坑Java之路 - JVM、JRE、JDK详细介绍

2023-11-07

三者关系图

  • 官网图
    在这里插入图片描述
  • 架构图
    在这里插入图片描述
  • 关系图
    在这里插入图片描述

JDK

  • JDK是(Java Development Kit)的缩写,指的是JAVA软件开发工具包(SDK)。
  • JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+JAVA系统类库)和JAVA工具。
  • 在目录下面有五个文件夹、一个src类库源码压缩包和几个声明文件。
  • 其他五个文件夹分别是:bin、include、lib、 jre,man以及一些版本信息文件。

JDK1.8目录介绍

在这里插入图片描述
- bin:包含一些用于开发Java程序的工具,例如:编译工具(javac.exe)、运行工具 (java.exe) 、打包工具 (jar.exe)等,最主要的是编译器(javac.exe)。
- include:C语言的头文件,用于支持Java程序设计。
- lib:包含开发Java程序所使用的类库文件。
- jre:Java运行时环境的根目录。
- man:JDK使用手册
- src.zip:包含 Java 平台源代码的压缩包。
- javafx-src.zip:包含 JavaFX 平台源代码的压缩包。
- 其他:COPYRIGHT和LICENSE为版权和签证的说明性文档,以及一些引用许可证。

JRE

  • JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及JAVA核心类库。
  • JDK的安装目录下有一个jre目录,里面有两个文件夹bin和lib。
  • 这里可以认为bin里的就是jvm,lib中则是jvm工作所需要的类库,而jvm和 lib合起来就称为jre。
  • JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)

JRE1.8目录介绍

在这里插入图片描述

  • applet:用于 Applet 支持类的 jar 文件,可以放在 lib/applet 目录中。Applet 类通过 Applet 类加载器从本地文件系统中预加载,这样为减小大型 Applet 的启动时间提供了一些方式,好像从网上已经下载完成了一样。
  • cmm:这个目录中存放的是色彩管理配置文件,这些文件是用于 Java 2D API 执行色彩对应转换的。
  • ext:用于 扩展 (Extensions)Java 平台默认的安装目录。
  • fonts:包括平台使用的 TrueType 字体文件。
  • images:存放一些关于光标的gif图像。
  • jfr:Java Flight Recorder(JFR)之前是一个商业特性,现在可以直接使用,性能分析工具。
  • jli:OSX上的动态库扩展。
  • management:jre管理属性和管理配置文件。
  • security:这里的文件都是用来处理安全的,包括安全策略java.policy文件和安全属性java.security文件。
  • server:包含一些.so文件,用于java虚拟机服务端使用。

JVM

  • JVM是JavaVirtual Machine(Java虚拟机)的缩写,它是整个java实现跨平台的最核心的部分。
  • 所有的JAVA程序会首先被编译为.class的类文件,这种class类文件可以在虚拟机上运行。
  • 也就是说class并不直接被机器的的操作系统所执行,而是经过JVM解释给操作系统执行。

JVM体系结构

  • https://blog.csdn.net/zdb292034/article/details/80732098
  • https://blog.csdn.net/u013214151/article/details/105267143
  • https://www.cnblogs.com/liululee/archive/2019/09/04/11461998.html
  • https://www.jianshu.com/p/33948336306f
  • https://baijiahao.baidu.com/s?id=1657402174344211289&wfr=spider&for=pc
  • https://blog.csdn.net/w1673492580/article/details/81840056
  • https://blog.csdn.net/csdnliuxin123524/article/details/81303711
  • https://www.cnblogs.com/zongheng14/p/12041005.html

JVM执行流程

JVM运行原理

JVM空间说明

JVM参数配置

JVMGC过程

参考文献

  • https://blog.csdn.net/wuha0/article/details/7077243
  • https://blog.csdn.net/csj50/article/details/81533982
  • https://www.jianshu.com/p/f98c3acd8df8
  • https://blog.csdn.net/zdb292034/article/details/80732098
  • https://blog.csdn.net/qq_29073921/article/details/88856188
  • https://www.cnblogs.com/liulei5210/p/10115130.html
  • http://www.imooc.com/wenda/detail/431668
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

入坑Java之路 - JVM、JRE、JDK详细介绍 的相关文章

随机推荐

  • 在Unbuntu 18.04上docker安装MindSpore

    作者 张小白 文章来源 https bbs huaweicloud com blogs 241465 摘要 本文介绍了如何在ubuntu 18 04上使用docker安装python 3 7 5和mindspore 1 1 1 docker
  • RecyclerView设置Item的边距

    一 通过继承RecyclerView ItemDecoration RecyclerView有三种布局即 LinearLayoutManager 线性布局 StaggeredGridLayoutManager瀑布流布局 GridLayout
  • Java判断两个ListMap值是否相等(包括数据长度、存储的值)超实用工具类(亲测)

    一 功能描述 比较两个list中存储的map数据 比较的list的数据类型需一致 就能比较出存储的数据是否一致 二 实现步骤 1 比较两个list的长度大小 2 统计出每个list中存储的map值的个数及重复的 进行比较 3 具体比较值 三
  • React Hooks(useState、useEffect)

    本文目录 一 react hooks useState 1 1 useState使用 1 2 hooks案例 useState 二 react hooks useEffect 2 1 useEffect使用 2 2 useEffect模拟销
  • 设置地图背景图片

    设置地图背景图片 代码如下 设置地图框div的background 设置map ground surfaceColor 0 0 0 0 设置sceneview的 environment background color 0 0 0 0 di
  • xss绕过尖括号和双括号_XSS绕过filter高级技术part1

    在如今的web时代 XSS攻击十分常见 针对xss攻击的防御也有不少 Filter就是一种用来防御xss攻击的最常见的手段 filter通常是采用黑名单的形式或者基于正则表达式来过滤 尽管如此 依然有很多技术可以用来绕过Filter 基本变
  • VUE 子组件内输入框,父组件获取输入框的值

    父组件
  • 26. Remove Duplicates from Sorted Array

    题目 Given a sorted array nums remove the duplicates in place such that each element appear only once and return the new l
  • 01-TomCat和HTTP协议

    一 介绍 Tomcat 服务器是一个免费的开放源代码的Web应用服务器 Tomcat是Apache 软件基金会 Apache Software Foundation 的Jakarta 项目中的一个核心项目 由Apache Sun 和其他一些
  • [UE4][C++]用Socket传输图片并生成UTexture2D的一些坑

    首先 我规定好数据传输的格式 char 数组 RGBARGBARGBA 主要是将RGBA四个通道的数据按一定格式和顺序写好 然后发过来接收并解析就行 然后 就是数据的接收与解析 先讲一点很少有人注意到的细节 Socket的recv函数并不是
  • 华为OD机试真题-简单的压缩算法/栈【2023Q1】

    题目描述 现需要实现一种算法 能将一组压缩字符串还原成原始字符串 还原规则如下 1 字符后面加数字N 表示重复字符N次 例如 压缩内容为A3 表示原始字符串为AAA 2 花括号中的字符串加数字N 表示花括号中的字符重复N次 例如压缩内容为
  • 区块链电子签名技术及方案

    数字签名技术是电子签名的底层核心技术 由非对称密钥加密技术和数字摘要技术构成 首先发送方利用Hash函数对文件内容进行加密并生成数字摘要 然后利用私钥对数字摘要加密形成数字签名 接收方利用发送方提供的公钥对数字签名进行解密 若解密后的数字摘
  • [编程题] 不要二

    二货小易有一个W H的网格盒子 网格的行编号为0 H 1 网格的列编号为0 W 1 每个格子至多可以放一块蛋糕 任意两块蛋糕的欧几里得距离不能等于2 对于两个格子坐标 x1 y1 x2 y2 的欧几里得距离为 x1 x2 x1 x2 y1
  • Docker简介

    1 Docker是什么 Docker 是一个开源的应用容器引擎 Docker是一个基于轻量级虚拟化技术的容器 整个项目基于Go语言开发 并采用了Apache 2 0协议 Docker可以将我们的应用程序打包封装到一个容器中 该容器包含了应用
  • 指针进阶(2)

    6 函数指针数组 数组是一个存放相同类型数据的存储空间 那我们已经学习了指针数组 比如 int arr 10 数组的每个元素是int 那要把函数的地址存到一个数组中 那这个数组就叫函数指针数组 那函数指针的数组如何定义呢 int parr1
  • PBFT算法流程

    转载原址 https my oschina net u 3620978 blog 3142775 1 系统模型 本部分介绍PBFT算法运行的系统模型 1 1 网络 PBFT工作在异步的分布式系统中 系统中各个节点彼此通过网络连接 系统运行时
  • CDN 服务器

    cdn的两种方式 推送和回源区别 DNS解析的时候 返回给最近的CDN的地址 然后应用从最近的CDN读取静态文件css js image等信息 然后如果从CDN拿不到信息的话 让请求 回源站 后端应用服务器 回源地址获取静态文件 然后返回给
  • 摆烂三年,我从普通二本到春招华为OD上岸啦

    萌妹镇楼 年前拿到的意向书 答读者问 薪资情况 定级D2 13K 2K 两个月年终奖 周六加班双倍工资 下个月发 每年一次加薪 OD转华为一次加薪 加班强度 124晚9点 35晚6点 项目紧急的话 周六会安排加班 转岗问题 因为我是读书时候
  • 数据仓库指标体系实践

    指标体系 1 痛点分析 主要从业务 技术 产品三个视角来看 业务视角 业务分析场景指标 维度不明确 频繁的需求变更和反复迭代 数据报表臃肿 数据参差不齐 用户分析具体业务问题找数据 核对确认数据成本较高 技术视角 指标定义 指标命名混乱 指
  • 入坑Java之路 - JVM、JRE、JDK详细介绍

    JVM JRE JDK详细介绍 三者关系图 JDK JDK1 8目录介绍 JRE JRE1 8目录介绍 JVM JVM体系结构 JVM执行流程 JVM运行原理 JVM空间说明 JVM参数配置 JVMGC过程 参考文献 三者关系图 官网图 架