Visão geral sobre Java



Documentos relacionados
A Linguagem Java. Apresentação. Java. A Linguagem da Internet

Programação por Objectos. Java

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Desenvolvimento Web TCC Turma A-1

Orientação a Objetos em Java. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Objetivos do Curso. Você será capaz de:

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

Programação de Computadores II TCC Turma A-1

Adriano Reine Bueno Rafael Barros Silva

Linguagens de. Aula 02. Profa Cristiane Koehler

Programação Orientada a Objetos

Um pouco do Java. Prof. Eduardo

Programação de Computadores - I. Profª Beatriz Profº Israel

Introdução à Linguagem Java

Sistemas Distribuídos

CURSO DE PROGRAMAÇÃO EM JAVA

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

Orientação a Objetos com Java

Prof. M.Sc. Fábio Procópio Prof. M.Sc. João Maria Criação: Fev/2010

Fundamentos de Java. Prof. Marcelo Cohen. 1. Histórico

Programação Orientada a Objetos

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

Faculdade Latino Americana Programação Orientada a Objetos II - 4º Período Ciências da Computação. REVISÃO POO Parte 01

Introdução à linguagem Java

Marco Aurélio Uma Visão Geral Sobre Plataforma Java

Introdução à Linguagem Java. Departamento de Informática Prof. Anselmo C. de Paiva

Análise de Programação

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Programação Orientada a Objetos (DPADF 0063)

Web Browser como o processo cliente. Servidor web com páginas estáticas Vs. Aplicações dinâmicas para a Web:

Java para Desktop. Introdução à Plataforma Java JSE

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Programação por Objectos

Laboratório I Aula 2

Capítulo 4. Packages e interfaces

Linguagem de Programação Introdução a Linguagem Java

PROGRAMAÇÃO JAVA. Parte 1

Orientação a Objetos e a Linguagem Java

Linguagem de Programação Orientada a Objeto. Introdução a Orientação a Objetos Professora Sheila Cáceres

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Universidade da Beira Interior Cursos: Engenharia Informática, Matemática /Informática e Ensino da Informática

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

Programação Orientada a Objetos (DPADF 0063)

Java. Marcio de Carvalho Victorino

Especialização em Engenharia de Software - CEUT

FBV - Linguagem de Programação II. Um pouco sobre Java

Linguagem Java. Arquitetura e Ambiente de Desenvolvimento. Arquitetura e Ambiente de Desenvolvimento Prof. Anderson Augustinho Uniandrade

CAPÍTULO 7 JAVA 7.1 CARACTERÍSTICAS DA LINGUAGEM

Curso de Aprendizado Industrial Desenvolvedor WEB

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática

SISTEMAS DISTRIBUÍDOS

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

Algoritmos e Programação 2. Introdução à Programação Orientada a Objetos. Orientação a Objetos. O que é um paradigma de programação?

Invocação de Métodos Remotos

Introdução à Plataforma J2EE Java2 Enterprise Edition. Alex de V. Garcia, Dr.

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Introdução a Java. Mário Meireles Teixeira. l Java é tanto uma linguagem de programação de alto nível quanto uma plataforma de desenvolvimento

A INTERNET COMO FERRAMENTA AUXILIAR NO ENSINO DE MECÂNICA COMPUTACIONAL

Daniel Wildt FACENSA Grupo de Estudos Java - FUJA Slide: 1

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Capítulo 8. Software de Sistema

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

J2EE. J2EE - Surgimento

J2EE TM Java 2 Plataform, Enterprise Edition

Programação Avançada

Introdução à linguagem

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas)

Capítulo 1 Introdução

ou ainda ser chamado um método que pertença a um objeto, que pertence ao objeto em causa:

PadrãoIX. Módulo II JAVA. Marcio de Carvalho Victorino. Servlets A,L,F,M

Sobre o Professor Dr. Sylvio Barbon Junior

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

Revisão da linguagem Java

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Java 2 Standard Edition. Introduçã. ção à. tecnologia Java. Helder da Rocha

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) Sumário. Java 2 Enterprise Edition. J2EE (Java 2 Enterprise Edition)

Objetos Distribuídos - Programação Distribuída Orientado a Objetos. Luiz Affonso Guedes

Invocação de Métodos Remotos RMI (Remote Method Invocation)

