Java é compilada ou interpretada?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
bcartaxo
JavaTeenager

Membro desde: 06/11/2006 00:35:48
Mensagens: 193
Localização: Recife - PE
Offline

Sei q qd compilamos gera-se bytecodes e bla bla bla. Mas dia desses amigo meu me fez essa pergunta, "Java é uma linguagem compilada ou interpretada?", daí n tive segurança suficiente pra responder e disse q n tinha certezaz, mas q achava q fosse compilada e interpretada!

Resumo da ópera: Alguem sabe de certeza se java é compilada interpretada, ou como eu disse, as duas ao mesmo tempo?
[MSN]
pepinho
Thread.start()

Membro desde: 14/02/2007 23:58:06
Mensagens: 36
Offline

A linguagem de programação java é apenas compilada pela questão da multiplataforma onde dai sim de acordo cm cada plataforma o código cm extensão .class eh transformado em executável, pela JVM.

Alguem me corrija se estiver errado
[MSN]
oculos
Debugger
[Avatar]

Membro desde: 17/02/2005 23:56:42
Mensagens: 66
Localização: São Paulo - SP
Offline

na verdade é compilada e intrepretada pela jvm,
ou seja, a jvm compila gerando bytecodes e a jvm
interpreta os bytecodes de acordo com o sistema operacional!

me corrijam se estiver errado tbm...

valeu!

P - O que é Java?
R - muuuitas coisas...
[Email] [MSN]
paulovittor23
Java Ninja
[Avatar]

Membro desde: 11/05/2006 14:09:41
Mensagens: 282
Localização: Santos - SP
Offline

Concordo com a explicação do oculos.

Java é uma linguagem Híbrida, ou seja, compilada + interpretada.

[]s

@paulovittor23
Pós-graduando em Engenharia de Software na PUC-SP.
SCJP 5.0, SCWCD 1.4, SCBCD 5.
http://www.paulovittor23.org/
[Email] [WWW] [MSN]
Giuliano Mega
JavaBaby

Membro desde: 22/08/2005 19:01:35
Mensagens: 94
Offline

No modo default, a máquina virtual da Sun opera em "mixed mode". Em mixed mode:

Todos bytecodes são inicialmente interpretados;
por meio de uma estratégia adaptativa, a máquina virtual detecta os "hot spots" - pontos de código de maior atividade - e compila esses bytecodes para código nativo. Isso é chamado de Just-In-Time compiling.

É possível, no entanto, alterar o modo de funcionamento da máquina virtual. No modo interpretado (-Xint), o JIT compiler é desativado e os bytecodes são simplesmente interpretados. No modo compilado (-Xcomp), a máquina virtual dispensa a estratégia adaptativa e compila o bytecode para código nativo logo de cara.

Abraços,
mchiareli
JavaEvangelist
[Avatar]

Membro desde: 04/04/2006 15:14:50
Mensagens: 397
Offline

Giuliano Mega wrote:No modo default, a máquina virtual da Sun opera em "mixed mode". Em mixed mode:

Todos bytecodes são inicialmente interpretados;
por meio de uma estratégia adaptativa, a máquina virtual detecta os "hot spots" - pontos de código de maior atividade - e compila esses bytecodes para código nativo. Isso é chamado de Just-In-Time compiling.

É possível, no entanto, alterar o modo de funcionamento da máquina virtual. No modo interpretado (-Xint), o JIT compiler é desativado e os bytecodes são simplesmente interpretados. No modo compilado (-Xcomp), a máquina virtual dispensa a estratégia adaptativa e compila o bytecode para código nativo logo de cara.

Abraços,


existe alguma diferença de performance significativa

codifica.wordpress.com
[WWW] [MSN]
Eduardo Bregaida
Moderador
[Avatar]
Membro desde: 13/11/2003 14:11:35
Mensagens: 2416
Localização: São Caetano do Sul - SP
Offline

acolon wrote:Sei q qd compilamos gera-se bytecodes e bla bla bla. Mas dia desses amigo meu me fez essa pergunta, "Java é uma linguagem compilada ou interpretada?", daí n tive segurança suficiente pra responder e disse q n tinha certezaz, mas q achava q fosse compilada e interpretada!

