13 lines
1.3 KiB
Markdown
13 lines
1.3 KiB
Markdown
---
|
|
title: Java Virtual Machine
|
|
localeTitle: Máquina Virtual JAVA
|
|
---
|
|
# A máquina virtual de Java (JVM)
|
|
|
|
Java pertence a uma família de linguagens chamadas [**Linguagens compiladas**](https://en.wikipedia.org/wiki/Compiled_language) . Qualquer código escrito em tal idioma precisa ser convertido (compilado) em um formato intermediário que pode ser entendido pela plataforma do host (o sistema operacional / plataforma no qual o código é executado).
|
|
|
|
Para Java, essa forma intermediária é chamada **Bytecode,** que é então interpretada por um tempo de execução chamado Java Virtual Machine (JVM). Pense na [**JVM**](https://docs.oracle.com/javase/specs/jvms/se7/html/) como um software que faz o trabalho pesado de executar seu código Java. Ele cuida da alocação de memória, gerenciamento de thread, coleta de lixo e muito mais. Além do Java, ele também suporta código (leia-se: capaz de executar) escrito em linguagens como Groovy, Scala etc.
|
|
|
|
Em Java, o código é gravado e salvo como arquivos `.java` . O compilador (javac) opera nos arquivos java e gera os arquivos Bytecode ( `.class` ) equivalentes. O comando `java` agora seria capaz de executar o Bytecode armazenado nos arquivos `.class` . Mais sobre isso depois.
|
|
|
|
As seções a seguir descrevem alguns dos blocos básicos de codificação em Java. |