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

三者关系图

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

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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小智Robo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值