| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2011 15:26:20
|
Sleipbr
Entusiasta Java
Membro desde: 14/12/2011 15:24:57
Mensagens: 24
Offline
|
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?
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/12/2011 21:14:26
|
dreampeppers99
Virtual Machine Man
![[Avatar]](/images/avatar/6fb993285d56e6927284ff9b11ac6851.jpg)
Membro desde: 29/08/2006 21:50:17
Mensagens: 523
Offline
|
Sleipbr wrote:o java Standard e dividido em JDK (Kit de desenvolvimento) e JRE (compilação e interpretação)
Eu diria que ele não compila (apesar de que o bytecode é interpretado e pode ser otimizado usando compilação dinâmica...)!
Sleipbr wrote: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.
|
- Não respondo dúvida por PM!
- Blog -> Software development - Clojure, Ruby, Java, Test and little pumpkins
- Blog - Desenvolvimento de software - Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2011 15:23:40
|
Sleipbr
Entusiasta Java
Membro desde: 14/12/2011 15:24:57
Mensagens: 24
Offline
|
Tentei explicar o processo de traducao, isso 'e verdadeiro?
No java nao existe .exe?
This message was edited 3 times. Last update was at 20/12/2011 15:44:54
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/12/2011 15:45:58
|
dreampeppers99
Virtual Machine Man
![[Avatar]](/images/avatar/6fb993285d56e6927284ff9b11ac6851.jpg)
Membro desde: 29/08/2006 21:50:17
Mensagens: 523
Offline
|
Sleipbr wrote: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.
|
- Não respondo dúvida por PM!
- Blog -> Software development - Clojure, Ruby, Java, Test and little pumpkins
- Blog - Desenvolvimento de software - Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/12/2011 14:11:14
|
Sleipbr
Entusiasta Java
Membro desde: 14/12/2011 15:24:57
Mensagens: 24
Offline
|
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?
Pelo que eu entendi o JIT vai aparecer quando for chamado uma classe tipo:
e o HotSpot quando for chamado um metodo
tipo,
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?
This message was edited 1 time. Last update was at 24/12/2011 14:16:51
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/12/2011 14:40:05
|
dreampeppers99
Virtual Machine Man
![[Avatar]](/images/avatar/6fb993285d56e6927284ff9b11ac6851.jpg)
Membro desde: 29/08/2006 21:50:17
Mensagens: 523
Offline
|
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?
|
- Não respondo dúvida por PM!
- Blog -> Software development - Clojure, Ruby, Java, Test and little pumpkins
- Blog - Desenvolvimento de software - Java |
|
|
 |
|
|