Iniciando el uso de las TIC en el área de Artes Plásticas ...
Java 02 Iniciando Uso Java
-
Upload
regis-magalhaes -
Category
Documents
-
view
2.430 -
download
0
Transcript of Java 02 Iniciando Uso Java
- 1. Iniciando o uso do Java
-
- Regis Pires Magalhes
-
- [email_address]
-
2. Roteiro
- Java Virtual Machine (JVM)
- Carregador de classes (ClassLoader) e CLASSPATH
- Verificador de bytecodes
- Instalao do Kit de Desenvolvimento Java (J2SDK)
- Estrutura do programa Java
-
- Classe
-
- Atributos
-
- Mtodos
-
- Mtodomain()
- Compilando o programa
- Executando o programa
- Coleta de lixo
3. Java Virtual Machine (JVM)
- Java Virtual Machine (JVM)
-
- um computador de mentira.
-
- o interpretador de cdigo binrio java.
-
- Utilizada para executar o programa j compilado.
-
- Mapeia as instrues do bytecode para cdigo especfico da plataforma em que ele est sendo executado.
- Compilao => Interpretao
Fonte: Tutorial da Sun 4. Java Virtual Machine (JVM)
-
- H implementaes da JVM para as mais diversas plataformas
-
-
- Prov independncia de plataforma
-
Fonte: Tutorial da Sun 5. Funcionamento sem Mquina Virtual 6. Funcionamento com Mquina Virtual
- A aplicao roda sem envolvimento com o Sistema Operacional.
-
- Conversa apenas com a Mquina Virtual.
7. Java Virtual Machine (JVM)
- Bytecodes
-
- Cdigo binrio gerado pelo compilador Java.
-
- A origem do nome decorre do fato de que cada cdigo de operao da mquina virtual gasta apenas um byte.
-
-
- H menos de 256 operaes possveis.
-
-
- So cdigos binrios independentes de plataforma e executados pela Mquina Virtual Java (JVM).
-
- Texto contendo cdigo escrito em linguagem Java traduzido embytecodeatravs do processo de compilao e armazenado em um arquivo.classchamado declasse Java .
-
- Cada arquivo.class nomeado de acordo com o nome correspondente no arquivo.java .
8. Java Virtual Machine (JVM) Fonte: argonavis.com.br 9. Java Virtual Machine (JVM)
-
- A forma de execuo de uma aplicao depende:
-
-
- da origem do cdigo a ser executado (remoto ou local)
-
-
-
- da forma como foi implementada a JVM pelo fabricante
-
Fonte: argonavis.com.br 10. Carregador de classes (ClassLoader) e CLASSPATH
- ClassLoader
-
- Realiza o carregamento das classes necessrias para rodar a aplicao.
- CLASSPATH
-
- Varivel de ambiente que contm os caminhos onde oClassLoaderpode localizar classes.
-
- Pode ser definido atravs de parmetros do comandojava .
- Verificao de Bytecodes
-
- Antecede a execuo do cdigo em classes carregadas atravs da rede.
-
-
- Usado para verificao de applets e de aplicativos que baixam bytecodes de uma rede.
-
-
-
- Testa o formato dos fragmentos de cdigo e verifica a existncia de algum cdigo ilegal.
-
11. Hotspot e JIT
- Hotspot
-
- Tecnologia para deteco de pontos quentes da aplicao, ou seja, cdigo que bastante executado.
- JIT Just In Time Compiler
-
- Compilador que usado bem na hora que precisamos, ou seja, quando um ponto quente detectado.
- Pode-se durante a execuo, mudar a estratgia de compilao para melhorar a performance.
-
- possvel que, em aplicaes que rodem por um certo tempo, tenhamos compilaes Java com performance melhor que compilaes em C.
12. Estrutura do programa Java
- Podeconter os seguintes elementos:
-
-
- Especificao de pacote (package);
-
-
-
- Especificao de importao (import);
-
-
-
- Declarao de classe (class);
-
-
-
- Declarao de interface (interface).
-
13. Estrutura do programa Java
- Classe
-
- Classe uma coleo de dados e mtodos que operam sobre esses dados
-
- Palavra reservadaclassseguida do nome da classe
-
- O arquivo.javadeve ter nome idntico ao de uma classe contida nele
-
- Classes no so os objetos que representam
-
-
- A planta de uma casa no uma casa
-
Atributos Mtodos Classe // Loja.java class Loja { // Atributos ... // Mtodos ... } 14. Estrutura do programa Java
- Classe
15. Estrutura do programa Java
- Membros
-
- Membros so os dados e mtodos de uma classe
-
- Membros de dados tambm so chamados atributos
-
- Atributos normalmente so declarados antes de mtodos
- Atributos
-
- Exceto dentro do corpo de mtodos, os atributos podem ser declarados em qualquer lugar do corpo da classe
-
- Tipo do atributo seguido do nome do atributo e ;
-
-
- Exemplos:intx;floatf;charc;
-
16. Estrutura do programa Java
- Atributos
Loja id : int sigla : String descricao : String stringLoja() : String 17. Estrutura do programa Java
- Mtodos
-
- Corpo de Mtodo
-
-
- Variveis internas ao mtodo (locais)
-
-
-
- Estruturas de controle
-
-
-
-
- Desvio
-
-
-
-
-
-
- if-else/switch
-
-
-
-
-
-
- Loops
-
-
-
-
-
-
- while/for
-
-
-
-
-
-
- Tratamento de excees
-
-
-
-
-
-
- try-catch-finally
-
-
-
-
-
- Retorno do mtodo
-
-
-
-
- Palavra-chavereturnseguida do tipo de retorno.
-
-
-
-
-
- Se o mtodo retornavoid =>Simplesmentereturn;ou nada.
-
-
18. Estrutura do programa Java
- Mtodos
19. Estrutura do programa Java
- Mtodos
-
- Tipo de retorno do mtodo seguido do nome do mtodo e, ento, de sua lista de parmetros
Loja id : int sigla : String descricao : String stringLoja() : String 20. Estrutura do programa Java
- Mtodomain( )
-
- Permite execuo direta atravs da linha de comando.
-
- Deve obrigatoriamenteter a assinatura:
-
-
- public static voidmain(String[] args)
-
-
- O parmetroargscontm a lista de parmetros passados atravs da linha de comando.
21. Estrutura do programa Java
- Mtodomain( )
-
- O retorno do mtodomain do tipovoid .
-
- O argumento um Array formado por Strings passadas na linha de comando:
Fonte: argonavis.com.br 22. Estrutura do programa Java
- Mtodomain( )
-
- Exemplo:
23. Compilando o programa
-
- Use ojava c ompiler ( javac )
-
-
- javac NomedaClasse.java
-
24. Executando um programa
-
- Use o interpretadorjava(faz parte do JRE)
-
-
- java NomedaClasse
-
25. Coleta de Lixo
-
- Conhecida comogarbage collection .
-
- Ao contrrio deC++ , emJavao programador no precisa destruir de forma explcita os objetos que no sero mais necessrios.
-
-
- Gerenciamento de memria explcito tedioso e muito suscetvel a erros.
-
-
-
- Permite que o programador se concentre nos algoritmos que desenvolve.
-
-
- Garbage collection responsvel pela destruio de todos os objetos que no esto sendo utilizados.
-
- Um objeto est pronto para a coleta de lixo quando no existir maisnenhumareferncia para ele.
-
- A capacidade de desalocar memria automaticamente exige uma complexidade muito superior de gerenciadores manuais.
26. Coleta de Lixo
-
- O interpretador verifica periodicamente quais objetos alocados no esto mais sendo referenciados e os destri
-
- O Coletor de Lixo de Java
-
-
- capaz de detectar e destruir ciclos de objetos que se referenciam mutuamente, mas que no so referenciados por nenhum outro objeto;
-
-
-
- executado como umathreadde baixa prioridade.
-
-
-
-
- Geralmente realiza sua tarefa quando o sistema est ocioso;
-
-
-
-
-
- Exceto quando o interpretador fica sem memria.
-
-
-
- A coleta de lixo juntamente com a ausncia de manipulao de ponteiros so fatores de segurana, pois evitam quecrasheseleaksocorram pelo uso indevido da memria, tornando a aplicao mais robusta. A coleta ainda fator de produtividade, eliminando o esforo de liberao manual de memria.
27. Coleta de Lixo Fonte: argonavis.com.br 28. Coleta de Lixo 29. Coleta de Lixo Fonte: http://java.sun.com/developer/technicalArticles/ALT/RefObj/ Java Heap 30. Por que Java?
- Aplicaes de mdio e grande porte.
- Uso em ambientes heterogneos multi-plataforma.
- Enorme quantidade de bibliotecas gratuitas para os mais diversos trabalhos:
-
- Relatrios;
-
- Grficos;
-
- Sistemas de busca;
-
- Gerao de cdigo de barras;
-
- Manipulao de XML;
-
- Tocadores de udio/vdeo;
-
- Impresso;
-
- Etc.
31. Resumo
- Fases de um programa Java:
-
- Edio
-
- Compilao ( javac )
-
- Execuo ( java )
-
-
- Carregamento de classes
-
-
-
- Verificao de bytecodes (classes remotas)
-
-
-
- Interpretao ou Traduo JIT
-
Fonte: argonavis.com.br 32. Resumo
- Estrutura de um programa Java:
-
- Classe
-
- Atributos
-
- Mtodos
- A coleta de lixo em Java automtica
Class Loja { // Atributos int id; Stringsigla, descricao; // Mtodos String stringLoja() { ... } } Loja id : int sigla : String descricao : String stringLoja() : String 33. Referncias e Recursos
-
- argonavis.com.br
-
-
- http://www.argonavis.com.br
-
-
- Thinking in Java (3rd Edition)
-
-
- http://www.bruceeckel.com
-
-
- Core Java 2 Volume I Cay S. Horstmann e Gary Cornell.
-
- Computer Organization
-
-
- http://www.dickinson.edu/~braught/courses/cs251f00/classes/notes04.html
-
-
- The Java Virtual Machine
-
-
- http://occs.cs.oberlin.edu/faculty/jdonalds/210/lecture25.html
-
-
- The lean, mean, virtual machine
-
-
- http://www.javaworld.com/javaworld/jw-06-1996/jw-06-vm_p.html
-