Máquina Virtual Java (Java Virtual Machine)

Com a linguagem Java, é 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 porque de ser um componente tão essencial à linguagem Java.

[ Hits: 51.626 ]

Por: Emerson Alecrim em 24/01/2005


Como a JVM funciona



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 Vivaolinux.java for compilado, um arquivo chamado Vivaolinux.class deverá ser executado. A imagem a seguir ilustra esse processo:


JVM e a questão da segurança


A linguagem Java, desde sua criação, sempre considerou com seriedade a questão da segurança. Por isso, é praticamente impossível criar programas em Java para fins maliciosos. Quando um programa em Java é executado, seu bytecode precisa passar pelos requisitos de segurança presentes na JVM, que impede a execução se o código tiver alguma irregularidade. Assim, se, por exemplo, no programa houver instruções para acessar áreas restritas da memória ou acessar recursos de hardware, a JVM não aprovará o código.

Outras linguagens, como C, são executadas diretamente pelo sistema operacional. Com isso, é possível criar programas que acessem recursos críticos do sistema. No caso da linguagem Java, a JVM atua como uma espécie de intermediária entre o programa e o sistema. Sendo assim, até mesmo o acesso a recursos de entrada e saída só é feito por meio da JVM.

Finalizando


Devido as características vistas anteriormente (e outras que não foram citadas neste artigo), a linguagem Java tem sido cada vez mais utilizada. O fato de se tratar de uma linguagem multi-plataforma, permite o desenvolvido de aplicativos e soluções para os mais diversos fins. E um dos grandes responsáveis por isso são as JVMs. Até mesmo você pode desenvolver uma JVM para um dispositivo qualquer, desde que tenha conhecimentos sólidos para isso. Sim, pois construir uma JVM não é fácil. Ela envolve uma série de conceitos complexos, como instruções equivalentes a de processadores, controle de acesso à memória, registradores, etc. Isso pode até parecer estranho, mas é necessário entender que as JVMs atuam, de fato, como uma máquina.

Mesmo que você não seja um desenvolvedor em Java, é interessante ter uma JVM em seu computador. Certamente você usará algum programa que usa recursos da linguagem Java. Portanto, procure pela JVM desenvolvida para seu sistema operacional no site da Sun (http://java.sun.com) e bom proveito!

Página anterior    

Páginas do artigo
   1. Introdução
   2. Como a JVM funciona
Outros artigos deste autor

Processos no Linux

O gerenciador de boot GRUB

Usando cron e crontab para agendar tarefas

Leitura recomendada

Como instalar/configurar e rodar aplicativos Java sob o Red Hat Linux 9

Programação orientada a objetos e o Java (parte 7)

Instalando e configurando o J2SE 5.0 no Linux

Programação orientada a objetos e o Java (parte 3)

Java no Ubuntu 12.04 - Instalação à moda antiga

  
Comentários
[1] Comentário enviado por yago.bs_12 em 29/01/2005 - 00:58h

eu adorei o seu artigo pq eu tenho um celular em java e pensava que java era só um programa para jogos e com seu artigo eu pude ter mais informações a respeito do meu celular e do meu computador.

[2] Comentário enviado por luiz0067 em 08/03/2006 - 11:45h

Gostei do artigo java é uma plataforma que permite uma diversa gama de aplicações que rodam em diversas outra plataforamas operacionais. oa unicos defeitos dela são quanto a perca de desempenho do hardware e que ela ainda não suporta multi linguagem como o .net

[3] Comentário enviado por cllaudiox em 23/09/2006 - 21:07h

muito bom o artigo, principalmente para quem está começando a desenvolver em java ...

parabéns ..

[4] Comentário enviado por thiagopriest em 07/06/2008 - 18:59h

Parabéns.

ÓTIMO artigo

[5] Comentário enviado por Luan Techio em 06/10/2009 - 14:05h

muito bom o artigo...
Parabens

[6] Comentário enviado por removido em 05/02/2010 - 16:42h

muito bom esse artigo !!! Parabéns !!! :)

[7] Comentário enviado por Primo NT em 13/03/2010 - 09:12h

Cara muito bom!!!
Principalmente pra mim que comecei o curso de ADS esse ano!
Vou programar em JAVA!!!! ;D
To muito ancioso pra aprender! ;D

[8] Comentário enviado por sukelly em 06/08/2010 - 15:54h

Muito bom o seu artigo.
Explica de forma resumida a importância do JVM.
Estou estudando java e pretendo me especializar em promação a java.

[9] Comentário enviado por dubozzo7 em 17/04/2015 - 17:42h

Ótimo artigo!

Gostaria apenas de alertar que neste pedaço do texto está escrito assim---> ...linguagem multi-plataforma, permite o desenvolvido de aplicativos e..
Acredito que deveria estar escrito assim---> ...linguagem multi-plataforma, permite o desenvolvimento de aplicativos e...
Minha intenção é de apenas ajudar e não de ser professor de português pois sei que enganos acontecem!
Abraço e obrigado pelo ótimo artigo!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts