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

JDK,JRE,JVM

时间:2024-07-25 18:30:12浏览次数:6  
标签:JRE java JDK JVM Java 运行

目录


JDK,JRE,JVM

JDK:Java Development Kit

JDK(Java Development Kit) 是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。

JDK是java开发工具包,基本上每个学java的人都会先在机器 上装一个JDK,那他都包含哪几部分呢?在目录下面有 六个文件夹、一个src类库源码压缩包、和其他几个声明文件。其中,真正在运行java时起作用的 是以下四个文件夹:bin、include、lib、 jre。有这样一个关系,JDK包含JRE,而JRE包 含JVM。

  • bin:最主要的是编译器(javac.exe)

  • include:java和JVM交互用的头文件

  • lib:类库

  • jre:java运行环境

JRE:Java Runtime Environment

JRE(Java Runtime Environment,Java运行环境),包含JVM标准实现及Java核心类库。JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器)

JRE是指java运行环境。光有JVM还不能成class的 执行,因为在解释class的时候JVM需要调用解释所需要的类库lib。(jre里有运行.class的java.exe)

JRE ( Java Runtime Environment ),是运行 Java 程序必不可少的(除非用其他一些编译环境编译成.exe可执行文件……),JRE的 地位就象一台PC机一样,我们写好的Win64应用程序需要操作系统帮 我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。

JVM:Java Virtual Machine

JVM(Java Virtual Machine),即java虚拟机, java运行时的环境,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。针对java用户,也就是拥有可运行的.class文件包(jar或者war)的用户。里面主要包含了jvm和java运行时基本类库(rt.jar)。rt.jar可以简单粗暴地理解为:它就是java源码编译成的jar包。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。这就是Java的能够“一次编译,到处运行”的原因。

JDK、JRE和JVM之间的关系

JDK包含JRE,而JRE又包含JVM。

  • JDK是为了满足Java开发人员的需要而创建的,其中包含开发工具和JRE。因此,如果你需要编写Java程序,那么你需要JDK。

  • JRE是为了运行那些已经编写好的Java程序而创建的,JRE中包含有JVM和Java类库,但是并不包含其他开发工具,因此,如果你只需要运行Java程序,那么你只需要JRE就可以了。

  • JVM就像一个桥梁,它负责将我们编写的Java代码(人类可以理解的)转化为机器可以运行的机器代码。

JDK、JRE和JVM的区别

JDK是开发工具,它让程序员编写Java程序。
JRE是运行环境,它让编写好的Java程序可以被运行。
JVM则是JRE的一部分,位于程序执行的最前沿,将字节码转化为机器代

标签:JRE,java,JDK,JVM,Java,运行
From: https://www.cnblogs.com/1762898523qq/p/18323888

相关文章

  • JDK下载与安装
    JDK下载1.JDK可以到官网下载http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html2.以安装jdk8为例,双击运行jdk-8u202-window-x64.exe,点击下一步下一步之后可以更改路径:3.一直点击下一步安装即可JDK环境变量配置1.打开控制面板->系统和......
  • JDK、JRE和JVM
    JDKjavadevelopmentkit 软件开发工具包JDK=JVM+核心类库+开发工具核心类库:Java事先已经定义好的东西这里的Java开发工具有集成开发环境如idea,有javac编译工具(将Java代码变换成class文件),java运行工具,jbd调试工具(查看代码的运行),jhat内存分析工具(监控程序在运行时的内存)......
  • 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堆和方法区这两个区域具有......