一、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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现