Java JDK, JRE e JVM
Java JDK, JRE e JVM
Neste tutorial, você aprenderá sobre JDK, JRE e JVM. Você também aprenderá as principais diferenças entre eles.
O que é JVM?
JVM (Java Virtual Machine) é uma máquina abstrata que permite que seu computador execute um programa Java.
Quando você executa o programa Java, o compilador Java primeiro compila seu código Java para bytecode. Em seguida, a JVM traduz bytecode em código de máquina nativo (conjunto de instruções que a CPU de um computador executa diretamente).
Java é uma linguagem independente de plataforma. É porque quando você escreve código Java, ele é escrito para JVM, mas não para sua máquina física (computador). Como a JVM executa o bytecode Java que é independente de plataforma, o Java é independente de plataforma.

Se você estiver interessado em aprender sobre a Arquitetura JVM, visite A Arquitetura JVM Explicada.
O que é JRE?
JRE (Java Runtime Environment) é um pacote de software que fornece bibliotecas de classes Java, Java Virtual Machine (JVM) e outros componentes necessários para executar aplicativos Java.
JRE é o superconjunto da JVM.

Se você precisa executar programas Java, mas não desenvolvê-los, JRE é o que você precisa. Você pode baixar o JRE na página de downloads do Java SE Runtime Environment 8.
O que é JDK?
JDK (Java Development Kit) é um kit de desenvolvimento de software necessário para desenvolver aplicativos em Java. Quando você baixa o JDK, o JRE também é baixado com ele.
Além do JRE, o JDK também contém várias ferramentas de desenvolvimento (compiladores, JavaDoc, Java Debugger etc.).

Se você deseja desenvolver aplicativos Java, baixe o JDK.
Relação entre JVM, JRE e JDK.

Java
- Variáveis e literais Java
- Entrada e Saída Java Basic
- Expressões, instruções e blocos Java
- Classe e objetos Java
- Classe abstrata Java e métodos abstratos
- Java aninhado e classe interna
- Java joga e joga
- Autoboxing e unboxing Java
- Java String replace(), replaceAll() e método replaceFirst()
- Métodos Java String toLowercase() e toUpperCase()