java - 有人可以解释什么是虚拟机以及它们为什么有用吗?

标签 java operating-system virtual-machine virtualization

<分区>

我经常听到这个词,但我有点困惑。

  • 它是否只是一个构建在操作系统上并可以模拟另一个操作系统的软件应用程序?

  • 当有人编写虚拟机代码时,他们是否基本上是着手制作操作系统,而不是直接访问硬件,他们只是调用他们需要的适当陷阱指令?但是这样你就不能模拟某些 protected Action ,比如中断,对吧?

  • 除了我能够从 Windows 中远程连接到 Linux 桌面并运行它之外,还有其他可能有用的原因吗?

  • 什么是“虚拟机监视器”?

  • Java 虚拟机的意义何在,为什么不像其他语言那样做呢?

干杯

最佳答案

那里有很多问题,我将开始解释我使用虚拟机的经历。

它们是在不同操作系统版本上测试代码或应用程序的好方法,例如 vista 与 windows 7 或不同版本的 android,例如 2.3 与 4.0。

它们也是保持主台式计算机清洁的好方法。也许我想安装一些 beta 软件,或者 beta OS,我不想让我的主机不稳定。我可以安装 Windows 8 预览版并对其进行处理,然后再将其丢弃。 Windows 8 预览版不够稳定,无法用作我的主要机器,但我可能需要对其进行评估。

我还可以制作虚拟机并进行快照。这意味着如果我想测试一个应用程序,我可以回滚到快照,这样我就可以知道测试应用程序时机器的确切状态。

Virtual machine monitor 是一个应用程序,我可以在其中查看所有虚拟机的当前状态。也许我正在运行一个运行着多个实时服务器的生产系统。如果它们是 Web 服务器,则它们都可以在虚拟机中运行。虚拟机监视器是我可以查看它们各自使用多少 CPU 的地方。增加内存、添加服务器、删除服务器、安装新服务器等。

虚拟机在这种实际情况下非常有用,因为您可以克隆、增加内存、减少内存、添加更多服务器等,这些操作都可以很容易地完成。

关于java - 有人可以解释什么是虚拟机以及它们为什么有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10695781/

相关文章:

java - 打开 jar 文件时,更改 JAVA 中的外观和感觉不起作用

JavaFX ListView 和 ContextMenu - getSelectedItem() 返回 null

java - 操作系统中的进程和线程调度

javascript - 通过javascript获取特定的Windows版本

git - 在 Ubuntu 上配置 Git 托管

java - 如何将两个逗号分隔的值写为一个值

java - 将 JSON 发送到 Rails

linux - 可变上下文切换时间

azure - 更改docker ubuntu默认安装路径

android - 如何在 Linux 的 BIOS 和 KVM 模块中启用 VT-x?