Похожие вопросы

В чем разница между виртуальной машиной Java и виртуальной машиной VMWare?

Я знаю, что они оба называются "виртуальными машинами", но в чем разница?

5
задан WinMacLinUser
источник

3 ответов

термин виртуальная машина просторечие в том, что он просто относится к идея машины (не самой вещи). Благодаря этому он может ссылаться практически на любую часть программного обеспечения (следовательно, виртуальную), которая "действует" как машина. Эмулятор видеоигр-это виртуальная машина (и на самом деле очень похож на то, как работает JavaVM).

самая большая разница между типами виртуальных машин в что они виртуализируют и как они это делают (т. е. как они абстрагируют идею машины).

VMWare (VirtualBox/etc.) попытка представить устройства на хост-машине ведомой машине так что гостевая машина может использовать непосредственно с аппаратными средствами (например, возможность использовать USB устройства в гостевой) и в этом контексте не так много на самом деле виртуализации (в классическом понимании этого слова) с момента оценки использования самого оборудования. Для этого VMWare/etc. больше похожи на аппаратные прокси, чем на "виртуальную машину". Построенное програмное обеспечение для одной платформы / архитектуры по-прежнему будет выполняться только для этой платформы/архитектуры независимо от виртуальной машины гостя/узла.

Что касается Java, правильнее сказать "виртуальная машина Java", больше, чем "a" виртуальная машина Java; JVM пытается абстрагировать аппаратное обеспечение и саму машину, поэтому разработчику не нужно беспокоиться о таких вещах, как тип архитектуры или платформа. Программное обеспечение, построенное на Java, должно работать на любой платформе, на которой установлена соответствующая версия JVM, независимо от типа физической машины.

разница между этими двумя понятиями виртуальной машины в абстракции и код выполняется нативно (т. е. непосредственно на оборудовании). JVM пытается абстрактно, как большая часть платформы/архитектуры/машина, как можно сделать код как агностик, как это возможно, чтобы иметь возможность работать, как на многих устройств, как это возможно (то поддержка Java), где на базе VMware/VirtualBox и контейнер рефераты телесность машины как можно больше, чтобы вы может уменьшить физическое оборудование, необходимое для запуска платформы, хотя у вас все еще есть те же мягкие ограничения (например, я не могу написать сборку ARM и ожидать, что она "просто запустится" на процессоре x86 в VMWare/VirtualBox).

там довольно немного больше деталей, которые можно было бы объяснить в "точные" различия между этими двумя типами виртуальных машин (более так сказать сравнивая JVM .NET или эмулятор WINE), но это попадает в более низкого уровня проектирования систем; на высоком уровне, хотя, это следует объяснить ключевые различия между JVM и виртуальной машины для VMware.

Я надеюсь, что это поможет внести некую ясность.

3
отвечен txtechhelp 2015-11-25 13:33:00
источник

главным образом разница основная машина. С Java, это хорошо указанный специальная чистая машина программного обеспечения со своим собственным языком машины (байт-код) в то время как с VMWare (или VirtualBox и т.д.), представленная базовая машина близка к физическому ПК, использующему тот же машинный язык, что и реальное оборудование (x86).

1
отвечен jlliagre 2015-11-25 07:08:35
источник

JVM-это виртуальная машина, которую Java использует для выполнения Java-программ, поэтому разработчик просто компилирует код один раз, затем программа может быть запущена на других ОС и архитектурах без перекомпиляции, с условием, что программа Java должна запускаться JVM, совместимой с архитектурой и ОС машины.

VMware VM-это программное обеспечение гипервизора, которое создает и запускает виртуальную машину. "Виртуальная машина" здесь похожа на цитату из Википедии:

в computing, виртуальная машина (VM) является эмуляцией компьютерной системы. Виртуальные машины основаны на компьютерных архитектурах и обеспечивают функциональность a физический компьютер. Их реализации могут включать специализированное оборудование, программное обеспечение или их комбинацию.

https://en.wikipedia.org/wiki/Java_virtual_machine

https://en.wikipedia.org/wiki/Hypervisor

Virtual_machine

0
отвечен Rafid Aslam 2017-05-27 23:07:27
источник