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

JVM vs JDK vs JRE

时间:2023-04-17 23:11:07浏览次数:30  
标签:JRE Java JDK vs JVM 运行

  JVM(Java Virtue Machine)是运行 Java 字节码的虚拟机。JVM 有针对不同系统的特定实现(Windows,Linux,macOS),目的是使用相同的字节码,它们都会给出相同的结果。字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。JVM 并不是只有一种!只要满足 JVM 规范,每个公司、组织或者个人都可以开发自己的专属 JVM。 也就是说我们平时接触到的 HotSpot VM 仅仅是是 JVM 规范的一种实现而已。

  JDK (Java Development Kit),Java开发环境,它是功能齐全的 Java SDK。它拥有 JRE 所拥有的一切,还有编译器(javac)和工具(如 javadoc 和 jdb)。它能够创建和编译程序。

  JRE(Java Runtime Environment) 是 Java 运行时环境。它是运行已编译 Java 程序所需的所有内容的集合,包括 Java 虚拟机(JVM),Java 类库,java 命令和其他的一些基础构件。但是,它不能用于创建新程序。

  如果你只是为了运行一下 Java 程序的话,那么你只需要安装 JRE 就可以了。如果你需要进行一些 Java 编程方面的工作,那么你就需要安装 JDK 了。但是,这不是绝对的。有时,即使您不打算在计算机上进行任何 Java 开发,仍然需要安装 JDK。例如,如果要使用 JSP 部署 Web 应用程序,那么从技术上讲,您只是在应用程序服务器中运行 Java 程序。那你为什么需要 JDK 呢?因为应用程序服务器会将 JSP 转换为 Java servlet,并且需要使用 JDK 来编译 servlet。

 

标签:JRE,Java,JDK,vs,JVM,运行
From: https://www.cnblogs.com/cjhtxdy/p/17327909.html

相关文章

  • vSphere Web Client 添加主机进VSAN集群时报错“SAN 主机移至目标群集: vSAN 群集的 U
    案例描述vSphereWebClient添加主机进VSAN集群时,报“无法将vSAN主机移至目标群集:vSAN群集的UUID不匹配(主机:5223a6c9-cf94-f978-1abb-9906506626be,目标:523ae663-623b-e2fc-39e3-43b15c5ca801)。”错误。原因分析是因为该esxi主机已经加入过其它集群,和现在新加......
  • VSCodeSettings备份
    {"workbench.colorTheme":"Monokai","code-runner.runInTerminal":true,"code-runner.executorMap":{"javascript":"node","php":"C:\\php\\php.exe&......
  • vs 2010项目转成 2008
    *.csproj*.resx*.sln把11.0改成10.0版本把4.0改成3.5去掉app.config中的.NET版本,就可以不生成*..exe.config中的必需版本信息直接在项目中去掉app.config就不会生成配置文件了删除*..exe.config文件中的.NET版本配置......
  • 【Spring MVC + Tomcat】Spring MVC 传统VS现代方式的启动过程对比
    1 前言这节我们来讨论下SpringMVC传统和现在的启动方式的不同,可能大家现在上手就是SpringBoot直接给我们内置Tomcat,我们最多也就是改改配置就完事了,我记得我上学的时候写SSM的时候,还要整理各种Jar包和配置,这节我们就来对比下两种启动方式是如何启动SpringMVC的哈。2  传......
  • vscode调试 vue
    1.配置vue.config.js加上devtool:'source-map'//开发环境可以加,生产环境,别人可以看到源代码,不完全不要加 2.添加launch.jsonvscode打开调试窗口,在下图箭头指向的位置点击打开配置文件launch.json:   3.配置远程调试1)浏览器快捷方式设置浏览器桌面快捷方式......
  • vc环境对应vs版本
    https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist?view=msvc-170留待后查,同时方便他人......
  • vscode c++ 配置
    //vscodeC++环境配置//三个配置文件c_cpp_properties.json{"configurations":[{"name":"Win32","includePath":["${workspaceFolder}/**"],......
  • Linux离线安装jdk
    1、官网下载相应的jdkhttps://www.oracle.com/2、将jdk包上传到服务器并解压3、设置环境变量vi/etc/profileexportJAVA_HOME=/opt/jdk-20exportPATH=$PATH:$JAVA_HOME/binsource/etc/profile4、检查是否安装成功......
  • 如何删除vSAN节点的空壳存储卷(不一定能用上)
    背景:这个问题的来源是,某用户将该ESXi主机直接夺取到另一个vCenterA的管辖中,而这个vCenterA中集群A开启了VSAN功能,导致再次反向夺取到vCenterB中的时候带有了来自于集群A的种种VSAN服务。此时在vCenterB中可以看到这个回迁回来的主机一致都有标题中的警告信息:Figure1Hostwit......
  • VS2022支持.Net4.0到4.8之前的方法
    1、在单独装VS2022的情况下(没有安装VS2019/2017...的情况下),打开ji代码报错2、报错原因:VS2022不在包含.netframework4系列版本。3、解决方法:拷贝对应版本的目录到 C:\ProgramFiles(x86)\ReferenceAssemblies\Microsoft\Framework\.NETFramework ......