Programação Na Web. Servlets: Como usar as Servlets. Agenda. Template genérico para criar Servlets Servlet 2.4 API

Programação online em Java

Universidade Federal de Uberlândia

1. Apresentação Objetivos

Web Technologies. Tópicos da apresentação

Programação Orientada a Objetos em Java

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

Definições. Parte 02. Java Conceitos e. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Sistemas Distribuídos

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha

BSI UFRPE Prof. Gustavo Callou

Programação de Computadores - I. Profª Beatriz Profº Israel

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Orientação a Objetos com Java

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Técnicas de Programação II

Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

UNIVERSIDADE. Sistemas Distribuídos

Transcrição:

Programação Na Web Visão geral sobre Java 1 António Gonçalves Agenda Vantagens em usar o Java Versões do Java Instalar e executar programas em Java Aplicações básicas (Ola Java!) Argumentos da linha de comando Aplicações básica tipo Applet (Ola Java!) 2 Introdução ao Java

Dispositivo Rube Goldberg 3 Introdução ao Java Plataforma Java 2 J2SE Java 2 Standard Edition Java para desktop / workstation http://java.sun.com/j2se J2ME Java 2 Micro Edition Java para PalTop e Telemóveis http://java.sun.com/j2me J2EE - Java 2 Enterprise Edition Java para servidores http://java.sun.com/j2ee 4 Introdução ao Java

Plataforma Java 2 http://java.sun.com/java2/ 5 Introdução ao Java Tecnologias J2EE Java Servlets JSP EJB JMS JDBC JNDI JTA / JTS JavaMail JAAS XML 6 Introdução ao Java

Componentes J2EE http://java.sun.com/j2ee/overview3.html 7 Introdução ao Java Plataforma Java 2 8 Introdução ao Java

