Съдържание:
Определение - Какво означава виртуална машина на Java (JVM)?
Java Virtual Machine (JVM) е слой на абстракция между Java приложение и основната платформа. Както подсказва името, JVM действа като „виртуална“ машина или процесор. Към байт-кодовете, съдържащи програмата, те комуникират с физическа машина; те обаче всъщност взаимодействат с JVM.
Techopedia обяснява виртуалната машина на Java (JVM)
JVM позволява преносимостта на Java да се изпълнява в независими от платформата и хардуера приложения. Това е голяма част от философията „напиши веднъж, пусни навсякъде (WORA)“. JVM всъщност е част от Java Runtime Environment (JRE). Именно JRE (JVM плюс базови класове) позволява на байт кода на Java да се изпълнява на всяка платформа. Байт-кодовете, които се интерпретират от JVM, просто извикват класове, открити в JRE, когато трябва да изпълняват действия, които не могат да направят сами. Някои действия, като тези, насочени към основния хардуер или операционната система, се извършват от JVM. Bytecodes липсват функционалност сами по себе си и се нуждаят от JVM, за да изпълняват много задачи за тях. Това възприемано ограничение всъщност е предимство. Първо, той позволява на Java програмите да са много малки в сравнение с други изпълними програми. Второ и по-важното е, че им позволява да бъдат много преносими. Тъй като всеки JVM е пригоден за конкретна платформа, Java програма не може да работи върху нея, освен ако: (1) Създаден е подходящ JVM за нея и; (2) Това JVM е инсталирано върху него. Следователно преносимостта на Java програми зависи изцяло от наличието на конкретен JVM. Комуникацията между приложение и всяка основна платформа може да бъде много сложна, но JVM се справя добре, като осигурява слой на абстракция между двете. Като такива, разработчиците не трябва да са наясно с тънкостите, свързани с всяка двойка платформа за приложения.