我读到每个应用程序都在自己的JVM中运行。为什么会这样呢?他们为什么不让一个JVM运行2个或更多应用程序?
我说的是通过公共静态void main(String [])方法启动的应用程序…)
(我假设您正在谈论通过public static void main(String[])
方法启动的应用程序…)
理论上,您可以在JVM中运行多个应用程序。实际上,它们可以以各种方式相互干扰。例如:
简而言之,有很多问题。人们已经尽力使这项工作成功,但是他们从未真正成功。一个示例是Echidna库,尽管该项目已经安静了大约10年。
JNode是另一个示例,尽管它们(实际上是我们)是通过入侵核心Java类(例如java.lang.System)来“欺骗”的,以便每个应用程序都可以看到是System.in/out/err的独立版本,即System属性依此类推1。
1-此(“小程序”)被认为是临时破解,有待使用真正的“隔离”的适当解决方案。但是隔离支持陷入僵局,主要是因为JNode架构使用单个地址空间,而没有明显的方式来分离“系统”和“用户”内容。因此,尽管我们可以创建与隔离API匹配的API,但实际上无法实现关键的隔离功能(例如彻底杀死隔离)。至少,那是/是我的观点。
我有一个java应用程序,它在运行时会产生另一个JVM。然而,我想使用jpack打包我的应用程序,它运行得很好。但是在运行时,当我的应用程序尝试使用调用下一个JVM时 我必须知道,应用程序是使用定制的JVM启动的,并且没有像“java”这样的命令。所以我得到的错误是这个java。无法执行getAbsolutePath()。 如果没有java可执行文件,我的应用程序如何在单独的进程中运行另一个jar
根据DynamoDB文件:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-general-nosql-design.html “在DynamoDB应用程序中,您应该维护尽可能少的表。大多数设计良好的应用程序只需要一个表。” 但是根据我的经验,由于分区键设计,你总是不得不做相反的事情。 让我们考虑下一个情况。我们
问题内容: 每个JavaScript程序员都应该具备能够说“我知道JavaScript”的东西吗? 问题答案: 不是jQuery。 不是YUI。不是(等) 框架可能很有用,但是它们经常隐藏一些关于JavaScript和DOM实际工作方式的丑陋细节。如果您的目标是能够说“我知道JavaScript”,那么在框架上投入大量时间是相反的。 以下是一些JavaScript语言功能,您应该了解这些功能在做什
问题内容: 我在我正在研究的项目中使用reactjs和助焊剂架构。我对如何将嵌套数据正确地拆分到存储中以及为什么应该将数据拆分到多个存储中感到困惑。 为了说明问题,我将使用以下示例: 想象一下您有项目的Todo应用程序。每个项目都有任务,每个任务都可以有注释。 该应用程序使用REST api检索数据,返回以下响应: 虚拟应用程序的界面在左侧显示一个项目列表,当您选择一个项目时,该项目变为活动状态,
本文向大家介绍游戏服务器应该为每个用户开辟一个线程还是一个进程,为什么?相关面试题,主要包含被问及游戏服务器应该为每个用户开辟一个线程还是一个进程,为什么?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 游戏服务器应该为每个用户开辟一个进程。因为同一进程间的线程会相互影响,一个线程死掉会影响其他线程,从而导致进程崩溃。因此为了保证不同用户之间不会相互影响,应该为每个用户开辟一个进程
我编写了代码示例: 每100毫秒提交一个新任务(总任务量-20)。每个任务持续时间-0.5秒。因此,可以并行执行5个任务,最佳执行时间为:20*100 500=2.5秒,池应创建5个线程 但我的实验显示为9.6秒。我打开jsvisualvm查看池创建了多少线程,我看到只创建了一个线程: 请更正我的线程池配置不正确的地方。