JDK、JRE、JVM

JDK、JVM、JRE?

JDK(Java Development Kit)

  • JDK是JRE加上额外的开发工具和资源的集合,它包含了JRE的全部内容。
  • JDK中包括了编译器(如javac,用于将源代码编译成字节码)、调试器、文档生成工具、打包工具以及其他一些辅助工具。
  • JDK是Java开发者创建、编译和调试Java应用程序所必需的环境。

JRE(Java Runtime Environment)

  • JRE包含了JVM以及运行Java程序所需的类库和其它支持文件。
  • JRE是部署Java应用程序的目标环境,能够支持在没有开发工具的情况下运行Java应用程序。
  • JRE中包括标准的类库,例如java.lang、java.util、java.io等,这些都是Java程序运行时可能需要的。

JVM(Java Virtual Machine)

  • JVM是Java程序的运行时核心组件,它是一种抽象的计算模型,能够在不同的硬件和操作系统上运行相同的Java字节码(.class文件)。
  • JVM负责解释和执行字节码,提供内存管理、线程调度、异常处理、垃圾回收等机制。
  • JVM实现了Java的安全性和跨平台特性,使得Java程序"一次编写,到处运行"。
  • .java文件 -> javac编译 -> .class 文件(字节码文件) -> 放到JVM(不同版本)实现一次编译,处处运行

总结:JDK包含了JRE,而JRE包含了JVM

相关推荐
mifengxing1 天前
LeetCode 41.缺失的第一个正数|Hard题O(n)+O(1)最优解法深度解析
java·算法·leetcode·排序算法
markinmarkin1 天前
Spring 中Bean 的作用域有哪些?
java·后端·spring
山荷枝1 天前
Java学习第十天
java·学习
matlabgoodboy1 天前
计算机毕设代做|Java Python Matlab APP 全套开发设计
java·python·课程设计
程序员雷欧1 天前
环形缓冲区深度解析:从基础原理到Disruptor源码的全面剖析
java
xiaoqiMikko1 天前
Dependabot 面板全绿,不代表你的 Tomcat 没洞
java·spring boot
前端开发张小七1 天前
Java 学习笔记 · 第三课:多线程与并发编程(线程、同步、死锁、Lock、乐观锁与悲观锁)
java·后端·程序员
花生了什么事o1 天前
JVM 垃圾回收:对象如何被判定和回收
java·jvm
evans在进步1 天前
HashMap 为什么线程不安全?ConcurrentHashMap 如何解决?
java·spring boot·spring
我命由我123451 天前
匈牙利命名法
java·服务器·后端·学习·java-ee·kotlin·学习方法