一、Java基础_入门-4_jdk&jre&jvm

JDK(Java Development Kit Java开发工具包):JDK是提供给Java开发人员使用的,其中包含了java的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了。其中的开发工具包括编译工具(javac.exe) 打包工具(jar.exe)等。

JRE(Java Runtime Environment Java运行环境): 是 JDK 的子集,也就是包括 JRE 所有内容,以及开发应用程序所需的编译器和调试器等工具。JRE 提供了库、Java 虚拟机(JVM)和其他组件,用于运行 Java 编程语言、小程序、应用程序。

JVM(Java Virtual Machine Java虚拟机):JVM可以理解为是一个虚拟出来的计算机,具备着计算机的基本运算方式,它主要负责把 Java 程序生成的字节码文件,解释成具体系统平台上的机器指令,让其在各个平台运行。

我们默认安装完 JDK 会有 jdk1.8.0_45、jre1.8.0_45,两个文件夹。其实在 JDK 的文件中还会有 JRE 的文件夹,他们两个 JRE 文件夹的结构是一样的。

JDK(Java Development Kit Java开发工具包)目录结构

bin:一堆 .exe 可执行文件,java.exe、javac.exe、javadoc.exe,已经密钥管理工具等。

db:内置了 Derby 数据库,体积小,免安装。

include:Java 和 JVM 交互的头文件,例如我们 JVMTI 写的 C++ 工程时,就需要把这个 include 包引入进去 jvmti.h。例如:基于jvmti设计非入侵监控

jre:Java 运行环境,包含了运行时需要的可执行文件,以及运行时需要依赖的 Java 类库和动态链接库 .so .dll .dylib

lib:Java 类库,例如 dt.jar、tools.jar

JRE(Java Runtime Environment Java运行环境)目录结构

bin:有 java.exe 但没有 javac.exe。也就是无法编译 Java 程序,但可以运行 Java 程序,可以把这个bin目录理解成JVM。

lib:Java 基础&核心类库,包含 JVM 运行时需要的类库和 rt.jar。也包含用于安全管理的文件,这些文件包括安全策略(security policy)和安全属性(security properties)等。

JVM(Java Virtual Machine Java虚拟机)位置

这部分是整个 Java 实现跨平台的最核心内容,由 Java 程序编译成的 .class 文件会在虚拟机上执行。

另外在 JVM 解释 class 文件时需要调用类库 lib。在 jre 目录下有两个文件夹 bin、lib,而 lib 就是 JVM 执行所需要的类库。

jvm.dll 并不能独立工作,当 jvm.dll 启动后,会使用 explicit 方法来载入辅助动态链接库一起执行。

 

参考

https://baijiahao.baidu.com/s?id=1687698216321741574&wfr=spider&for=pc

posted @   YanMingShun  阅读(45)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示