Introdução à Linguagem Java

Slides:



Advertisements
Apresentações semelhantes
Noções de Sistemas Operacionais
Advertisements

Virtualização André Bernardes RA: César Kallas RA:
Tópicos I – Prof. Eduardo Zagari Virtualização André Bernardes RA: César Kallas RA: Eduardo Stuchi RA: Rafael Curi RA:
Introdução à Linguagem de Programação JAVA
Capítulo 1 Introdução.
Sistemas Operacionais de Rede Professor: João Paulo de Brito Gonçalves
PRDS - Programa de Residência em Desenvolvimento de Software Laboratório de Engenharia de Software (LES) da PUC-Rio Carlos Lucena
Introdução à Informática
Introdução aos Serviços Web
Interação Cliente Servidor
Rebeca Schroeder Linguagem Java Rebeca Schroeder
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
Curso Sistemas de Informação I Disciplina: Arquitetura de Software
TRABALHO SOBRE LINGUAGUEM DE PROGRAMAÇAO CARACTERISTICAS DO JAVA
GERENCIAMENTO DE REDES
09/03/10 20:13 Claudio de Oliveira – 1/21.
Classes e objetos Modelagem
Introdução a Programação Orientada a Objetos
Tecnologias para Internet
Aula 6 – Sistema Operacional
Desenvolvimento para Dispositivos Móveis
Desenvolvimento de Projetos e Aplicações Web
Linguagem de Programação JAVA
Aplicativos Web Com Orientação a Objetos
Linguagem de Programação JAVA
PROGRAMAÇÃO I UNIDADE 1.
Object Oriented Software Construction (MEYER, Bertrand)
Introdução ao Desenvolvimento Web
SISTEMAS OPERACIONAIS
A autoria - II.
Programação de SCRIPTS
Conhecendo os Sistemas Operacionais
Gerencia de Redes Redes de Computadores II
Arquitetura de computadores
Noções de Software Escola Almirante Soares Dutra
Configuração do Ambiente de Desenvolvimento
Concorrência e Java RMI
Conceitos de J2EE para a WEB
Cristiano Soares Rafael di Lego Roberto Nemirovsky Thiago Nascimento
Prof. Alexandre Monteiro Recife
Professor: Márcio Amador
Aula 1 - Fundamentos Java SE Instituto Metodista Izabela Hendrix Curso de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Gilmar Medeiros – Agosto/2009.
A Linguagem JAVA Prof. Hugo Sampaio São Luís, MA.
SISTEMAS OPERACIONAIS I
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Aplicações Web com Orientação a Objetos
MINI CURSO J2ME Vinícius Maran SEMINÁRIO REGIONAL DE INFORMÁTICA 2008.
LINGUAGENS DE PROGRAMAÇÃO WEB
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Introdução JAVA Faculdade Mauricio de Nassau
PLATAFORMAS MULTIMÍDIA
O Que É a Internet e Como Funciona: Tecnologias Ativas Renato M.E. Sabbatini, PhD Aula.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Linguagem de Programação JAVA
Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas.
Introdução a Programação Orientada a Objetos
Java Disciplina: Programação II Professora: Mai-Ly Vanessa.
O que é Java? Prof. M.Sc. Ronnison Reges Vidal. Roteiro  Introdução  Java  Máquina Virtual  Versões  JVM, JRE, JDK  Onde usar e Objetivos  Compilando.
Linguagem técnica de programação I Java
Igor Steinmacher, MSc. Java!!!!
Programação em Java Prof. Edvan Chaves.
Student Tech Clubs Desenvolvimento WEB Antonio Ladeia Graduando em Tecnologia em Análise e Desenvolvimento de Sistemas Instituto Federal da Bahia Introdução.
Aplicativos para Internet Prof. Wolley W. Silva
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Prof. Cristian Rodrigo Dalcico. Linguagem de Programação Java Aula 1.
Introdução ao Java Prof. Gustavo Wagner (modificações) Slides originais: Prof. Tiago Massoni Java Básico FATEC-PB  Centro de Informática, UFPE.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Introdução à plataforma Java. 2 A tecnologia Java Java: linguagem de programação e plataforma de desenvolvimento Criada pela Sun Microsystems Apoiada.
Capítulo 4 Estrutura do Sistema Operacional
Transcrição da apresentação:

Introdução à Linguagem Java

Breve Histórico Sun Microsystems, 90/91: um grupo de desenvolvimento recebeu a tarefa de projetar uma linguagem de programação pequena que pudesse ser usada em dispositivos eletrodomésticos (controles remoto etc. ) Esses dispositivos não possuem muita memória, então a linguagem teve que ser bem pequena e gerar códigos restritos. A linguagem foi projetada para ser utilizado em diferentes tipos de hardware, graças ao uso de bytecodes e de uma Máquina Virtual.

Breve Histórico (cont) 1991: decidiu-se por nomear a linguagem como Java (apelido dado pelos americanos ao café). 1992: entregue o primeiro produto chamado “*7” (controle remoto extremamente inteligente). Não houve interesse comercial. Buscou-se outro modo para comercializar a tecnologia. Enquanto isso a Internet estava crescendo e era necessário um browser para poder acessá-la. Decidiu-se então pela construção deste browser, denominado HotJava, que foi inteiramente programado em Java