Resumo da ópera: Alguem sabe de certeza se java é compilada interpretada, ou como eu disse, as duas ao mesmo tempo?



è compilada (ByteCode) - .class e interpretada pela JVM.

Blog - Java Anywhere
@bregaida - Twitter
Flickr - Fotos
Cursos de Java?

"Você poderia me dizer, por favor, qual caminho eu devo seguir?"
"Isto depende muito de onde você deseja chegar."
-Lewis Carroll, Alice no País das Maravilhas
[Email] [WWW] [MSN]
peerless
GUJ Master
[Avatar]

Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline

Ou seja, você não falou nenhuma besteira!

follow me
pitacos

"The most problems that teams face are about communication, and all the others are too." - Dan North





[MSN]
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

acolon wrote:Sei q qd compilamos gera-se bytecodes e bla bla bla. Mas dia desses amigo meu me fez essa pergunta, "Java é uma linguagem compilada ou interpretada?", daí n tive segurança suficiente pra responder e disse q n tinha certezaz, mas q achava q fosse compilada e interpretada!

Resumo da ópera: Alguem sabe de certeza se java é compilada interpretada, ou como eu disse, as duas ao mesmo tempo?


A resposta depende do que vc entende por compilar e interpretar.
Compilar é traduzir código legível por humanos (fonte) para codigo legivel pela máquina. Neste sentido java é compilada. Tem um compilador , o javac.
O codigo fonte é compilado em codigo máquina. A máquina é a JVM.

Se interpretar é executar sem gerar código nativo, então java é interperetado. A JVM executa o código sem gerar código nativo. Mas pode gerar código nativo, então ela é parcialmente interpretada. aliás a compilação total para código nativo mata várias funcionalidades do java como carregamento dinâmico de classes, mas a compilação parcial acelera a execução.

Java é executado. Não interessa como. Se vc quiser ser preciosísta: Java é compilado e interpretado.


Criando sua própria API de Validação



Blog do MiddleHeaven
[WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Se quiser verificar a diferença, use o parâmetro -Xint (que força o Java a interpretar todos os bytecodes) ou -Xcomp (que força o Java a compilar todos os bytecodes.)

Use uma aplicação real, não um benchmark sintético que você tentou escrever.

java -Xint -cp . SeuTeste

Você vai ver que é má idéia usar tanto -Xint quanto -Xcomp para a maior parte das aplicações (no primeiro caso, elas ficam um pouco mais lentas, e não melhoram com o passar do tempo; no segundo caso, elas demoram bem mais para carregar, e gastam mais memória; outra coisa é que -Xcomp compila sem que a JVM tenha informações suficientes sobre o perfil da aplicação, ou seja, pode acabar compilando e gerando código inferior ao que seria obtido se ela usasse o modo default ("mixed mode").



[WWW]
Ramon Sim?
Smalltalk
[Avatar]

Membro desde: 18/03/2009 12:05:57
Mensagens: 2
Localização: São Paulo - SP
Offline

certo, mas afinal, sem mais delogas...
Posso dizer que java é uma linguagem compilada e interpretada?

This message was edited 1 time. Last update was at 28/04/2009 12:12:21


A lei não sabe a diferença o que é ser e ficar louco... O remédio é tão forte que mata cada dia um pouco!!!
[Email] [MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

http://www.guj.com.br/posts/list/54562.java#286488
[WWW]
rodpuc
Java Ninja
[Avatar]

Membro desde: 17/08/2006 14:55:20
Mensagens: 299
Offline

Diga q é Híbrida.
Fica até mais bonito
Ramon Sim?
Smalltalk
[Avatar]

Membro desde: 18/03/2009 12:05:57
Mensagens: 2
Localização: São Paulo - SP
Offline

rsrsrsrsrs vlw!!!

A lei não sabe a diferença o que é ser e ficar louco... O remédio é tão forte que mata cada dia um pouco!!!
[Email] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team