Introdução ao java

545
-1

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
545
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
40
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introdução ao java

  1. 1. Introdução à Plataforma Java    Prof. Nécio de Lima Veras http://lattes.cnpq.br/8284657916723590
  2. 2. RoyaltiesEstes slides foram inicialmente criados pelo prof.Régis Pires (IFPI-Parnaíba) que gentilmente cedeupara que algumas adaptações fossem feitas.Ass. Nécio de Lima Veras (IFCE-Tianguá). Prof. Nécio Veras
  3. 3. Visão Geral    Prof. Nécio de Lima Veras http://lattes.cnpq.br/8284657916723590
  4. 4. Principais Características➔ Orientada a Objetos➔ Sintaxe e semântica herdada do C/C++, porém com menos recursos (C--);➔ Simples;  A linguagem possui apenas os mecanismos necessários para implementar seu conjunto de funcionalidades;  Códigos limpos, claros e de alto nível;➔ Dinâmica;➔ Robusta:  Tipagem de dados forte;  Checagem automática;  Tratamento de exceções;➔ Independente da arquitetura; Prof. Nécio Veras
  5. 5. Principais Características➔ Portável:  Não existem comportamentos específicos da implementação do compilador ou do interpretador.  Tipos fixos e de tamanhos definidos:  Tipos inteiros • byte, short, int, long => 8, 16, 32, 64 bits respectivamente  Tipos de ponto flutuante • float e double => 32 e 64 bits • Seguem o padrão IEEE 754  Tipo caractere • char é de 16 bits Unicode  Strings usam um formato Unicode padrão.➔ Multi-threaded nativo:  Torna o desenvolvimento do lado servidor mais atrativo; Prof. Nécio Veras
  6. 6. Principais Características➔ Segura  Java foi projetada tendo em mente a transmissão de código através de uma rede;  O sistema de execução (runtime) faz as checagens necessárias para garantir a integridade do sistema;➔ Rápida  O código de bytes Java pode ser traduzido em tempo de execução em código de máquina nativo.  Possui compilador just-in-time;  Em comparação com outras linguagens interpretadas é bem mais rápida;➔ Coleta de lixo automática; Prof. Nécio Veras
  7. 7. Principais Características➔ Distribuída  A linguagem possui um vasto conjunto de classes para o gerenciamento de comunicação de rede de baixo nível;  Permite o acesso a objetos remotos através da rede como se fossem objetos locais(RMI);➔ Rica  A linguagem possui um vasto conjunto de APIs padronizadas para as mais diversas funções.  Acesso a bancos de dados;  Interface gráfica;  Acesso ao sistema de arquivos;  Compressão, E-mail, ... Prof. Nécio Veras
  8. 8. Plataformas Java➔ Epa! Plataforma? Não é uma linguagem?➔ A plataforma Java é somente de software!➔ Plataformas Java  JME – Java Platform, Micro Edition  Plataforma de desenvolvimento para dispositivos com suporte à Java como Palms, celulares, pagers, etc.  JSE – Java Platform, Standard Edition  Contém serviços padrão para aplicações e applets.  JEE – Java Platform, Enterprise Edition  Plataforma de desenvolvimento completa para aplicações empresariais robustas e escaláveis. Prof. Nécio Veras
  9. 9. Componentes da plataforma Java Java Virtual Machine (Java VM ou JVM) Java Application Programming Interface (Java API)  Provê suporte para programação de aplicações em geral  Vasta gama de componentes de software prontos para uso para as mais diversas funcionalidades Prof. Nécio Veras
  10. 10. Plataforma J2SEJRE – JavaRuntimeEnvironmentSDK –SoftwareDevelopmentKit Prof. Nécio Veras
  11. 11. Entendendo o Java    Prof. Nécio de Lima Veras http://lattes.cnpq.br/8284657916723590
  12. 12. Java Virtual Machine (JVM)Java Virtual Machine (JVM)➔ É um computador de mentira. :)➔ É o interpretador de código binário java.➔ Utilizada para executar o programa já compilado.Compilação => Interpretação Fonte: Tutorial da Sun Prof. Nécio Veras
  13. 13. Java Virtual Machine (JVM)Há implementações da JVM para as mais diversas plataformasProvê independência de plataforma Fonte: Tutorial da Sun Prof. Nécio Veras
  14. 14. Como o Java funcionaCódigo-fonte Saída Compilador (código) Máquinas Virtuais Prof. Nécio Veras
  15. 15. Como o Java funciona Compilador Máquinas VirtuaisCódigo-fonte Saída (código) Prof. Nécio Veras
  16. 16. Funcionamento sem Máquina Virtual Prof. Nécio Veras
  17. 17. Funcionamento com Máquina VirtualA aplicação roda sem envolvimento com o SistemaOperacional.Conversa apenas com a Máquina Virtual. Prof. Nécio Veras
  18. 18. Java Virtual Machine (JVM)Mas o que são Bytecodes?➔ Código binário gerado pelo compilador Java.➔ A origem do nome decorre do fato de que cada código de operação da máquina virtual gasta apenas um byte.➔ São códigos binários independentes de plataforma e executados pela Máquina Virtual Java (JVM).➔ Texto contendo código escrito em linguagem Java é traduzido em bytecode através do processo de compilação e armazenado em um arquivo .class chamado de classe Java.➔ Detalhe importante:  Cada arquivo .class é nomeado de acordo com o nome correspondente no arquivo .java. Prof. Nécio Veras
  19. 19. Java Virtual Machine (JVM) Fonte: argonavis.com.br Prof. Nécio Veras
  20. 20. Java Virtual Machine (JVM)Observe as etapas: Loader, Verifier e Run Fonte: argonavis.com.br Prof. Nécio Veras
  21. 21. Carregador de classes (ClassLoader) e CLASSPATH➔ ClassLoader  Realiza o carregamento das classes necessárias para rodar a aplicação.➔ CLASSPATH  Variável de ambiente que contém os caminhos onde o ClassLoader pode localizar classes.  Pode ser definido através de parâmetros do comando java.➔ Verificação de Bytecodes  Antecede a execução do código em classes carregadas através da rede.  Usado para verificação de applets e de aplicativos que baixam bytecodes de uma rede.  Testa o formato dos fragmentos de código e verifica a existência de algum código ilegal. Prof. Nécio Veras
  22. 22. Hotspot e JIT➔ Hotspot  Tecnologia para detecção de “pontos quentes” da aplicação, ou seja, código 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 execução, mudar a estratégia de compilação para melhorar a performance.  É possível que, em aplicações que rodem por um certo tempo, tenhamos compilações Java com performance melhor que compilações em C. Prof. Nécio Veras
  23. 23. Estrutura do programa JavaPode conter os seguintes elementos:  Especificação de pacote (package);  Especificação de importação (import);  Declaração de classe (class);  Declaração de interface (interface). // HelloWorld.java public class HelloWorld { public static void main(String args[]) { System.out.println("Hello, World!"); } } Prof. Nécio Veras
  24. 24. Estrutura do programa JavaClasseClasse é uma coleção de dados e métodos que operam sobre esses dadosPalavra reservada class seguida do nome da classeO arquivo .java deve ter nome idêntico ao de uma classe contida neleClasses não são os objetos que representamA planta de uma casa não é uma casa // Loja.java class Loja Classe { // Atributos Atributos ... // Métodos Métodos ... } Prof. Nécio Veras
  25. 25. Estrutura do programa JavaAtributos class Loja Loja { // Atributos id : int int id; sigla : String String sigla, descricao; descricao : String // Métodos stringLoja() : String String stringLoja() { ... } } Prof. Nécio Veras
  26. 26. Estrutura do programa JavaMétodosTipo de retorno do método seguido do nome do método e, então,de sua lista de parâmetros Class Loja Loja { id : int // Atributos sigla : String int id; descricao : String String sigla, descricao; // Métodos stringLoja() : String String stringLoja() { return id + " " + sigla + " " + descricao; } } Prof. Nécio Veras
  27. 27. Estrutura do programa JavaMétodo main( )➔ Permite execução direta através da linha de comando;➔ Deve obrigatoriamente ter a assinatura:  public static void main(String[] args)➔ O retorno do método main é do “tipo” void.➔ O argumento é um Array formado por Strings passadas na linha de comando: Prof. Nécio Veras
  28. 28. Estrutura do programa JavaMétodo main( )Exemplo: public class OlaMundo { public static void main(String[] args) { System.out.println("Olá, Mundo!"); } } Prof. Nécio Veras
  29. 29. Compilando e executando o programa➔ Compilando:Use o java compiler (javac)javac NomedaClasse.java➔ Executando:Use o interpretador java (faz parte do JRE)java NomedaClasse Prof. Nécio Veras
  30. 30. Coleta de Lixo Conhecida como garbage collection.➔ Ao contrário de C++, em Java o programador não precisa destruir de forma explícita os objetos que não serão mais necessários.➔ Gerenciamento de memória explícito é tedioso e muito suscetível a erros.➔ Garbage collection é responsável pela destruição de todos os objetos que não estão sendo utilizados.➔ Um objeto está pronto para a coleta de lixo quando não existir mais nenhuma referência para ele.➔ A capacidade de desalocar memória automaticamente exige uma complexidade muito superior à de gerenciadores manuais. Prof. Nécio Veras
  31. 31. Funcionamento da Coleta de Lixo➔ O interpretador verifica periodicamente quais objetos alocados não estão mais sendo referenciados e os destrói;➔ É capaz de detectar e destruir ciclos de objetos que se referenciam mutuamente, mas que não são referenciados por nenhum outro objeto;➔ É executado como uma thread de baixa prioridade.➔ Geralmente realiza sua tarefa quando o sistema está ocioso;➔ Exceto quando o interpretador fica sem memória. Prof. Nécio Veras
  32. 32. Coleta de Lixo (imagens valem mais que mil palavras) ...... m = "A";m = "A"; n = m;n = m; p = "B";p = "B"; n = null;... p = "C"; ... Prof. Nécio Veras Fonte: argonavis.com.br
  33. 33. Exercício➔ Vamos preparar nosso ambiente de desenvolvimento!➔ É preciso instalar:  Nosso SDK (JDK) – Que já vem com: JRE e JVM; http://java.sun.com/javase/downloads/index.jsp  Nosso ambiente (IDE) – Para isso temos duas grandes opções:  Netbeans (Sun);  Eclipse (Eclipse Foundation); http://www.eclipse.org/downloads/ Prof. Nécio Veras
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×