入坑Java之路—JVM、JRE、JDK详细介绍
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.****.net/zdb292034/article/details/80732098
- https://blog.****.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.****.net/w1673492580/article/details/81840056
- https://blog.****.net/****liuxin123524/article/details/81303711
- https://www.cnblogs.com/zongheng14/p/12041005.html
JVM执行流程
JVM运行原理
JVM空间说明
JVM参数配置
JVMGC过程
参考文献
- https://blog.****.net/wuha0/article/details/7077243
- https://blog.****.net/csj50/article/details/81533982
- https://www.jianshu.com/p/f98c3acd8df8
- https://blog.****.net/zdb292034/article/details/80732098
- https://blog.****.net/qq_29073921/article/details/88856188
- https://www.cnblogs.com/liulei5210/p/10115130.html
- http://www.imooc.com/wenda/detail/431668