A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Ferramentas para desenvolvimento Java

Apresentações semelhantes


Apresentação em tema: "Ferramentas para desenvolvimento Java"— Transcrição da apresentação:

1 Ferramentas para desenvolvimento Java
JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches Centro de Informática de Ribeirão Preto - USP

2 JAVA O que é Java? Principais recursos da linguagem Java;
O que é Máquina Virtual Java; Funcionamento da coleta de lixo Java; Aspectos importantes sobre a segurança Java;

3 Java é... Uma linguagem de programação;
Um ambiente de desenvolvimento; Um ambiente de aplicativos; Java resulta da busca por uma linguagem de programação que englobe todas características da linguagem C++, com a segurança de uma linguagem do tipo SmallTalk. C++ - é uma das linguagens orientadas a objeto mais utilizadas, um superconjunto de C desenvolvido inicialmente por Bjarne Stroustrup na AT&T Bell Laboratories em 1986. Smalltalk – é o sistema pioneiro de programação orientado a objeto, desenvolvido pelo Software Concepts Group, conduzido por Alan Kay, no Xerox PARC, em Ele inclui uma linguagem (geralmente interpretada), um ambiente de programação, e uma extensão de biblioteca de objetos. O Smalltalk pegou os conceitos de classe e mensagem do Simula-67 e os fez totalmente difusos. Entre as inovações estão o display de bitmap, sistemas de janelas e a utilização do mouse.

4 Objetivos da linguagem de programação Java
Os principais objetivos para o desenvolvimento dessa linguagem: Criar uma linguagem orientada a objetos. Fornecer um ambiente interpretador por duas razões: Velocidade de desenvolvimento - eliminar o ciclo compilar-vincular-carregar-testar. Portabilidade de código – um ambiente interpretado realiza chamadas específicas em nível de sistema operacional. Eliminar práticas de codificação que afetem a robustez do código: Ponteiro aritmético Alocação / desalocação de memória Permitir que os programas executem mais de um thread de atividade. Viabilizar a verificação dos módulos de código carregados para evitar problemas de segurança. Orientada a objetos – O conceito básico nesta abordagem é que objeto é uma estrutura de dados (tipo de dados abstratos) encapsulada com um conjunto de rotinas, chamado métodos, que operam dados. Interpretador – é o programa que executa outros programas. É o contrário do compilador, que não executa o seu programa de entrada (código fonte) mas o traduz em código de máquina executável (código objeto). Leva mais tempo para executar um programa no interpretador do que o código compilado, mas pode levar menos para interpretá-lo do que o tempo total para compilar e executar. Isso é importante principalmente na prototipação e teste do código onde o ciclo editar-interpretar-depurar é menor que editar-compilar-executar-depurar. A interpretação do código na execução é mais lenta do que a execução do código compilado devido a análise de cada instrução do programa toda vez que ela for executada. Thread – Um programa com apenas uma thread faz apenas uma coisa de cada vez, um que tenha várias threads faz várias coisas ao mesmo tempo. Exempo: Permite que você continue a trabalhar enquanto ele imprime em segundo plano. Cada thread é uma parte de código executável independentemente.

5 Recursos da linguagem Java
Implementação dos recursos: JVM (Máquina Virtual Java) Coleta de Lixo Segurança do código

6 A Máquina Virtual Java Especificação da Máquina Virtual Java (JVM):
Uma máquina imaginária que é implementada através de emulação em um software executado em uma máquina real. Fornece as especificações da plataforma de hardware para a qual todo o código Java está compilado. Essa especificação permite que os programas Java sejam independentes de plataforma já que a compilação é feita para uma máquina imaginária. Cabe ao interpretador Java de cada plataforma de hardware específica assegurar a execução do código compilado para a JVM.

7 Especificação da JVM Implementação dos seguintes itens:
Conjunto de instruções (equivalente o de uma CPU) Conjunto de registradores Formato do arquivo de classe Pilha Heap coletado como lixo Área de memória Pilha é uma estrutura de dados para armazenamento de itens que devem ser acessados na ordem, o último a entrar, o primeiro a sair. A maioria dos processadores inclui suporte para pilhas em sua arquitetura de conjunto de instruções. Heap – é a área da memória utilizada para alocação de memória dinâmica onde blocos de memória são alocados e liberados em ordem arbitrária e o tamanho dos blocos não são conhecidos até o tempo de execução.

8 Coleta de lixo Várias linguagens de programação permitem a alocação dinâmica da memória no tempo de execução. Quando a memória alocada não é mais necessária (quando o ponteiro que faz referência à memória está fora do escopo), é aconselhável que o ambiente do programa ou do tempo de execução desaloque a memória para evitar que o programa seja executado com falta de memória. No C e C++ (e outras linguagens), o desenvolvedor do programa é responsável pela desalocação da memória. Esse procedimento algumas vezes pode ser trabalhoso, principalmente porque nem sempre é possível saber antecipadamente quando a memória deve ser liberada.

9 Coleta de lixo A linguagem Java realiza a liberação da memória, que antes era responsabilidade do programador, fornecendo um thread em segundo plano, em nível de sistema, que registra cada alocação de memória e mantém uma contagem do número de referências feitas a cada ponteiro de memória. Durante os ciclos ociosos, no tempo de execução da JVM, o thread da coleta de lixo verifica se existe algum ponteiro de memória em que o número de referência tenha baixado para 0. Se houver a memória alocada pelo thread será varrida. A coleta de lixo ocorre automaticamente durante o tempo de vida de um programa Java e dispensa a desalocação de memória.

