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

JDK、JRE和JVM

时间:2024-07-25 16:28:30浏览次数:15  
标签:JRE Java 字节 JDK JVM java 运行

JDK

java development kit 软件开发工具包

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

核心类库:Java事先已经定义好的东西

这里的Java开发工具有集成开发环境如idea,有javac编译工具(将Java代码变换成class文件),java运行工具,jbd调试工具(查看代码的运行),jhat内存分析工具(监控程序在运行时的内存)

JRE

java runtime environment java运行环境

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

用途:只运行Java程序,而不是进行开发,则只需要安装JRE

前提条件:java代码已经编写完毕,并且已经编译成字节码文件

JVM

java virtual machine java虚拟机,真正运行Java程序的地方

java的跨平台原理就是因为在不同的操作系统安装了对应的虚拟机,使得相同的字节码文件可以在不同的操作系统上运行,这是因为java虚拟机屏蔽了具体与操作平台相关的信息

从源代码到运行的过程

使用java编译器编译源代码文件(以.java结尾的文件) 对应的命令是javac Xxx.java

将其转换为字节码文件(以.class结尾)使用虚拟机来执行这个字节码文件,对应的命令是java Xxx

这里注意java会将编译好的字节码文件按行交给平台进行翻译,所以java是混合型的语言

三者之间的关系

![image-20240725161442067](C:\Users\Mo lina\AppData\Roaming\Typora\typora-user-images\image-20240725161442067.png)

标签:JRE,Java,字节,JDK,JVM,java,运行
From: https://www.cnblogs.com/molina/p/18323506

相关文章

  • JDK JRE JVM的关系
    JDKJREJVM的关系JDK中包括JRE,在JDK的目录下有一个jre的目录,里面有两个文件bin和lib,我们可以认为bin里的就是jvm,lib中则是jvm所需的类库,则jvm和lib合称为jreJDK是面向开发者的,JRE是面向使用java程序的用户JDK(JavaDevelopmentkit)定义:java开发工具包,java的核心,包括java运行......
  • 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......