JVM

Definição

  • JVM = Java Virtual Machine

  • É uma máquina virtual responsável pela tradução dos Bytes Codes (arquivos .class) oriundos da compilação do código fonte em código de máquina de cada sistema operacional (arquivos binários)

    A compilação é feita pela Javac (Java Compiler)

  • Compilação do código fonte em código de máquina

    • Exemplo C/C++

    • Exemplo Java

Função

  • Execução de pilhas

  • Gerenciamento de memória (alocação de memória)

  • Gerenciamento de threads

  • Otimização de código fonte (Compilação JIT)

    JIT = Just in Time

  • Garbage Collector (GC)

JRE vs JDK

  • JRE

    • JRE = Java Runtime Environment

    • Responsável por executar os programas em Java

  • JDK

    • JDK = Java Development Kit

    • Utilitário que permite o desenvolvimento de programas em Java

    • OBS: JRE já vem embutido no JDK

Plataformas

  • Java SE

    • Java SE = Java Standard Edition

    • Contém as especificações do Java e pode ser implementado por diversas empresas como Oracle, OpenJDK, Azul Zulu, entre outros

    • Principais implementações do Java SE

      • OpenJDK

      • Oracle JDK

      • AdoptOpenJDK

      • Amazon Corretto

      • GraalVM CE

      • Azul Zulu

  • Java EE

    • Java EE = Java Enterprise Edition

    • Contém todas as especificações do Java SE, além de conter alguns programas para facilitar execução em servidores

    • OBS: em 2019 foi renomeado para Jakarta EE

  • Java ME

    • Java ME = Java Micro Edition

    • Contém as especificações para desenvolvimento de dispositivos móveis/embarcados como celulares, PDAs, entre outros