Definição – O que significa Java Virtual Machine (JVM)?
A Java Virtual Machine (JVM) é uma camada de abstração entre um aplicativo Java e a plataforma subjacente. Como o nome indica, a JVM atua como uma máquina ou processador “virtual”. Para os bytecodes que compõem o programa, eles estão se comunicando com uma máquina física; no entanto, eles estão realmente interagindo com a JVM.
Definirtec explica Java Virtual Machine (JVM)
O JVM permite que a portabilidade Java seja executada em aplicativos independentes de plataforma e hardware. É uma grande parte da filosofia “escreva uma vez, execute em qualquer lugar (WORA)”. A JVM é, na verdade, parte do Java Runtime Environment (JRE). É o JRE (JVM mais classes básicas) que permite que o bytecode Java seja executado em qualquer plataforma. Bytecodes, que são interpretados pela JVM, simplesmente chamam as classes localizadas no JRE quando precisam executar ações que não podem fazer por si mesmas. Algumas ações, como aquelas direcionadas ao hardware subjacente ou ao sistema operacional, são executadas pela JVM. Bytecodes não possuem funcionalidade por si só e precisam da JVM para fazer muitas tarefas para eles. Essa limitação percebida é na verdade uma vantagem. Primeiro, permite que os programas Java sejam muito pequenos em comparação com outros programas executáveis. Em segundo lugar, e mais importante, permite que sejam muito portáteis. Como cada JVM é feito sob medida para uma plataforma específica, um programa Java não pode ser executado nela, a menos que: (1) Uma JVM apropriada tenha sido criada para ela e; (2) Esse JVM foi instalado nele. A portabilidade de programas Java é, portanto, totalmente dependente da presença de uma JVM específica. A comunicação entre um aplicativo e cada plataforma subjacente pode ser muito sofisticada, mas a JVM lida bem com isso, fornecendo uma camada de abstração entre os dois. Assim, os desenvolvedores não precisam estar cientes das complexidades envolvidas em cada par de plataforma de aplicativo.