Java Virtual Machine (JVM)
Com a linguagem de programação Java, você pode, por exemplo, criar um aplicativo que rode tanto no Linux quanto no Windows. Mas a linguagem Java não se limita a esses sistemas operacionais. É possível desenvolver aplicações para uma infinidade de plataformas. Para isso, basta que elas tenham uma Java Virtual Machine (JVM) ou, em português, Máquina Virtual Java.
Java Virtual Machine (Máquina virtual Java - JVM)
O Java Virtual Machine é apenas um aspecto do software Java envolvido na interação com a Web, é um programa que carrega e executa os aplicativos Java, convertendo os bytecodes (forma intermediária de código) em código executável de máquina. A JVM é responsável pelo gerenciamento dos aplicativos, à medida que são executados. Graças à máquina virtual Java, os programas escritos em Java podem funcionar em qualquer plataforma de hardware e software que possua uma versão da JVM, tornando assim essas aplicações independentes da plataforma onde funcionam.
Funcionamento da JVM:
Quando você faz um programa em Java e o compila, se tudo estiver certo, o compilador gerará bytecodes desse programa. Bytecode é uma espécie de codificação que traduz tudo o que foi escrito no programa para um formato que a JVM entenda e seja capaz de executar. Assim, se você fizer um programa em Java no Linux, ele será capaz de rodar no Windows ou em qualquer outro sistema operacional que tenha JVM. Isso ocorre porque não existe bytecodes diferentes, isto é, os bytecodes dos programas em Java compilados no Windows são constituídos da mesma forma que bytecodes gerados se a compilação fosse feita em Mac OS, por exemplo. De certo que, podem haver algumas diferenças, que dependem da implementação da JVM e claro, do compilador. Quando um código em Java é compilado, um arquivo com a extensão .class é gerado. Esse tipo de arquivo é o bytecode. Assim, quando o programa Infowester.java for