Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches...

27
Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: [email protected] Centro de Informática de Ribeirão Preto - USP

Transcript of Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches...

Page 1: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

Ferramentas para desenvolvimento

JavaJBUILDER 3.5 Foundation

Apresentado por: Pablo Rodrigo Sanches E-mail: [email protected] de Informática de Ribeirão Preto - USP

Page 2: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

JAVAO 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;

Page 3: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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.

Page 4: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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.

Page 5: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

Recursos da linguagem Java

Implementação dos recursos:

JVM (Máquina Virtual Java)Coleta de LixoSegurança do código

Page 6: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

A Máquina Virtual JavaEspecificaçã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.

Page 7: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

Especificação da JVMImplementação dos seguintes itens:

Conjunto de instruções (equivalente o de uma CPU)Conjunto de registradoresFormato do arquivo de classePilhaHeap coletado como lixoÁrea de memória

Page 8: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

Coleta de lixoVá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.

Page 9: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

Coleta de lixoA 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.

Page 10: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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.

Page 11: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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.

Page 12: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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 classeVerificar o código – Executado pelo verificador de bytecodeExecutar o código – Executado pelo interpretador de tempo de execução.

Page 13: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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.

Page 14: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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:

Page 15: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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.

Page 16: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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[].

Page 17: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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.

Page 18: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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.

Page 19: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

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 foundA 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.

Page 20: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

Execução do HelloWorldApp

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

Page 21: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

Ferramentas de Desenvolvimento Java

JDK (Sun)JBuilder (Borland/Inprise)Visual J++ (Microsoft)Visual Café (Symantec)etc.

Page 22: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

JBuilder Borland/InpriseFerramenta de desenvolvimento visual utilizada para

construção de aplicações multi-plataforma, aplicações web, multi-tier, Client/Server.

Tipos:JBuilder StandardJBuilder ProfessionalJBuilder Enterprise

JBuilder Foundation

Page 23: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

JBuilder FoundationCaracterísticas:

Free (http://www.inprise.com/jbuilder/foundation/)Construído em Java;IDE (Editor, Compilador, Depurador)Multi-plataforma (Solaris, Windows, Linux)Não inclui todas as ferramentas das outras versões.

Page 24: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

JBuilder FoundationInclui em sua IDE outras características:

Code browserWizardsContext sensitiveCode insight

Page 25: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

JBuilder FoundationPossui wizards para a construção de:

Aplicativos JavaAppletsJavaBean JSPEJBean

Page 26: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

IDE JBuilder Foundation

Page 27: Ferramentas para desenvolvimento Java JBUILDER 3.5 Foundation Apresentado por: Pablo Rodrigo Sanches E-mail: pablo@cirp.usp.br Centro de Informática de.

F I M

Palestra apresentada por Pablo Rodrigo SanchesCentro de Informática de Ribeirão Preto – USP

E-mail : [email protected]