O Que O Java Virtual Machine?

O que o Java Virtual Machine

A prГіxima etapa Г© integrar todos esses arquivos objeto em um Гєnico arquivo .exe com a ajuda do vinculador. O vinculador agruparГЎ todos esses arquivos e produzirГЎ o arquivo .exe.

ImportГўncia da mГЎquina virtual

JпїЅ o Java nпїЅo tem esse problema, pois sua execuпїЅпїЅo nпїЅo estпїЅ diretamente relacionada com o Sistema Operacional, ele conversa diretamente com a JVM (Java Virtual Machine), possibilitando assim a portabilidade de seu cпїЅdigo. O que for escrito em um sistema operacional Windows, irпїЅ rodar em um sistema operacional Linux (salvo algumas exceпїЅпїЅes de cпїЅdigos nativos). Esse processo cria uma independпїЅncia do Sistema Operacional, dando ao desenvolvedor uma liberdade de desenvolver para mпїЅltiplas plataformas sem aquela preocupaпїЅпїЅo de se o cпїЅdigo irпїЅ funcionar corretamente. A Virtual Machine sim пїЅ desenvolvida em cпїЅdigo nativo, pois ela conversa diretamente com o sistema operacional para que o programa Java funcione na mпїЅquina, como mostra a Figura 2.

A JVM nпїЅo entende cпїЅdigo Java, e sim um cпїЅdigo especifico chamado ByteCode, que пїЅ gerado pelo compilador Java (javac). Esse cпїЅdigo пїЅ o que serпїЅ traduzido pela Virtual Machine para o cпїЅdigo de cada mпїЅquina em questпїЅo. Os processos de execuпїЅпїЅo de um software Java foram aperfeiпїЅoados ao longo dos tempos, pois no inпїЅcio, a Virtual Machine interpretava apenas um ByteCode por vez. Hoje em dia, a JVM possui sistemas de compilaпїЅпїЅo JIT (Just - In - Time) misturados com a interpretaпїЅпїЅo do cпїЅdigo. Essa tпїЅcnica cria os chamados пїЅHot-SpotsпїЅ, que nada mais sпїЅo que пїЅreas de cпїЅdigo executadas com maior frequпїЅncia. Isso ocorre com a anпїЅlise dos ByteCodes пїЅ medida que eles sпїЅo interpretados pela Virtual Machine.

O que Г© JVM?

O que Г© JVM?

O termo, aliГЎs, faz parte do nosso DicionГЎrio Tech, que visa trazer termos tГ©cnicos usados no dia a dia do desenvolvimento.В 

Isso faz com que o desenvolvedor fique independente do sistema operacional utilizado. Assim, ele nГЈo precisa se preocupar se o cГіdigo escrito vai rodar bem em Linux, por exemplo. 

Como funciona a JVM?

Assim como, a JVM também é responsável por gerenciar a memória utilizada pelo programa Java. Ela aloca e desaloca automaticamente a memória necessária para a execução do programa, tornando o desenvolvimento de software mais fácil e seguro.

Agora, continue acompanhando a Coodesh, que é uma plataforma para validação de desenvolvedores e de recrutamento tech. 

VГЌDEO AULA – JVM – JAVA VIRTUAL MACHINE: INTRODUÇÃO

VГЌDEO AULA – JVM – JAVA VIRTUAL MACHINE: INTRODUÇÃO

Em uma linguagem como a C, o cпїЅdigo пїЅ compilado para uma mпїЅquina especifica, ou seja, quando seu cпїЅdigo seja compilado, ele poderпїЅ ser executado apenas naquele sistema operacional. Para executarmos esse cпїЅdigo em outro Sistema Operacional, temos que ajustar as bibliotecas de acordo com as necessidades e recompilar. Segue abaixo um diagrama simples de cпїЅdigos compilados, onde пїЅ gerado um cпїЅdigo especifico para a mпїЅquina em questпїЅo pelo compilador e o assembler, jпїЅ o linker irпїЅ пїЅlinkarпїЅ as bibliotecas necessпїЅrias para o cпїЅdigo se tornar executпїЅvel. ApпїЅs ele se tornar executпїЅvel, ele serпїЅ executado na plataforma para o qual foi compilado, como mostra a Figura 1.

O bytecode é uma representação do programa em um formato que a JVM entende. Quando o programa é executado, a JVM interpreta o bytecode e o traduz em código de máquina específico para o sistema operacional em que está sendo executado. Isso permite que o mesmo programa Java seja executado em diferentes sistemas operacionais sem a necessidade de modificação.

A empresa Sun MicroSystems criou Java em 1995. Sendo assim, essa Г© uma das linguagens mais antigas utilizadas pelos desenvolvedores. E ainda hoje ela Г© uma das mais populares, podendo ser empregada no back-end e no mobile em muitas aplicações. 