10 Ambiente do Programa Java - compilação
Os arquivos Java são compilados no sentido em que são convertidos do formato texto que foram escritos pelos programadores para um conjunto de bytecodes independentes de máquina.

11 Ambiente do Programa Java – tempo de execução
No tempo de execução, os bytecodes que compõem um programa Java são carregados, verificados e executados em um interpretador. O interpretador tem 2 trabalhos: ele executa o bytecode Java e realiza as chamadas apropriadas no tempo de execução de um sistema, para o hardware.

12 O interpretador da linguagem Java
Um interpretador da linguagem Java deve executar o código compilado para a JVM. O interpretador Java possui três tarefas principais: Carregar o código – Executado pelo utilitário de carga de classe Verificar o código – Executado pelo verificador de bytecode Executar o código – Executado pelo interpretador de tempo de execução.

13 Processo de verificação de código
O código Java passa por vários testes antes de ser executado de fato em sua máquina. O programa executa o código através de um verificador de bytecode. O verificador testa o formato dos fragmentos de código e aplica um teorema para verificar a existência de algum código ilegal nos fragmentos de código. Se o verificador for concluído sem retornar nenhuma mensagem de erro, poderá ser afirmado: As classes estão de acordo com o formato do arquivo de classe das especificações da JVM. Não há violações nas restrições de acesso. O código não acusa nenhum Overflow ou Underflow na pilha. Os tipos de parâmetros para os códigos operacionais estão corretos. Os acessos aos objetos são legais.

14 Exemplo: Oi pra todos! Como qualquer outra linguagem de programação, a linguagem Java é usada para criar aplicativos. O código de um aplicativo mínimo geralmente exibe a String Oi pra todos! Na tela. O código Java abaixo mostra um exemplo de um aplicativo Java. Estas linhas abrangem os componentes mínimos necessários para a execução deste aplicativo:

15 Descrição do HelloWorldApp
As três primeiras linhas do programa são de comentário. A linha 4 indica o nome da classe, HelloWorldApp. O arquivo deve ser salvo em um arquivo denominado nome_da_classe.java. O nome da classe no arquivo de origem também cria um arquivo denominado nome_da_classe.class no diretório de compilação. Neste caso o arquivo deverá se chamar HelloWorldApp.java e o compilador criará um arquivo denominado HelloWorldApp.class.

16 Descrição do HelloWorldApp
A linha 5 do programa corresponde à declaração do método main, onde é iniciada a execução do programa. O interpretador Java deve localizar o método main definido, exatamente como foi fornecido, ou ele se recusará a executar o programa. Se o programa tiver algum argumento na linha de comando, ele será transmitido ao método main(), em uma matriz de Strings denominada args[].

17 Descrição do HelloWorldApp
A linha 6 ilustra o uso de: Um nome de classe (System) Um nome de objeto (out) Uma chamada de método (println) A linha imprime a string “Oi para todos!” na saída padrão. Por fim, as chaves nas linhas 7 e 8 fecham o método main e a classe HelloWorldApp.

18 Compilação do HelloWorldApp
O modo de compilação e execução dos aplicativos será função do ambiente de desenvolvimento Java que você decidir usar. Normalmente o mais comum é o JDK (Kit de Desenvolvimento da Linguagem Java) da Sun. O comando javac compila os arquivos de origem em arquivos bytecode.

19 Erros em tempo de compilação
Como qualquer linguagem de programação, é provável que ocorra um grande número de erros durante a compilação. javac: Command not found A variável de caminho não está definida corretamente para incluir o compilador javac. O compilador javac está localizado no diretório bin, embaixo do JDK. HelloWorldApp.java:3: Method printl(java.lang.String) not found in class java.io.PrintStream. System.out.printl (“Oi pra todos!”); O nome do método println foi digitado errado. Etc.

20 Execução do HelloWorldApp
Para executar o aplicativo HelloWorldApp, é usado o interpretador java, também localizado no diretório bin (java).

21 Ferramentas de Desenvolvimento Java
JDK (Sun) JBuilder (Borland/Inprise) Visual J++ (Microsoft) Visual Café (Symantec) etc.

22 JBuilder Borland/Inprise
Ferramenta de desenvolvimento visual utilizada para construção de aplicações multi-plataforma, aplicações web, multi-tier, Client/Server. Tipos: JBuilder Standard JBuilder Professional JBuilder Enterprise JBuilder Foundation

23 JBuilder Foundation Características:
Free ( Construído em Java; IDE (Editor, Compilador, Depurador) Multi-plataforma (Solaris, Windows, Linux) Não inclui todas as ferramentas das outras versões.

24 JBuilder Foundation Inclui em sua IDE outras características:
Code browser Wizards Context sensitive Code insight

25 JBuilder Foundation Possui wizards para a construção de:
Aplicativos Java Applets JavaBean JSP EJBean Applets – Programa Java pode ser incluído em uma página HTML através do elemento (ou tag) <APPLET> e que pode ser observado em um navegador ativado para Java ou num visualizador de applet. Bean – é um componente ou software reutilizável (independente de plataforma). Possui métodos e proptiedades. Definido a partir do JDK 1.1. JSP – Java Server Pages parecido com ASP (linguagem de scripts para interação com HTML, utiliza comandos Java) EJBean – Enterprise Java Bean (Objetos distribuídos – CORBA)

26 IDE JBuilder Foundation

27 F I M Palestra apresentada por Pablo Rodrigo Sanches
Centro de Informática de Ribeirão Preto – USP


Carregar ppt "Ferramentas para desenvolvimento Java"

Apresentações semelhantes


Anúncios Google