1 / 377

Apresentação da Linguagem JAVA

Apresentação da Linguagem JAVA. Sumário. Funcionamento Máquina Virtual Java e Garbage Collector Classes, Interfaces, Objetos, Package Os qualificadores static e final Construtores O conceito de tipo e Interface Arrays, Strings Tratamento de Exceções A classe Object e a classe Class

fisk
Download Presentation

Apresentação da Linguagem JAVA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Apresentação da Linguagem JAVA

  2. Sumário • Funcionamento • Máquina Virtual Java e Garbage Collector • Classes, Interfaces, Objetos, Package • Os qualificadores static e final • Construtores • O conceito de tipo e Interface • Arrays, Strings • Tratamento de Exceções • A classe Object e a classe Class • Algumas classes úteis

  3. O que é Java ? • Java é uma linguagem de programação • desenvolvida pela Sun Microsystem • lançada em versão beta em 1995 • seu desenvolvimento foi iniciado em 1991 pela equipe liderada por James Gosling • visava o mercado de bens eletrônicos de consumo • independente de hardware • linguagem segura • evitar falhas comuns que os programadores costumam cometer • evitar ataques externos

  4. Por que Java ? • Outro ambiente que também necessitava de uma linguagem com este perfil  INTERNET • também é constituído por equipamentos de diferentes arquiteturas • construção de aplicativos seguros • além disso • é sintaticamente semelhante a C/C++ • existem diferenças fundamentais na filosofia de implementação • facilitou a migração de programadores

  5. Por que Java ? • Desenvolvedores estão ansiosos por se libertarem de sistemas proprietários • as idéias não são novas • mas estão todas embutidas em Java • acrescida da facilidade de migrar programadores • contribuem para o rápido sucesso da lingagem

  6. Principais características • Orientação a Objetos • não é uma linguagem totalmente OO como Smalltalk • foram mantidos alguns tipos primitivos e suas operações (eficiência) • mais OO que C++ • harmônica e fácil de assimilar

  7. Principais características • Bytecodes • seu código é compilado para uma máquina virtual • independente de hardware e sistema operacional • é necessário a existência de um interpretador • Máquina Virtual Java • nada impede que o código fonte seja traduzido para executável na máquina destino • alternativamente, é possível projetar hardware que processe bytecode

  8. Principais características • Ausência de manipulação explícita de ponteiros • a manipulação de ponteiros exige grande dose de atenção • mesmo programadores experientes cometem erros • fonte de insegurança - possibilidade de desenvolvimento de programas hostis • todo objeto é criado dinamicamente e alocado no heap • o usuário não pode manipular a referência explicitamente.

  9. Principais Características • Coleta de Lixo • nas linguagens onde existe alocação dinâmica, o programador é responsável pela liberação de memória previamente obtida - malloc / free • A Máquina Virtual Java coleta lixo automaticamente • os objetos que não estão mais sendo usados são identificados • a memória a eles associada é liberada para ser utilizada na criação de novos objetos

  10. Principais Características • Segurança • O que é ser uma linguagem de programação segura ? • versão 1.0: impedir que programas hostis possam causar danos ao ambiente computacional ou que busquem informações sigilosas em computadores remotos • versão 1.1: capacidade de permitir a verificação da identidade de programas (autenticação) • versão1.2: os dados que os programas enviam ou recebem podem ser criptografados

  11. Principais Características • Suporte à Concorrência • construção de servidores • o atendimento da solicitação não deve incapacitar o sistema de responder a outras solicitações concorrentemente • Java permite a criação de threads

  12. Principais Características • Programação em Rede • possui em seu núcleo básico classes para comunicações em rede • protocolos que pertencem à pilha de protocolos TCP/IP • incorpora também um amplo conjunto de soluções para aplicações distribuída • CORBA - Commom Oject Request Broker Architecture • RMI - Remote Method Invocation • Servlets - aplicações Java executadas por servidores WEB

  13. Como o Java é usado ? • O fonte Java é compilado para código independente. (“bytecode”) • O bytecode pode ser rodado por um interpretador. • O bytecode pode ser convertido para linguagem de máquina e executado (compilação “Just in Time (JIT)”).

  14. Código Fonte Java Compilador “Bytecode”Java Mac Unix PC Compilador JIT Interpretador Bytecode Código de Máquina

  15. Portabilidade do JAVA • Projetado para suportar aplicações que serão desenvolvidas para ambientes de rede heterogêneos. • O compilador Java gera um formato intermediário para transportar eficientemente o código para várias plataformas de hardware e software. • A Máquina Virtual Java (JVM) é específica para cada plataforma de hardware e software, isolando plataformas específicas.

  16. Aplicação C++ Compilador Motorola C++ Compilador Intel C++ Compilador PowerPC C++ Compilador Sun Sparc C++ Instruções Motorola Instruções Intel Instruções PowerPC Instruções Sun Sparc Motorola Intel Sun Sparc PowerPC Desenvolvimento C++ • O compilador gera instruções de máquina específicas para cada processador

  17. Aplicação Java Interpretador Java JVM Interpretador Java JVM Interpretador Java JVM Interpretador Java JVM Instruções Motorola Instruções Intel Instruções PowerPC Instruções Sun Sparc Motorola Intel PowerPC Sun Sparc Java Virtual Machine • Compilador Java gera um bytecode que roda em todo sistema que suporta Java sem recompilação

  18. Gerência de Memória • O Java gerencia a memória para o programador (garbage collection) Alocação de memória em C++ - new - malloc/calloc Liberação de memória em C++ delete Alocação de Objeto em Java - new

  19. Suporte Multitarefa • Multitarefa atingida via • Threads • Melhoria no tempo de resposta da aplicação • Thread priority

  20. Segurança • Verificação exaustiva na compilação • Forte verificação de tipos • Verificação de sintaxe • Alocação de memória é postergada • Memória alocada em tempo de execução • Permite melhor adaptação a plataformas de hardware e software

  21. Segurança (cont.) • Remoção de ponteiros • Ponteiros são responsáveis por sabotagem e erros de memória • Vírus não podem assumir lugar de objetos • Vírus não podem vagar pela memória mudando ou apagando valores

  22. Segurança (cont.) • Verificação em tempo de execução • Certifica-se que ponteiros não existem • Não viola restrições de acesso • Objetos trabalham apenas com suas classes

  23. Como funciona? • Um browser da Web... • (1) Referências ao software Java estão embutidos na página da Web • (2) quando o browser percebe essas referências, carrega o software Java (chamado de applet) de forma transparente e segura • (3) O applet é então processado pelo JVM, que foi construído dentro do browser

  24. Como funciona? • Um browser da Web... • (4) O JVM realiza verificações de segurança e roda o applet, que aparece e opera dentro do browser • (5) O sistema operacional da máquina provê suporte específico de máquina para muitas das operações e interações

  25. Como funciona? • Um browser da Web... • Resultado: • o usuário recebe um applet Java interativo que roda no seu browser • o JVM serve como uma plataforma consistente para diferentes computadores e sistemas operacionais, de forma que o mesmo applet pode executar em browsers de máquinas diferentes

  26. Como funciona? • Uma aplicação standalone... • (1) Referências a software Java aparecem por exemplo no start-up menu: este software pode estar tanto num disco da rede quando num disco local à máquina • (2) JVM realiza verificações de segurança • (3) Sistema operacional da máquina provê suporte de máquina específico para realização de diversas operações e interações

  27. Como funciona? • Uma aplicação standalone... • Resultado: • uma aplicação interativa Java • JVM serve como uma plataforma consistente para diferentes computadores e sistemas operacionais, de forma que a mesma aplicação roda em máquinas diferentes

  28. Como funciona? • Um servidor de aplicação • (1) software Java armazenado num disco local ou de uma rede • (2) a JVM no servidor primeiro realiza verificações de segurança e então executa o software • (3) o sistema operacional do servidor provê o suporte específico de máquina para diversas operações e interações

  29. Como funciona? • Um servidor de aplicação • Resultado: • um servlet ou outro programa Java rodando sobre um servidor e interagindo com outros sistemas da rede • JVM serve como uma plataforma consistente para diferentes computadores e sistemas operacionais, de forma que o mesmo software de servidor Java roda em máquinas diversas

  30. Java = JavaScript ? • Não, JavaScript é uma linguagem de programação da Netscape, que vem embutida em seus browsers • Não é JAVA

  31. Como começar ? • Baixe o freeware: Java 2 Platform, Standard Edition (J2SE) (java.sun.com) • Netbeans • Um IDE free para o desenvolvimento de aplicações JAVA

  32. Um programa Java

  33. Nome: Noname.java Comandos Import class <SomeName> { comentários atributos métodos } Programa JAVA

  34. Para importar definições de outras classes. Sintaxe: import package.className import package.* Exemplos: import java.applet.* import java.lang.* Comandos Import class <SomeName> { comentários atributos métodos } Importação de Classes

  35. Para definir uma classe. Sintaxe: class classname bloco Exemplos: class Person bloco class Mydialog bloco class <SomeName> bloco Comandos Import class <SomeName> { comentários atributos métodos } Declaração de Classes

  36. Permite a documentação do programa. Comentários são removidos durante a compilação e não causam overhead. Podem aparecer em qualquer lugar no programa. Sintaxe: // texto /* texto */ Comandos Import Class <SomeName> { comentários atributos métodos } Comentários

  37. Para definir atributos da classe. Pode fazer referências a outros objetos. Sintaxe: datatype variável; datatype var1, var2, var3; classname objectref; Exemplos: char resCode; boolean authorizedFlag; Definição da Classe Comandos Import Class <SomeName> { comentários atributos métodos }

  38. Para definir operações da classe Sintaxe: return-code metodo() bloco Exemplos: void Sing() bloco boolean isValid() bloco Definição dos Métodos Comandos Import Class <SomeName> { comentários atributos métodos }

  39. Um programa • Composto de várias classes • Uma classe C possui um método “main” • java C • Cada classe A deve ser colocada em um arquivo A.java • O diretório deve ter o nome do pacote ao qual pertence a classe

  40. Convenções • Nomes de Classe começam com maiúsculas • Nomes de atributos e métodos com minúsculas • Nomes compostos • carroPasseio

  41. Um tour através da linguagemJAVA

  42. dando início... • Os programas em Java são escritos a partir de classes • a partir da definição de classe, podemos definir qualquer número de objetos que são conhecidos como instâncias desta classe. • Uma classe contém membros, onde as espécies primárias são os atributos e os métodos

  43. dando início... • Atributos são propriedades que pertencem à classe ou objetos da classe • o conjunto de valores de atributos de um objeto define o estado do objeto • Métodos determinam o comportamento da classe • operam sobre os atributos para manipular o estado

  44. dando início... • Exemplo: class HelloWorld { public static void main(String[] args) { System.out.println(“Hello, world”); } } • edição pode ser feita em qualquer editor de programa

  45. dando início... • No JDK da Sun você deve guardar o programa num arquivo chamado • HelloWorld.java • para compilar use: • javac HelloWorld.java • para rodar use: • java HelloWorld

  46. dando início... • O programa declara uma classe chamada HelloWorld com um único método chamado main • membros da classe encontram-se em { } em seguida ao nome da classe • a classe HelloWorld tem apenas um método e nenhum campo

  47. dando início... • O método main tem apenas um parâmetro: um array de objetos String, que são os argumentos do programa • arrays, strings e args serão vistos mais tarde • o método main é declarado como void, Por que não retorna parâmetro

  48. dando início... • Ainda sobre o método main... • é um dos poucos métodos com nomes especiais em Java: o método main de uma classe é sempre executado quando se roda a classe como aplicação • neste exemplo main contém apenas um comando que invoca um método sobre o objeto out da classe System

  49. dando início... • Métodos são invocados fornecendo-se a referência a um objeto e ao nome do método, separando-os por um ponto (.) • Helloworld usa o método println do objeto out para imprimir uma nova linha com um string no “output stream” padrão

  50. Variáveis • O próximo exemplo imprime a sequência de Fibonacci: • é um sequência infinita cujos primeiros termos são: 1 1 2 3 5 8 13 21 34 • depois de 1 e 1, cada termo sucessivo é a soma dos dois termos anteriores • a seguir temos o programa de Fibonacci

More Related