Breve Histórico (cont) A grande inovação em relação ao Java se deu em 1995. A Netscape decidiu dar suporte à linguagem a partir de seu navegador Web para Internet (Netscape Navigator 2.0). A partir disto, todo usuário deste navegador passou a ser um potencial usuário da linguagem Java. Desde então, um fluxo constante de novidades vem acontecendo, culminando com a linguagem Java tornando-se a atual “coqueluche” dos programadores.

Breve Histórico (cont) Versão atual da linguagem: 2.0 (12/98) Último release: 1.3.1 (03/01) Penúltima versão da linguagem: 1.1 (02/97) Releases: 1.1.1 a 1.1.8 Primeira versão da linguagem: 1.0 (05/96) releases 1.0.1 e 1.0.2 Todas as versões foram e são distribuídas gratuitamente (http://www.javasoft.com) no pacote JDK (Java Development Kit)

Java Development Kit Compilador Java javac Interpretador Java (Java Virtual Machine) java Appletviewer Java Debugger jdb Gerador Automáticos de Documentos javadoc Just-in-Time Compiler

Ambiente Java

Ambiente Java

Características da Linguagem Java Simples Orientada a Objetos Distribuída Robusta Segura Neutra quanto à Arquitetura Portátil (Write Once Run Anywhere) Interpretada de Alto Desempenho Multithreaded (multitarefa) Dinâmica

Java é Simples Verdade, se você conhece bem C++ Não existem struct, union, artimética de ponteiros, include, classes virtuais etc. Falso, se você conhece apenas programação DOS ou VB, ou se não conhece OO sintaxe estranha escreve-se muito Verdade, pois seus produtos (.class, compilador e VM) são pequenos Falso, pois é muito extensa (muitas características)

Java é Orientada a Objetos Completamente verdade metaclasses e reflexão persistência de objetos (serialização) solução mais elegante para herança múltipla (interfaces) em suma, por ser recente, é uma linguagem OO pura (ao contrário do C++, que é híbrida)

Java é Distribuída Completamente verdade extensa biblioteca de rotinas para se trabalhar com protocolo TCP/IP (FTP, HTTP, SMTP) Comunicação entre objetos remotos (RMI) Habilitada para funcionar também no servidor (servlets e JSP) Habilitada para funcionar também em dispositivos portáteis (J2ME)

Java é Robusta Verdade possibilidade de capturar e tratar erros de run-time (exceções) excelente gerenciamento de memória impossível o acesso indevido à memória

Java é Segura Mais ou menos verdade não é possível se acessar a memória fora de seu espaço de processamento possibilidade de se impedir o acesso a funções de baixo nível quando da execução a partir de um Browser novos releases que corrigem eventuais falhas de segurança descobertas

Java é Neutra quanto à Arquitetura Verdade os bytecodes contidos em um arquivo .class podem ser executados em uma grande de diferentes plataformas para as quais existam JVMs (Windows 9x, Windows NT, Windows 3.11, MacOS, Solaris, Linux, Mainframe*.* :), HP-UX, PalmTops, Web-TVs, torradeiras, cafeteiras :))) etc.

Java é Portátil Grande Verdade (Write Once Run Anywhere) quem define as características particulares à cada arquitetura é a JVM e não o .class o padrão Unicode facilita a tarefa de “internacionalização” do código a aplicação tem a mesma “cara”, não importa o S.O. (apenas a partir da versão 1.1, com o pacote Swing que pode substituir o AWT)

Java é Interpretada Grande desvantagem :( o desempenho do compilador e da JVM é ruim para Wintel, a configuração mínima é Pentium 100 com 32 Mb de RAM

Java é de Alto Desempenho Pode ser verdade, graças a mecanismos como: JIT (Just in Time Compiler) compiladores nativos (transformam o .class em .exe) IDEs (JBuilder, Visual Café etc), que facilitam muito o desenvolvimento das aplicações

Java é Multithreaded “Permite que um programa faça mais de uma coisa ao mesmo tempo” muito “fácil” de implementar porém, a maneira como a JVM interpreta o código multithreaded varia, dependendo da arquitetura

Java é Dinâmica Os bindings são resolvidos em tempo de execução (funciona bem somente a partir da versão 1.1) Permite que novos métodos sejam acrescentados a uma biblioteca sem afetar os clientes desta biblioteca

Java é a Linguagem da Internet Do lado do “Cliente”, isto é mais ou menos verdade, graças aos applets, que são suportados por praticamente todos os Web Browser (diferente de outras tecnologias que exigem o uso de plug-in) Do lado do “Cliente”, applets são mais profissionais que linguagens script (Javascript e VBScript por exemplo)

Java é a Linguagem da Internet (cont) Do lado do “Servidor”, isto é verdade graças aos servlets (applets que rodam no servidor e que substituem os scripts Perl como mecanismo para CGI) e ao JSP (Java Server Pages), tecnologia que facilita a criação de páginas dinâmicas

O que Java não é... Java não é Javascript e vice-versa Java não é uma extensão de HTML Java não é fácil de aprender Java não é um ambiente fácil de se programar Java ainda não é uma linguagem de programação universal

O que Java não é... (cont) Java não é tão lenta quanto seus inimigos dizem (madura o suficiente para o desenvolvimento de aplicações sérias) Java não se restringe somente à Internet (boa para aplicações OO stand-alone, com ou sem interface gráfica)