java - 在多处理器系统中,每个处理器会有独立的 JVM 吗?
问题描述
假设我们有一个具有多个处理器的系统。这些处理器中的每一个都有自己的 JVM 吗?如果不是,那么另一个问题是在具有两个不同操作系统(例如 Windows 和 RedHat)分区的计算机中,我们必须在其中任何一个上运行 java 应用程序。JVM 对于两个平台都会有所不同,那么这将如何工作?
解决方案
假设我们有一个具有多个处理器的系统。这些处理器中的每一个都有自己的 JVM 吗?
不,每个程序执行都会启动一个 JVM 实例,但是 JVM 可能(取决于实现)使用多个进程并且大多数肯定使用多个线程运行,这两者都能够利用多处理器设施系统。
如果不是,那么另一个问题是在具有两个不同操作系统(例如 Windows 和 RedHat)分区的计算机中,我们必须在其中任何一个上运行 java 应用程序。JVM 对于两个平台都会有所不同,那么这将如何工作?
您为每个操作系统安装一个单独的 JVM。同样,在每个操作系统中,每个程序执行都会启动一个 JVM 实例,上述情况再次适用。
Java 是“编译一次,随处运行”,因此只要 JVM 版本与您编译的版本兼容,无论您在哪个操作系统和相应的 JVM 上执行它,它都会完全一样地工作。
这是因为 Java 字节码与平台/操作系统无关(它由 JVM 解释),而 JVM 本身是平台/操作系统特定的。
推荐阅读
- mongodb - 如何在代理后面使用 Studio 3t 连接到 mongo 服务器?
- comobject - 使用 PowerShell Core for Mac 加载带有宏的 .xls 文件
- git - 如何在玩笑中使用 --changedSince 和 --onlyChanged?
- webpack - Webpack 4.16.5 中实现了哪个版本的 UglifyJS?
- java - 如何在 Firebase 中获取特定的 pushID?
- here-api - 在矩形 HERE 地图上添加文本/内容
- microsoft-teams - 如何获取 Microsoft Teams 上下文属性 hostClientType
- c# - 在随机生成的整数列表中查找所有模式及其出现频率的最有效方法
- validation - 是否可以在没有值的情况下验证 Ciloci.Flee 中的公式
- c# - 在 ActionResult Create 中将多个模型传递给控制器