当前位置: 首页 > 知识库问答 >
问题:

Java程序只是JRE的实例吗?

钱经业
2023-03-14

当您在Windows中运行.exe控制台应用程序(例如用C++编写的应用程序)时,Windows将为您创建一个控制台窗口。

因此,从本质上说,该程序除了运行Windows本身之外,并不运行于任何其他东西之上。

当您在cmd.exe控制台中调用java main.class时,它真的是自己的独立程序吗?它更像是java是正在运行的程序,而main.class只是给定的一个参数。

共有1个答案

夏建木
2023-03-14

更简单地说,答案是:是的(尽管您真正指的是JVM而不是JRE)。操作系统正在运行的程序是JVM(Java虚拟机),而Java应用程序是该程序正在读取的数据。JVM就像Microsoft Word,Java程序就像Word文档。

这个问题触及到编译语言和解释语言之间的本质区别,正如这里所描述的那样。

用这个类比来进一步解释JVM和JRE是什么...JVM就像Microsoft Word程序本身,JRE就像MS Word程序加上所有其他东西,比如模板、示例文档、字体等等,这些东西都是随它一起安装的,以支持它所做的事情。

 类似资料:
  • 我不懂java更新。使用Windows 10,当我进入C:\Program Files\Java时,我有3个文件夹: -jdk1.8.0_221 -jre1.8.0_251 -jre1.8.0_261 当我打开cmd并键入java-version时,我得到: 当我键入javac-version时,我得到: 我检查了环境变量,它没有与Java相关的注释。当我输入cmd时,我得到: 当我键入where

  • 看起来JDK提供了自己的apache Xalan阴影版本。 我在使用XSLT生成XML时发现了一个bug(bug是在某些cdata节中添加了一个新行和缩进)。这在未发布的JDK12中得到了修复。我希望避免这种情况,即我必须等待oracle修复问题,同时升级所使用的JRE。 我希望能够依赖xalan或其他支持XSLT的东西,而不依赖于JRE。 oracle是否为其独立于Apache的JRE维护自己的

  • 问题内容: 有没有一种Python方式可以只运行一个程序实例? 我想出的唯一合理的解决方案是尝试将其作为服务器在某个端口上运行,然后尝试将第二个程序绑定到同一端口-失败。但这不是一个好主意,也许有比这更轻巧的东西了吗? (考虑到程序有时可能会失败,例如segfault-因此“锁定文件”之类的东西将无法工作) 问题答案: 以下代码可以完成此工作,它是跨平台的,并且可以在Python 2.4-3.2上

  • 本文向大家介绍用Java程序判断是否是闰年的简单实例,包括了用Java程序判断是否是闰年的简单实例的使用技巧和注意事项,需要的朋友参考一下 我们知道,(1)如果是整百的年份,能被400整除的,是闰年;(2)如果不是整百的年份,能被4整除的,也是闰年。每400年,有97个闰年。鉴于此,程序可以作以下设计: 第一步,判断年份是否被400整除,能的话,就是闰年。比如1600、2000、2400年是闰年。

  • 问题内容: 我需要防止用户多次启动我的Java应用程序(WebStart Swing应用程序)。因此,如果应用程序已经在运行,则应该无法再次启动它或显示警告/再次关闭它。 有一些方便的方法可以做到这一点吗?我考虑过要阻止端口或将某物写入文件。但是希望您可以访问某些系统属性或JVM? 顺便说一句 目标平台是带有Java 1.5的Windows XP 问题答案: 我认为您的建议是在启动应用程序时打开端

  • 问题内容: 有没有一种Python方式可以只运行一个程序实例? 我想出的唯一合理的解决方案是尝试将其作为服务器在某个端口上运行,然后尝试将第二个程序绑定到同一端口-失败。但这不是一个好主意,也许有比这更轻巧的东西了吗? (考虑到程序有时可能会失败,例如segfault-因此“锁定文件”之类的东西将无法工作) 问题答案: 以下代码可以完成此工作,它是跨平台的,并且可以在Python 2.4-3.2上