首页 > 其他分享 >JDK JRE JVM的关系

JDK JRE JVM的关系

时间:2024-07-25 16:11:33浏览次数:9  
标签:JRE java lib JDK 虚拟机 JVM

JDK JRE JVM的关系

JDK中包括JRE,在JDK的目录下有一个jre的目录,里面有两个文件bin和lib,我们可以认为bin里的就是jvm,lib中则是jvm所需的类库,则jvm和lib合称为jre JDK是面向开发者的,JRE是面向使用java程序的用户

JDK(Java Development kit)

定义:java开发工具包,java的核心,包括java运行环境JRE,一堆java工具(javac/java/jdb)和java基础的类库(javaAPI,包括rt.jar)

JRE(Java Runtime Environment)

定义:运行java语言编写程序不可缺少的运行环境 并不是一个开发环境,所以没有包含任何开发工具

JVM(java virtual machine)

java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。 也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。 JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

标签:JRE,java,lib,JDK,虚拟机,JVM
From: https://www.cnblogs.com/yangcurry/p/18323391

相关文章

  • JDK,JRE,JVM三者的区别与联系
    JDK,JRE,JVM目录JDK,JRE,JVMJDK(JavaDevelopmentKit)JRE(JavaRuntimeEnvironment)JVM(JVMJavaVirtualMachine)JDK、JRE和JVM之间的关系JDK、JRE和JVM的区别JDK(JavaDevelopmentKit)​JDK,全称JavaDevelopmentKit,即Java开发工具包。顾名思义,JDK是用于Java开发的一套工具......
  • JVM个人详细笔记总结
    jvm概念和运行过程jvm是java的虚拟机位于操作系统层之上,应用程序层之下,所以才具有跨平台能力,JAVA文件需要通过JVM转译成字节码或通过javac命令编译为.class文件后才能运行JAVA程序,运行时必须要有JRE(运行环境),JDK是开发包,其中包含有JRE。jvm组成JVM结构主要分为三个部分:类......
  • JVM 内存结构、垃圾回收机制与并发容器
    目录一、JVM内存结构 1.程序计数器(ProgramCounterRegister): 2.Java虚拟机栈(JVMStack): 3.本地方法栈(NativeMethodStack): 4.堆(Heap): 5.方法区(MethodArea):二、垃圾回收机制 1.标记-清除算法: 2.复制算法: 3.标记-整理算法: 4.分代收集:三、并发容器......
  • 一文弄懂JVM类加载器与双亲委派机制
    类的加载器完成类的加载环节中的装载阶段的工作(通过一个类的全限定名来获取该类的二进制字节流,且这个动作在虚拟机**外部实现**,即开发者可以决定如何去获取所需的类),且**不会影响后续的链接和初始化阶段,但类的加载器的存在使得类不会卸载**。类的加载器的意义:加载器的意义......
  • Linux下jdk安装及环境变量配置
    一、解压安装jdk 将下载好的压缩文件复制到/usr/local/src目录下进入/usr/local/src并解压:cd/usr/local/src&&tarxvf[压缩文件名称]二、配置环境变量(推荐使用第三种或第四种)配置之前需要根据实际情况在命令行设置JAVA_HOME:例如(/usr/local/src/jdk1.8.0_......
  • Failed to create JVM.JVM Path:D:\IntelliJ IDEA 2024.1.4\jbr Error launching I
     IDEA修改启动参数掉大坑!情况说明:在Help>EditCustom VMOptions修改IDEA的VM产生之后无法打开(重启/重装多次依然无法打开),修改C盘的idea64.exe.vmoptions和安装目录的idea64.exe.vmoptions依然无法启动!,后面把IDEA安装目录的jar文件夹删了,又重装JDK。由于我有多个JDK环境,......
  • 深入理解Java虚拟机:JVM高级特性与最佳实践-第三章-垃圾收集器与内存分配策略
    在java内存运行时区域中的各个部分中,程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,因此这几个区域的内存分配和回收都具备确定性,在这几个区域内就不需要过多考虑如何回收的问题,当方法结束或者线程结束时,内存自然就跟随着回收了。但是Java堆和方法区这两个区域具有......
  • 下载和删除JDK8
    1下载jdk8打开此电脑找到属性知道自己的电脑的属性2搜素jdk8官网,现在我们知道自己的电脑属性。下载适合自己的电脑的版本3下载版本前你必须先服从条约安装安装的时候注意地址重要性后面我们还是会用到这个地址的1在属性主找的高级系统设置---环境变量---新......
  • SpringBoot升级到3.3.2版本,JDK升级到17,引入Mybatis-plus后启动报错:Property 'sqlSessi
    【问题描述】2024-07-23T15:16:07.174+08:00WARN2604---[questionnaire][main]ConfigServletWebServerApplicationContext:Exceptionencounteredduringcontextinitialization-cancellingrefreshattempt:org.springframework.beans.factory.UnsatisfiedDependen......
  • Arthas调试JVM参数的使用
    一、对于JVM介绍1.JVM区域JVM区域总体分两类,heap区和非heap区。heap区又分:EdenSpace(伊甸园)、SurvivorSpace(幸存者区)、TenuredGen(老年代-养老区)。非heap区又分:CodeCache(代码缓存区)、PermGen(永久代)、JvmStack(java虚拟机栈)、LocalMethodStatck(本地方法栈)。2.Ho......