首页 > 其他分享 >JVM, JRE 和 JDK

JVM, JRE 和 JDK

时间:2024-12-06 23:53:50浏览次数:5  
标签:JRE Java JDK JVM 工具 运行

JRE: Java Runtime Environment, Java 运行环境.

JDK: Java Development Kit, Java 开发工具包.

JRE = JVM + 核心类库 + 运行工具

JDK = JVM + 核心类库 + 开发工具

JVM: Java Virtual Machine, Java 虚拟机.

核心类库: Java 已经写好的东西, 直接拿来用即可.

开发工具: 包括 javac (编译工具) , java (运行工具) , jdb (调试工具) , jhat (内存分析工具) 等.

运行工具是从开发工具中抽取出来的, 比如去掉了编译工具 javac, 调试工具 jdb 等, 但是包括运行工具 java 等.

JVM 是一个虚拟的计算机, 具有指令集并使用不同的存储区域. 负责执行指令, 管理数据, 内存, 寄存器.

JVM 是真正运行 Java 程序的地方.

不同的平台有不同的 JVM. JVM 机制屏蔽了底层运行平台的差别, 实现了 "一次编译, 处处运行".

如果想要运行一个已经开发好的 Java 程序, 计算机中只需安装 JRE 即可.

JDK 是提供给 Java 开发人员使用的, 其中包含了 Java 的开发工具, 也包括了 JRE, 所以如果安装了 JDK, 就不用再单独安装 JRE 了.

JDK 包含了 JRE, JRE 包含了 JVM.

因为不同的操作系统需要不同的 JVM, 而 JVM 又是包含于 JDK 的, 因此不同的操作系统就需要安装不同的 JDK.

image

标签:JRE,Java,JDK,JVM,工具,运行
From: https://www.cnblogs.com/Chengkai730/p/18591615

相关文章

  • 一次彻底掌握数据中心级的JVM调优实战经验
    出现内存溢出的场景通常发生在应用程序中存在内存泄漏、对象生命周期过长、对象频繁创建但未能及时回收等问题。以下是几个真实的业务场景,结合内存溢出问题,并从多个角度提出优化方法,来提高内存使用效率。场景1:大量业务数据缓存导致堆内存溢出场景描述:一个企业级Web应......
  • 1 初识JVM
    想要对java虚拟机更深入的了解,可以查看《HotSpot实战》。需要电子版的请扫我头像关注我的个人号,发送000006领取电子书我们知道java程序是把java源文件编译成字节码.class文件,然后交给JVM执行。那么java到底是解释执行还是编译执行的语言呢?这个没有固定的答案,具体要要看用......
  • 安装JDK
    登录官网进行版本的jdk下载,别想太多,肯定得创建个账号登录它才让你下载。。。。老实搞吧https://download.oracle.com/otn/java/jdk/8u361-b09/0ae14417abb444ebb02b9815e2103550/jdk-8u361-linux-x64.tar.gz建议现在本地下载后,通过lrzsz上传给服务器,服务器上使用wget方式下载特......
  • jvm内存结构详解
    JVM内存结构是Java程序运行的核心,它管理着程序运行时所需的内存空间,确保内存分配、回收以及线程之间的安全和高效通信。以下是JVM内存结构的详细解析:1. 程序计数器(ProgramCounterRegister):• 每个线程都有自己的程序计数器,用于记录当前线程正在执行的字节码指令的地址。......
  • Android studio出现uplicate class kotlin.time.jdk8.DurationConversionsJDK8Kt foun
    Android编译KotlinSDK依赖包类重复冲突问题1、问题问题:gradle同步可以成功,但是编译运行时,出现以下异常。2、分析取以上内容中的一条进行分析可以看到在模块org.jetbrains.kotlin:kotlin-stdlib:1.8.20和org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21中存在重复的......
  • ArrayList源码解析-JDK18
    引言ArrayList在JDK1.7和1.8中的差距并不大,主要差距以下几个方面:JDK1.7在JDK1.7中,使用ArrayListlist=newArrayList()创建List集合时,底层直接创建了长度是10的Object[]数组elementData;在接下来调用add()方法向集合中添加元素时,如果本次的添加导致底层elementData数组容量不......
  • JDK安装及配置
    下载进入oracle官网https://www.oracle.com/找到Product选项点击DownloadJava进入下载页面页面显示的是最新版本的jdk,在Javaarchive中有历史版本的jdk安装解压安装包解压后的文件配置环境变量我的电脑>属性>高级系统设置>环境变量添加环境变量JAVA_HOME并......
  • JVM优化,Redis,MySQL相关面试题
    一、平常对SQL优化的了解1.索引优化创建索引:为常用的查询字段创建索引,可以显著提高查询速度。例如,为订单金额的字段创建索引,可以加速按订单金额的排序操作。优化索引:定期维护索引,避免索引碎片化,保持索引性能。使用覆盖索引:通过创建覆盖索引,可以避免回表操作,进一步提高查......
  • jdk8新特性-详情查看文档
    @目录摘要1.四大内置核心函数式接口2.方法引用3.lambda表达式()→{}4.streamAPI4.1什么是stream?4.2Stream的操作三个步骤5.Optional容器类-最大化减少空指针异常摘要四大内置核心函数式接口方法引用lambda表达式()→{}streamAPIOptional容器类1.四大内置核心函数式......
  • JDK安装及配置
    JDK安装及配置下载进入oracle官网https://www.oracle.com/找到Product选项点击DownloadJava进入下载页面页面显示的是最新版本的jdk,在Javaarchive中有历史版本的jdk安装解压安装包配置环境变量我的电脑>属性>高级系统设置>环境变量添加环境变量JAVA_HOME并......