O que é o JAVA? OOPL - Linguagem de programação OO Portável, Segura, Simples, Eficiente e Concorrente. JVM - Máquina virtual integrada em: Browsers (NetScape, Explorer, HotJava) Sistemas Operativos (Linux, JavaOS) Aplicações. (java...) API - Conjunto de bibliotecas de classes que suportam: Interfaces gráficas (AWT, Swing) Imagem e Som (wav, jpeg, gif, zip, jar) Redes de comunicação (Socket, URL, RMI) Etc. (Stream, Beans, JDBC,...) 9 Introdução ao Java Entidades principais das OOPL Interface Conduzível { virar, acelerar, tarvar Define as acções (métodos) que devem ser implementadas para um determinado objectivo. Classe Automóvel { motor, Conduzivel, atestar Define as características (atributos) e as acções (métodos) de um tipo de objectos. Implementa os métodos. Pode Implementar uma ou mais Interfaces. Objecto o meu carro { motor = 1300 É uma instância de uma Classe concreta. Podem existir um ou mais objectos da mesma classe. Cada objecto mantém os valores dos seus atributos. 10 Introdução ao Java

Herança nas OOPL Uma classe, para além de poder implementar interfaces, pode herdar atributos e métodos de outras classes. Fiat127 é também um Automóvel Automóvel é a super-classe ou a classe base de Fiat127 Fiat127 é sub-classe ou classe derivada de Automóvel Uma classe derivada pode: Acrescentar atributos e/ou métodos Re-implementar métodos herdados Uma classe é abstracta se não implementar todos os métodos definidos. Fiat127 meu carro motor = 1300 <<Interface>> Conduzível virar acelerar travar Automóvel motor virar acelerar travar atestar 11 Introdução ao Java Java é Multi-Plataforma Compila para código máquina independente dos sistemas operativos (bytecode) Java Código Fonte Compilador (javac) Java Bytecode Java Bytecode JIT Compilador or Interpretador Execution Windows, MacOS, OS/2, Solaris, Java possui uma biblioteca gráfica propria Java avoids hard-to-port constructs 12 Introdução ao Java

Java é Simples Java possui gestor de memória Não existe ponteiros soltos Não é criado lixo Java simplifique a gestão de ponteiros Não existe operações de referencia ou deferencia Não existe makefiles e ficheiros de include sintaxe identica ao C++ 13 Introdução ao Java Caracteristicas da Linguagem JAVA Reúne as características das linguagens Object Oriented C++ ( Sintaxe compacta e já muito divulgada) Sintaxe das instruções, expressões for(i=0;i<10;++i), break, w.x%10==0, a>>=2. Estrutura sintáctica Object Oriented classes, visibilidade, construtores, declaração de métodos, etc. Smalltalk Modelo de objectos (herança simples) (Eficiência) Acesso aos objectos apenas por referência (Segurança) Código intermédio (Portabilidade) Alojamento dinâmico com garbage collection (Simplicidade) 14 Introdução ao Java

Bibliotecas Standard Threads (processos leves) ADTs Java Foundation Classes Processamento de strings/streams JDK 1.4 suporto Expressões Regulares Inteiros com precisão arbritária e aritmética de ponto fixo Serialização (armazenamento de objecto no disco ou envio através de socket) Invocar objectos remotos RMI Interface com DBA JDBC ETC 15 Introdução ao Java Packages No JAVA existem 23 packages com classes e interfaces java.applet Applets java.awt Graphics, window, GUI java.awt.datatransfer Data transfer (copy,paste) java.awt.event Events java.awt.image Image (jpg, gif) java.awt.peer GUI for platform independence java.beans JavaBeans java.io input output java.lang Core language java.lang.reflect Reflection java.math Arithmetic java.net Networking java.rmi +3 Remote Method Invocation java.security +2 Security java.sql JDBC Sql for Databases java.text Internationalization java.util Data types java.util.zip Compression 16 Introdução ao Java

Versões do Java Java 1.0 disponibilizado em 1995 Java 1.1 disponibilizado em 1997 Java Standard Edition (JDK 1.2) disponibilizado em 1998 JDK 1.3 disponibilizado em 2000 17 Introdução ao Java Como começar 1. Instalar Java JDK 1.4 http://java.sun.com/j2se/1.4/ JDK 1.3 http://java.sun.com/j2se/1.3/ 2. Instalar um Browser que suporta Java Netscape Navigator http://home.netscape.com/download/ Microsoft Internet Explorer http://www.microsoft.com/ie/download/ Sun HotJava http://java.sun.com/products/hotjava/ 18 Introdução ao Java

Como começar, cont. 3. Marcar ou instalar a API do Java Java 2 SDK, Version 1.4 (JDK 1.4) API Specification, http://java.sun.com/j2se/1.4/docs/api/ API Download, http://java.sun.com/j2se/1.4/docs.html Java 2 SDK, Version 1.3 (JDK 1.3) API Specification, http://java.sun.com/products/jdk/1.3/docs/api/ API Download, http://java.sun.com/products/jdk/1.3/download-docs.html 4. Criar e executar um programa em Java Criar o ficheiro Compilar Executar 19 Introdução ao Java Como começar : Detalhes 1. Criar o Ficheiro Escrever e guardar o ficheiro (exp Test.java) que define a classe Test O Nome da classe e do ficherio devem ser o mesmo (Atenção com maisculas e minusculas!) 2. Compilar o programa Compilar Test.java pelo comando javac Test.java Este passo cria o ficheiro Test.class 20 Introdução ao Java

Como começar : Detalhes, cont. 3. Executar o programa Para executar um programa : java Test Nota O comando é java, e não javac, e deve ser feita referencia a Test, e não Test.class Para executar uma applet deve ser usado um browser e ser feito o carregamento da página na qual é referenciada 21 Introdução ao Java Aplicação básica Hello World Aplicação em Java significa uma programa stand-alone Nota o nome da classe e o nome do ficheiro são idênticos Cada ficheiro pode conter várias classes mas só uma pode ser declarada publica e o nome desta deve ser idêntico ao nome do ficheiro Ficheiro HelloWorld.java: public class HelloWorld { public static void main(string[] args) { System.out.println("Hello, world."); 22 Introdução ao Java

Aplicação básica Hello World, cont. Compiar: javac HelloWorld.java Executar: java HelloWorld Saída: Hello, world. 23 Introdução ao Java Compilador de JAVA Um programa em JAVA é compilado para código intermédio. O compilador tem como entrada um ficheiro de texto normalmente com extensão.java em UNICODE ou ASCII. Por cada classe ou interface compilada é gerado um ficheiro com o código intermédio (byte-codes). normalmente com extensão.class que podem ser transportados para qualquer plataforma onde exista uma máquina virtual para os executar Hello.java public class Hello { public static void main(string[ ] args) { System.out.println( Hello World! ); javac Hello.class... getstatic #7 ldc #1 invokevirtual #8 return... 24 Introdução ao Java

Máquina virtual JAVA A VM interpreta os byte-codes do código intermédio A máquina virtual é uma máquina de stack. A VM tem uma implementação para cada plataforma (arquitectura/so). O ambiente de execução dos byte-codes é seguro (sandbox model). Os byte-codes são verificados (tipos, visibilidade, overflow, underflow,...) A classe é carregada para a memória Os acessos aos recursos do sistema (ficheiros, portos da rede, etc.) passam pela verificação de um controlador de acessos. A eficiencia é melhorada com o Just In Time compiler. Hello.class... getstatic #7 ldc #1 invokevirtual #8 return... Verifier API java.exe Class Loader Classes Security Manager Recursos do Sistema Hello world! 25 Introdução ao Java Argumentos da Linha de Comando Diferenças do C Em Java uma String é um tipo Em Java as tabelas sabem qual é o número de elementos guardados (length) O nome do ficheiro não faz parte dos argumentos da linha de comando ShowArgs.java: public class ShowArgs { public static void main(string[] args) { for(int i=0; i<args.length; i++) { System.out.println("Arg " + i + " = " + args[i]); 26 Introdução ao Java

Argumentos da Linha de Comando, Resultados Compilar e Executar: > javac ShowArgs.java > java ShowArgs fee fie foe fum Arg 0 = fee Arg 1 = fie Arg 2 = foe Arg 3 = fum 27 Introdução ao Java Uma aplicação standalone em JAVA Point.java public class Point extends Object { private float x, y; public Point( float xval, float yval ) { x = xval; y = yval; public float distancefrom( Point from ) { double dx = x - from.x; double dy = y - from.y; return (float)math.sqrt( dx*dx + dy*dy ); public static void main( String[] args ) { Point a = new Point( 1, 10 ); Point b = new Point( 3, 1 ); float d = a.distancefrom( b ); System.out.println(" distance = " + d); C:>edit Point.java C:>javac Point.java C:>dir Point.java Point.class C:>java Point distance = 9.219544 C:>_ 28 Introdução ao Java

Applet Básica HelloWWW.java: import java.applet.applet; import java.awt.*; public class HelloWWW extends JApplet { public void init() { setbackground(color.gray); setforeground(color.white); setfont(new Font("SansSerif", Font.BOLD, 30)); public void paint(graphics g) { g.drawstring("hello, World Wide Web.", 5, 35); 29 Introdução ao Java Applet Básica, cont. HelloWWW.html: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>HelloWWW: Simple Applet Test.</TITLE> </HEAD> <BODY> <H1>HelloWWW: Simple Applet Test.</H1> <APPLET CODE="HelloWWW.class" WIDTH=400 HEIGHT=40> <B>Error! You must use a Java enabled browser.</b> </APPLET> </BODY> </HTML> 30 Introdução ao Java

Applet Básica, cont. Compilar: javac HelloWWW.java Executar: Load HelloWWW.html in a Java-enabled browser 31 Introdução ao Java Parametrizar uma Applets com PARAM import java.applet.applet; import java.awt.*; public class Message extends JApplet { private int fontsize; private String message; public void init() { setbackground(color.black); setforeground(color.white); fontsize = getsize().height - 10; setfont(new Font("SansSerif", Font.BOLD, fontsize)); // Read heading message from PARAM entry in HTML. message = getparameter("message"); public void paint(graphics g) { if (message!= null) g.drawstring(message, 5, fontsize+5); 32 Introdução ao Java

Parametrizar uma Applets com PARAM, cont. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>The Message Applet</TITLE> </HEAD> <BODY BGCOLOR="WHITE"> <H1>The <CODE>Message</CODE> Applet</H1> <P> <APPLET CODE="Message.class" WIDTH=325 HEIGHT=25> <PARAM NAME="MESSAGE" VALUE="Tiny"> <B>Sorry, these examples require Java</B> </APPLET> <P> <APPLET CODE="Message.class" WIDTH=325 HEIGHT=50> <PARAM NAME="MESSAGE" VALUE="Small"> <B>Sorry, these examples require Java</B> </APPLET>... </BODY> </HTML> 33 Introdução ao Java Parametrizar uma Applets com PARAM, Resultado 34 Introdução ao Java