Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduo
Linguagem Compilada;
Linguagem Interpretada;
Qual classe pertence o Java?
Origem do Java
A empresa Sun criou um time para desenvolver
inovaes tecnolgicas em 1992 que foi liderado por James Gosling, considerado o pai do Java. A idia inicial seria a de criar um interpretador para pequenos dispositivos. Hoje sabemos que o Java domina o mercado de celulares, porm em 1994 isso ainda no era uma verdade. A Sun aproveitou o seu projeto e criou o Java 1.0 que tinha o foco voltado para os browsers da internet utilizando os applets. 3
Mquina Virtual
A linguagem Java utiliza-se de uma mquina virtual
para a comunicao com o Sistema Operacional. Por isso muitos dizem que a mquina virtual um interpretador, mas se analisarmos melhor veremos que ela muito mais que isso. Como o prprio nome diz uma mquina virtual como um computador de mentira, tem tudo o que um computador tem. Em outras palavras ela responsvel por gerenciar memria e threads, a pilha de execuo, etc. A mquina virtual para o Java da empresa Sun, 4 recebeu o nome de JVM ou Java Virtual Machine (
O Sucesso do Java
O grande sucesso do Java est justamente na
utilizao de uma mquina virtual. Para entendermos melhor, vamos analisar as imagens abaixo:
O Sucesso do Java
Write once, run anywhere Escreva uma vez, rode em qualquer lugar
Java Lento?
Hotspot :
a tecnologia que a JVM utiliza para detectar pontos
quentes da sua aplicao: cdigo que executado muito, provavelmente dentro de um ou mais loops. Quando a JVM julgar necessrio, ela vai compilar aquele cdigo para instrues nativas da plataforma, tendo em vista que isso vai provavelmente melhorar a performance da sua aplicao.
JIT:
Just inTime Compiler, o compilador que aparece bem na
Verses do Java
JSE Java Platform, Standard Edition voltada para aplicaes desktop;
JEE- Java Platform, Enterprise Edition - voltada para o desenvolvimento de aplicaes de grande porte, distribudas em redes e aplicaes baseadas na web;
JME Java Platform, Micro Edition - voltada ao desenvolvimento de aplicaes para dispositivos pequenos, como telefones celulares, pagerse assistentes pessoais digitais e outras aplicaes com restries de memria.
A confuso do Java2
Java 1.0 e 1.1 so as verses muito antigas do Java. Com o Java 1.2 houve um aumento grande no tamanho da
API, e foi nesse momento em que trocaram a nomenclatura de Java para Java2, com o objetivo de diminuir a confuso entre Java e Javascript. Mas lembrese, no h verso do Java 2.0, o 2 foi incorporado ao nome: Java2 1.2. Depois vieram o Java2 1.3 e 1.4, e o Java 1.5 passou a se chamar Java 5, tanto por uma questo de marketing e porque mudanas significativas na linguagem foram includas. nesse momento que o 2 do nome Java desaparece. Repare que para fins de desenvolvimento, o9 Java 5 ainda referido como Java 1.5.
A confuso do Java2
At a verso 1.4, existia a terceira numerao (1.3.1, 1.4.1,
1.4.2, etc), indicando bug fixes e melhorias. A partir do Java 5 existem apenas updates: Java 5 update 7, por exemplo. Hoje a ltima verso disponvel do Java a 6.0, lanada em 2006. Da verso 1.4 para a 1.5, a linguagem sofreu muitas modicaes, o que de certa forma fomentou a mudana no versionamento do Java. J o Java 6.0 no trouxe nenhuma mudana na linguagem, mas trouxe mais recursos na API e muitas melhorias de performance na VM.
10
existe JRE = Java Runtime Environment, ambiente de execuo Java, formado pela JVM e bibliotecas, tudo que voc precisa para executar uma aplicao Java. JDK = Java Development Kit: Ns, desenvolvedores, faremos o download do JDK do Java SE (Standard Edition).
11
Linguagem Java
Java uma linguagem orientada a objetos, distribuda,
Bytecode: interpretado Orientao a objetos Suporte a multithreading Garbage Collector Mecanismo de Excees Ausncia de aritmtica de ponteiros
12
Ambiente Java
A figura abaixo mostra todos os passos desde a compilao at a
Editor
. java (fonte)
. jar (bibliotecas)
Verificador
Carregador
Interpretador
Disco
fonte . class
. class (compilado)
Compilador
(programa compilado)
Processador
13
Ambiente Java
Fase 1 Fase 2 Fase 3 Editor Compilador Carregador de classe disco disco disco
Memria principal
O programa criado no editor e armazenado em disco. O compilador cria bytecodes e os armazena em disco.
. .
Fase 4
Verificador de bytecode
Memria principal
. .
O verificar de bytecodes confirma que todos os bytecodes so vlidos e no violam restries de segurana de Java.
Fase 5
Interpretador
Memria principal
. .
O interpretador l os bytecodes e os traduz para uma linguagem que o computador pode entender, possivelmente armazenando valores dos dados enquanto executa o programa.
JBuilder (Borland)
Visual Cafe (Symantec) NetBeans (Sun)
Eclipse (IBM)
16
18
todos os objetos que so criados a partir desta classe. Os mtodos static podem ser invocados, mesmo quando no foi criado nenhum objeto para a classe, para tal deve-se seguir a sintaxe: <NomeClasse>.<NomeMetodoStatic>(argumentos);. Retornaremos a esta explicao mais tarde, necessrio saber que particularmente o mtodo main precisa ter essa qualificao porque ele chamado sem que se crie nenhum objeto de sua classe (a classe PrimeiroPrograma).
20
palavra void significa que a funo no retorna nenhum valor ou uma espcie de valor vazio que tem que ser especificado
main este um nome particular de mtodo que indica para o compilador o incio do
programa, dentro deste mtodo e atravs das iteraes entre os atributos, variveis e argumentos visveis nele que o programa se desenvolve
21
um vetor de Strings que formado quando so passados ou no argumentos atravs da invocao do nome do programa na linha de comando do sistema operacional.
22
entendidos como algo semelhante ao BEGIN END de Pascal, ou seja: delimitam um bloco de cdigo. Os programadores Pascal notaro que variveis locais dos mtodos podem ser declaradas em qualquer local entre as chaves. Mas, por motivos de clareza do cdigo declararemos todas no incio do abre chaves.
23
Chamada do mtodo println para o mtodo out da classe System O argumento deste mtodo uma constante do tipo String println assim como writeln de Pascal, imprime uma string e posiciona o cursor na linha abaixo. Analogamente, print no avana linha
Por hora voc pode guardar esta linha de cdigo como o comando para imprimir mensagens na tela, onde o argumento que vem entre aspas a string a ser impressa
O ponto e vrgula separa operaes
24
Exerccios em sala
Faa modificaes no programa PrimeiroPrograma. Imprima outras mensagens na tela
25