Java
Introdução
Com a linguagem de programação Java, você pode, por exemplo, criar um aplicativo e executá-lo tanto no Linux quanto no Windows. Mas a linguagem Java não se limita a esses sistemas operacionais. É possível desenvolver aplicações que rodem em uma infinidade de plataformas. Para isso, basta que elas tenham uma Java Virtual Machine (JVM) ou, em português, Máquina Virtual Java. Este artigo explicará o que esse mecanismo faz e o porquê de ser um componente tão essencial à linguagem Java. A Java Virtual Machine (Máquina Virtual Java) constitui um dos mais importantes pilares da tecnologia Java. É ela a responsável direta pelas características de portabilidade dos códigos, ou seja, pela independência de plataforma da linguagem.
Quando você compila um código Java utilizando o javac ou algum outro compilador IDE, você estará gerando um arquivo de bytecodes (de extensão .class). Estes arquivos são utilizados por outro programa (o interprettador Java ou o appletviewer) para executar de fato o programa. Cada computador tem o seu programa, mas todos eles serão capazes de ler bytecodes e transformá-los na linguagem da máquina em questão.
Na verdade, a JVM é uma camada que é colocada entre os bytecodes e a máquina. Resumidamente, os compiladores geram códigos para serem lidos pelos interpretadores e estes geram códigos para serem lidos pela máquina.
A grande “sacada” da Sun foi colocar em um software o interpretador Java, em vez de hardware. Ou seja, para que se possa ter independência de plataforma, porta-se um software em vez de uma CPU, o que é obviamente uma solução mais barata e prática.
O que é a Máquina Virtual Java
Você já deve ter usado Java antes e não sabe. Por exemplo, quando você está numa rodoviária e fica jogando algum game em seu telefone celular enquanto aguarda o ônibus. Os aplicativos feitos em Java estão presentes em uma infinidade de dispositivos, desde relógios até grandes mainframes. Tudo