Funções do JVM 

JпїЅ o JRE, пїЅ o ambiente de execuпїЅпїЅo (Java Runtime Enviroment). Todas as mпїЅquinas que rodam uma aplicaпїЅпїЅo Java precisam desse runtime, pois пїЅ onde a JVM estarпїЅ contida, e como jпїЅ comentado anteriormente, irпїЅ fazer todo o controle das aplicaпїЅпїЅes Java.

Para se ter uma ideia melhor, Г© interessante comparar Java Г  linguagem C. Esta Гєltima precisa de um compilador para rodar o mesmo cГіdigo escrito pelo desenvolvedor em diferentes plataformas. Enquanto isso, no Java, o cГіdigo nГЈo precisa ser compilado, pois utiliza a JVM.В 

Com isso podemos perceber, mesmo que superficialmente, que a Java Virtual Machine faz um trabalho gigantesco пїЅpor detrпїЅs dos panosпїЅ, nпїЅo permitindo ao desenvolvedor se preocupar com coisas que пїЅatrapalhariamпїЅ o desenvolvimento de uma aplicaпїЅпїЅo. Mas ao mesmo tempo, пїЅ importante que se saiba o que acontece lпїЅ no пїЅbaixoпїЅ nпїЅvel, se o desenvolvedor quer ser realmente completo. Com o decorrer do tempo, o Java irпїЅ evoluir como tudo nesse mundo e muitas mudanпїЅas podem ocorrer, o que nunca irпїЅ mudar (pelo menos espera-se) пїЅ o seguinte: write once, run everywhere.

 

VocпїЅ pode estar pensando agora: пїЅAh, entendi. A Java Virtual Machine пїЅ um interpretador de cпїЅdigoпїЅ. NпїЅo, ela пїЅ muito mais do que isso, alпїЅm de interpretar cпїЅdigo, пїЅ tambпїЅm responsпїЅvel pela execuпїЅпїЅo das pilhas, gerenciamento de memпїЅria, threads e etc., ou seja, пїЅ um пїЅcomputador virtualпїЅ. Uma de suas funпїЅпїЅes que podemos notar aqui пїЅ o Garbage Collector. Ele пїЅ uma thread responsпїЅvel pela пїЅlimpezaпїЅ da memпїЅria virtual, ou seja, quando existe muito пїЅlixoпїЅ na memпїЅria virtual, o Garbage Collector entra em aпїЅпїЅo. PorпїЅm, пїЅ difпїЅcil prever quando isso irпїЅ acontecer, por ele ser uma thread, como comentado anteriormente, e as threads sпїЅo lanпїЅadas de acordo com o escalonador de processos.

O Java пїЅ uma linguagem de computador muito utilizada atualmente em diversos Sistemas Operacionais (quando falamos em sistemas operacionais, nпїЅo estпїЅ relacionando apenas com computadores pessoais, mas tambпїЅm com tablets, equipamentos de Blu-Ray e etc.) devido a sua facilidade de ter o cпїЅdigo portado. Ouvimos sempre por aпїЅ que o Java пїЅroda em qualquer lugarпїЅ (write once, run everywhere), mas porque ele consegue пїЅrodarпїЅ em qualquer plataforma? A resposta para esta pergunta пїЅ muito simples: devido a sua MпїЅquina Virtual.

Curso de programação para você

A JVM funciona como uma camada de abstração entre o código Java e o sistema operacional. Quando um programa escrito em Java é compilado, ele não é traduzido diretamente para o código de máquina do sistema operacional. Em vez disso, ele é compilado para um código intermediário chamado bytecode.

O Java Г© uma linguagem de programação criada em 1995. Ela consegue rodar em qualquer sistema operacional, como Windows, Linux e Mac OS, seja em computadores pessoais, tablets, equipamentos de Blu-Ray, entre outros. 

Como instalar uma mГЎquina virtual Java?

O processo para baixar e instalar Г© bem simples e direto:
  1. Acesse o site java.com/pt_BR/download;
  2. Clique no botão “Download gratuito do Java”;
  3. Clique em “Concordar e iniciar o download gratuito”;
  4. Aguarde o programa ser baixado (o tempo pode variar de acordo com sua conexГЈo com a internet);
Mais itens...

Para que serve o Java SDK?

JDK É um pacote de software que você pode usar para desenvolver aplicativos baseados em Java. O Java Runtime Environment é um plug-in necessário para a execução de programas Java. O Java Development Kit é necessário para desenvolver aplicativos java.

Para que serve o Java SE?

O Java permite executar jogos, fazer upload de fotos, bater papo on-line, fazer tours virtuais e usar serviços, como treinamento on-line, transações bancárias on-line e mapas interativos. Se você não tiver o Java, muitas aplicações e websites simplesmente não funcionarão.