o java Standard e dividido em JDK (Kit de desenvolvimento) e JRE (compilação e interpretação), os clientes deve instalar esse ultimo para executar aplicativos JAVA. O JRE e composto pelas bibliotecas e o JVM? Entao o JVM = JRE, isso 'e verdade?
Duvida sobre o JRE
5 Respostas
Eu diria que ele não compila (apesar de que o bytecode é interpretado e pode ser otimizado usando compilação dinâmica…)!
os clientes deve instalar esse ultimo para executar aplicativos JAVA. O JRE e composto pelas bibliotecas e o JVM? Entao o JVM = JRE, isso 'e verdade?
Não, como você mesmo disse o JDK é kit de desenvolvimento (que tem o JRE contido nele, mas com adições de ferramentas e programas) e o JRE é o runtime (necessário pra rodar)!
Outro ponto, JVM é a máquina virtual Java já o JRE não é só a máquina virtual mas também as bibliotecas necessárias para a plataforma Java.
Tentei explicar o processo de traducao, isso 'e verdadeiro?

No java nao existe .exe?
OK! Outra duvida é a seguinte, eu preciso de um programa que rode por exemplo no Windows, Linux, Mac. Para cada S.O desse eu tenho que ter a JDK e ‘compilar’ para cada S.O desses e ai sim poder fornecer o aplicativos para o meu cliente?OU
Basta compilar uma unica vez no Windows por exemplo, eu ja tenho um aplicativo que possa rodar nos outros 2 S.O.
O que eu to querendo saber é o seguinte, o executavel tem que ser necessariamente gerado pela JVM do S.O? Para cada S.O eu tenho que gerar um executavel para ele?
O compilador transforma seu texto java em bytecode.
Cada SO precisa ter o JRE especifico dele.
Voce pode empacotar seus aplicativos java em JAR’s, esses JARS são multiplataforma (em tese). Basta ter o JRE pra rodá-los.
Boa tarde!
Valeu pela resposta!
Agora esta meio dificil de entender sobre o JIT e o HotSpot.
O HotSpot e um metodo de compilacao igual ao JIT? E esta implatado no JVM? ME CORRIJA SE EU ESTIVER ERRADO. JRE = Bibliotecas + [(JVM)=HOTSPOT+JIT] ou estou voando? :lol:
Pelo que eu entendi o JIT vai aparecer quando for chamado uma classe tipo:
public class HelloWorld {
e o HotSpot quando for chamado um metodo
tipo,
public static void main(String args[]) {
Para a HotSpot client (-client), esse valor é de 1.500 chamadas. Ou seja, um método só vai ser carregado para JIT depois de 1500 invocações. Na HotSpot Server, este valor aumenta para 10.000.
Entao o metodo sera invocado aproximadamente pelo HotSpot client por exemplo 1500 vezes? Para finalmente o JIT entrar em acao?
Bem Hotspot pode ser duas coisas mas no seu contexto acho que é:
A região do programa (java) onde há uma alta proporçao de instruções (bytecode) sendo executadas e também pode ser visto como um local elegível ao JIT.
JIT -> pode ser visto também como “compilação dinâmica” (mais avançada) é o método de melhorar a performance dos programamas, tipo imagine que seu código BYTECODE tem uma região que pode ser traduzida para (ASM) em tempo de execução (do bytecode) então o JIT vai fazer isso. É muito comum também esse uso em emuladores (afinal o que é uma máquina virtual?! senão uma máquina que não existe e só apenas sua especificação) e isso é o responsável por grande parte do sucesso do Java quando se diz respeito a velocidade de execução dos programas.
Sobre suas extimativas eu não faço ideia de como ele funciona exatamente o JIT, posso te dizer que a JVM (com o JIT) vê um código que pode ser otimizado e o faz. 
Agora você pode estar falando também da Hotspot que é a vm da oracle daí não sei… afina qual seu proposito final com essas dúvidas?