Você está na página 1de 25

Ferramentas e Desenvolvimento de Aplicativos I

Prof. Luiz Aula 01 O que Java

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

hora que voc precisa.


7

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

O que preciso para programar em Java?


VM = Apenas a virtual machine, esse download no

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,

robusta, independente de arquitetura, portvel, concorrente e dinmica Caractersticas:


Independente de plataforma

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

interpretao de um cdigo gerado em Java:


JVM

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.

. .

O carregador de classe coloca bytecodes na memria.

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.

Ambientes de Programao Visual para Java


Visual J++ (Microsoft)

JBuilder (Borland)
Visual Cafe (Symantec) NetBeans (Sun)

Eclipse (IBM)

16

Primeiro Programa em Java


Este exemplo visa apresentar um programa simples para imprimir uma mensagem na tela. Nosso PRIMEIRO PROGRAMA EM JAVA COMPILANDO UM PROGRAMA: 1 - Certifique-se de ter adicionado a sua lista de paths o path do compilador e interpretador Java (programas javac e java, respectivamente)

2 - Crie o arquivo ao lado em um diretrio qualquer e salve com o nome: PrimeiroPrograma.java


3 - Chame o compilador Java para este arquivo: javac PrimeiroPrograma.java 4 - Seu diretrio deve receber um novo arquivo aps essa compilao: o arquivo PrimeiroPrograma.class
17

Primeiro Programa em Java


COMPILANDO UM PROGRAMA (continuao): 5 - Chame o interpretador Java para este arquivo (omita a extenso .class do arquivo): java PrimeiroPrograma 6 - Observe o resultado na tela!

18

Primeiro Programa em Java


public class PrimeiroPrograma { public static void main (String args[ ]) { System.out.println(Oi! Legal!"); } }
19

Primeiro Programa em Java


Mtodo main:

public static void main (String args[ ])


public um qualificador do mtodo que indica que este acessvel externamente a

esta classe (para outras classes)


static um outro qualificador que indica que o mtodo deve ser compartilhado por

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

Primeiro Programa em Java


Mtodo main:

public static void main (String args[ ])


void semelhante ao void nas linguagens C++ ou C. o valor de retorno da funo. A

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

Primeiro Programa em Java


Mtodo main:

public static void main (String args[ ])


(String args[ ]) o argumento de main e por conseqncia do programa todo, ele

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

Primeiro Programa em Java


{ ... }
Abre chaves e fecha chaves - para quem no conhece C ou C++, eles podem ser

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

Primeiro Programa em Java


System.out.println(Oi! Legal!");
-

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