260 likes | 462 Views
Linguagem Java. Rebeca Schroeder E-mail: rebeca@joinville.udesc.br. Linguagem Java. Surgimento: 1990 - James Gosling - Sun Microsystems Concebida para o desenvolvimento de pequenos aplicativos e programas de aparelhos eletrodomésticos e eletroeletrônicos C++ OAK Java.
E N D
Linguagem Java Rebeca Schroeder E-mail: rebeca@joinville.udesc.br
Linguagem Java • Surgimento: • 1990 - James Gosling - Sun Microsystems • Concebida para o desenvolvimento de pequenos aplicativos e programas de aparelhos eletrodomésticos e eletroeletrônicos • C++ OAK Java
Linguagem Java • Inicialmente conhecida como uma ferramenta para criar applets para a WWW • Applet: mini-aplicação que é executada dentro de uma página Web • Atualmente bastante utilizada para o desenvolvimento de aplicações para Internet, e outros...
Características - Java • Parecida com C, C++ • Embora use um paradigma diferente do C, tem algumas características herdadas desta linguagem • Orientada a Objetos • Implementa quase todas as características do paradigma orientada a objetos, exceto herança múltipla • Segurança • Não há ponteiros (apresenta outras estruturas mais seguras) • Coleta automática de lixo: • O programador não precisa gerenciar diretamente a memória • Mecanismos de tratamento de exceções
Características - Java • Suporta execuções concorrentes: • Thread de execução • Suporte a programação de sistemas distribuídos: • Sockets • Remote Method Invocation (RMI) • ...
Características - Java • É uma linguagem compilada • Programas Java compilados chamam-se “byte-code” (.class) • O “byte-code” será interpretado por uma máquina virtual para então executar • O “byte-code” pode “rodar” em máquinas de sistemas diferentes
Máquina Virtual Java (Java Virtual Machine - JVM) • Somente dentro da JVM é que os códigos Java são efetivamente executados • Uma especificação de JVM suporta uma determinada especificação de hardware • Então “byte-code” são instruções de código de máquina para a JVM “Escrever uma vez, executar em qualquer parte, a qualquer tempo e para sempre” Patrick Naughton
As versões do Java 2006 Java 6.0 Mustang 4000 classes 2004 Java 5.0 Tiger 3500 classes genéricos, auto boxing, anotações, foreach, varargs, … 1998 Java 2 2300 classes Em 3 sabores: - J2ME, - J2SE, - J2EE. 1997 Java 1.1 500 classes -Popular. -Melhor GUI 1996 Java 1.02 250 classes Lento Applets
A “Sopa de letrinhas” do Java • API • Application Programming Interfaces • São bibliotecas de classes, que podem ser reutilizadas no desenvolvimento de aplicativos Java • JSDK (ou JDK): • Java Software Development Kit • Conjunto de ferramentas de desenvolvimento Java disponibilizado pela SUN • Compilador + depurador + API • Documentação
A “Sopa de letrinhas” do Java • JRE • Java Runtime Environment • Contém as bibliotecas, máquina virtual e demais componentes necessários para executar applets e aplicações escritas em Java
A “Sopa de letrinhas” do Java • J2SE (ou Core Java Platform) • Java 2 Standard Edition • Contém o JDK e o JRE • J2ME • Java 2 Micro Edition • É o Java para pequenos dispositivos • J2EE • Java 2 Enterprise Edition • Ambiente para o desenvolvimento de aplicações corporativas, complexas e distribuídas fisicamente.
A “Sopa de letrinhas” do Java • JDBC • Java Database Connectivity • Solução para acesso multiplataforma à banco de dados. • JSP • JavaServer Pages • Criação de páginas web dinâmicas
A “Sopa de letrinhas” do Java • Servlets • Equivalem as CGIs. São programas Java que rodam no servidor. • Possibilitam a geração de conteúdo dinâmico para a Web • Applets • Programa escrito em Java e que pode ser executado a partir de uma página HTML
A “Sopa de letrinhas” do Java • EJB – Enterprise JavaBeans • A especificação EJB define um padrão paraComponentes de negócio distribuídos. • RMI – Remote Method Invocation • Solução para distribuição de aplicações Java, permite a comunicação entre objetos.
A “Sopa de letrinhas” do Java • AWT – Abstract Window Toolkit • Esta API contém tratamento de eventos, janelas, caixas de Diálogo, cores e outros elementos visuais. • Swing • Principal parte do JFC (Java Foundation Classes) • estende o AWT, e tem substituído este em muitos casos.
Onde obter o Java • J2SE - http://java.sun.com/j2se/ • J2EE- http://java.sun.com/j2ee/ • J2ME - http://java.sun.com/j2me/ • Ambientes de desenvolvimento • JCreator - http://www.jcreator.net • NetBeans - http://www.netbeans.org/ • Eclipse - http://www.eclipse.org
Anatomia de uma classe Java public class <Classe> { <Tipo1> <atributo1>; <Tipo2> <atributo2>; <Tipo3> <atributo3>; <Tipo4> <operação1>(<args>){ <declaracao1>; <declaracao2>; return <Tipo4>; } } <Classe> <atributo 1>: <Tipo 1> <atributo 2>: <Tipo 2> <atributo 3>: <Tipo 3> <operação 1>(<args>): Definição em UML Definição em Java
Anatomia de uma classe Java public class Automovel { int nPortas; String placa; void acelerar(){ //Implementação do método acelerar System.out.println(“Acelerando…”); } void frear(){ /*Implementação do método frear*/ System.out.println(“Freando…”); } } Atributos Métodos Comentários
Classe e Pacotes • Java possui diversas classes padrões, que implementam a maioria das funcionalidades necessárias para uma aplicação • Exemplos: funções matemáticas, classes para manipulação de Strings... • Esse conjunto de classes padrões (API) são organizados em pacotes (cada pacote contendo diversas classes) • Principais pacotes da API Java: • java.lang • java.match • java.util • Consulte a API Java: • http://java.sun.com/j2se/1.5.0/docs/api/
Como criar uma classe Java 1 Crie um documento de código fonte. Use a linguagem Java (obedeça a sua sintaxe) 2 Submeta seu documento ao compilador. O compilador verificará erros e não permitirá gerar a saída até que tudo esteja adequado para que o programa execute corretamente 3 O compilador cria um novo documento, bytecode Java (.class). 4 Qualquer dispositivo que possua uma implementação de máquina virtual será capaz de executar seu programa Java. A máquina virtual lê e executa o bytecode.
Compilação para byte-code • Variável de ambiente JAVA_HOME (opcional: usada por vários frameworks) • Define qual o local de instalação do Java no seu sistema. • Exemplos: • JAVA_HOME= c:\j2sdk1.4.0 • Variável de ambiente CLASSPATH: local que contém todos os caminhos locais para localizar classes
Compilação para byte-code • Como compliar: javac NomeDaClasse.java javac -d ../destino Um.java Dois.java javac -d ../destino *.java javac -classpath c:\fontes -d ../destino *.java • Algumas opções (opcionais) -d diretório onde serão armazenadas as classes (arquivos .class) geradas -classpath diretórios (separados por ; ou :) onde estão as classes requeridas pela aplicação -sourcepath diretórios onde estão as fontes • Para conhecer outras opções do compilador, digite javac sem argumentos
Execução • Como executar: java NomeDaClasse java pacote.subpacote.NomeDaClasse java -classpath c:\classes;c:\bin;. pacote.Classe java -cp c:\classes;c:\bin;. pacote.Classe java -cp %CLASSPATH%;c:\mais pacote.Classe java -cp biblioteca.jar pacote.Classe java -jar executavel.jar • Principais opções -cp ou -classpath classpath novo (sobrepõe variável de ambiente) -jar executa aplicação executável guardada em JAR