Prévia do material em texto
www.euvoupassar.com.br Rogerio Araujo Java: Compilação de classes Java - Parte II 21/01/2013 Pessoal, dando seguimento ao artigo anterior (Java: Compilação de classes Java ? Parte I), vamos ver uma visão geral na compilação de classes na linguagem Java. Na tecnologia Java, temos três entidades: - Morpheu (JDK);● - Neo (JRE); e● - Trinity (JVM).● Como essas entidades trabalham? Teoria Resumidamente: - Temos uma fase de compilação, onde:● --- Compilamos nossas classes Java (arquivos de extensão .java) com um compilador que vem junto com um❍ JDK (o Morpheu), o kit de desenvolvimento Java; --- As classes então são transformadas em bytecode (arquivos de extensão .class) pelo compilador;❍ ------ Importante dizer que o bytecode é único, ou seja, não está em linguagem de máquina específica de■ uma plataforma; - E temos também uma fase de interpretação e execução, onde:● --- No cliente, onde nossa aplicação irá rodar, temos um JRE (Neo), o ambiente de execução Java, para o tipo❍ de plataforma do cliente; --- Junto com o Neo, vem quem? A Trinity, ou seja, a JMV, a máquina virtual Java (JVM);❍ ------ Ela interpretará e executará o bytecode;■ - Para cada plataforma onde iremos rodar nossa aplicação, teremos um casal Neo e Trinity, ou seja, JRE e JVM.● Não precisamos recompilar a aplicação para que possamos rodá-la em plataformas diferentes. Compilamos uma vez nossas classes para termos um único conjunto de bytecode e cada JVM para uma plataforma saberá interpretar e executar esse conjunto na plataforma específica. Assim, meus amigos, a tecnologia Java nos oferece a portabilidade! Escreva sua aplicação apenas uma vez e execute-a em qualquer lugar! O JRE ou ambiente de execução Java possui: - A JVM; e● - API (Java Application Programming Interface):● --- É uma biblioteca de componentes que:❍ ------ Possui vários recursos úteis; e■ ------ É utilizada para execução de aplicações Java.■ É necessário instalar uma JRE específica de uma plataforma, pois junto com ela vem uma JVM que: - Saberá lidar com essa plataforma; e● - Conseguirá executar aplicações Java naquele ambiente.● http://rogerioaraujo.wordpress.com/2013/01/06/java-compilacao-de-classes-java-parte-i/ Visualmente, temos: - Na camada mais baixa, temos o hardware;● - Na camada mais acima, temos a plataforma Java ou o JRE (o Neo);● ------ Junto com o JRE vem a JVM (a Trinity) e a API Java; e❍ - Na camada mais acima, temos a nossa aplicação Java.● A máquina virtual Java é o coração de toda essa ideia de portabilidade! Ela é responsável por interpretar e executar o bytecode. É a provedora de formas e meios de o aplicativo conversar com o sistema operacional. Questões [FGV 2012 Senado Federal - Prova anulada - Análise de Sistemas - Questão 55] Observe a figura abaixo, associada à linguagem Java. [FGV 2012 Senado Federal - Prova anulada - Análise de Sistemas - Questão 55] Para permitir que um mesmo programa seja executado em vários sistemas operacionais, a plataforma java gera códigos genéricos *.class e os traduz para o código da máquina local, *.exe ou *.bin, somente no momento da execução. Nesse contexto, os códigos específicos para a máquina virtual Java, e não para a máquina local, recebe o nome de: [A] microcode.● [B] scriptcode.● [C] framecode.● [D] bytecode.● [E] javacode.● Gabarito: letra D. [FCC 2010 TRT 9ª Região - Técnico Judiciário ? Especialidade Tecnologia da Informação - Questão 36] O JVM mais o núcleo de classes da plataforma Java e os arquivos de suporte formam o [A] o J2EE.● [B] o JDK.● [C] o JRE.● [D] uma JSP.● [E] uma API.● Gabarito: letra C. http://rogerioaraujo.files.wordpress.com/2013/01/questoafgv.png A Trinity sempre vem com o Neo! =D [FCC 2007 TJ/PE - Analista Judiciário - Analista de Suporte - Questão 25] O código Java compilado é gerado em arquivo com extensão [A] .ser● [B] .jar● [C] .java● [D] .html● [E] .class● Gabarito: letra E. O compilador vem com o Morpheu! =D []s e até a próxima! _________________________ Rogério Araújo Blog: http://rogerioaraujo.wordpress.com/ Gmail: rgildoaraujo@gmail.com Twitter: http://twitter.com/rgildoaraujo LinkedIn: http://br.linkedin.com/in/rgildoaraujo Grupo de estudo no ITnerante: http://www.itnerante.com.br/group/dev URL: http://www.euvoupassar.com.br/?go=artigos&a=wZ93uQc5Cf__bhvh-Z4Kexb5V0XPe1ote89S9rFPRg8~ Eu Vou Passar®. Todos os direitos reservados. http://rogerioaraujo.files.wordpress.com/2011/11/rogerioaraujoblog.jpg http://rogerioaraujo.wordpress.com/ mailto:rgildoaraujo@gmail.com http://twitter.com/rgildoaraujo http://br.linkedin.com/in/rgildoaraujo http://www.itnerante.com.br/group/dev