JavaOverview (Interessante)
JavaOverview (Interessante)
Overview da
J2EE tecnologia Java
J2ME
Java
Conhecendo a linguagem
e a plataforma
Felipe Cuozzo – Advanced IT
Consultor de Tecnologia Java
Agenda
• Histórico da linguagem
• Linguagem Java
• Máquina Virtual (JVM)
• Conhecendo o ambiente Java (J2SE)
• Java 2 Enterprise Edition (J2EE)
• Java 2 Micro Edition (J2ME)
• Perguntas e Respostas
• Referências
3
Histórico da Linguagem
• Surgiu em 1995 dentro da Sun Microsystems
• Ideal de multi-plataforma e arquitetura neutra
concebido desde o começo
• Segurança e robustez projetadas para o ambiente
distribuído
• Internet foi a grande responsável pela popularização
• Três grandes revisões:
– Java Development Kit (JDK) 1.0/1.0.2
– Java Development Kit (JDK) 1.1/1.1.8
– Java 2 Platform (Java 2 SDK e JRE 1.2, 1.3, 1.4)
• Evolução da linguagem controlado pelo Java
Comunity Process (JCP) formado pela Sun e pela
comunidade Java
4
Linguagem Java
• Sintaxe semelhante a linguagem C++, entretanto sem as
complexidades desnecessárias.
6
Compilação em bytecodes
• bytecode é o código de máquina que roda em qualquer
máquina através da Máquina Virtual Java (JVM)
• O código na linguagem Java é transformada em bytecodes
através do processo de compilação e armazenado em um
arquivo *.class
• Grande responsável pela portabilidade de Java
class HelloWorldApp {
public static void main(String[] ags) {
System.out.println("Hello World");
}
}
7
Componentes da JVM
classloader
Verificador Garbage
de bytecode collector
interpretador
heap JIT
pilha
sistema operacional
hardware
8
Coletor de Lixo (Garbage Collector)
• Em Java o programador não tem a liberdade de
manipular explicitamente os ponteiros de memória
– Criação de um objeto Java:
Pilha Heap
“Felipe”
9002229323 GC
pes thread
10
Java Runtime Engine
JRE
11
Java Software Development Kit
SDK
12
Principais APIs
Pacote javax.swing
Pacote java.sql,
Pacote
Interface gráfica, layoutjava.util
javax.sql
independente
de plataforma. Feito em Java,
componentes
Pacote java.io, java.net
“lightweight”
Classes
Rotinas utilitárias,
para acesso a bancos
Pacote java.lang
framework
de dados, execuçãocollections,
de
modelo
consultas Classes
SQL, eventos,utilização de
de ... para
sockets, HTTP, acesso ao
Contém asinternacionalização,
classes
SDK sistema de arquivos,
fundamentais para
classes a data
para e
JRE linguagemhora, serialização
Java ...
14
Arquitetura J2EE
O modelo n-camadas da plataforma J2EE trabalha com a
separação nítida dos componentes conforme suas
responsabilidades
15
Plataforma J2EE
• Especificação do J2EE – define os requisitos;
• Conjunto de Testes de Compatibilidade – valida a compatibilidade
dos sistemas desenvolvidos com a plataforma;
• Implementação de Referência (RI) – valida a especificação;
• Modelo de Programação de Aplicações (Blueprints) – catálogo de
padrões de projeto e orientações para a construção de aplicações.
16
Componentes e contêineres
17
Cenários de aplicações J2EE
• Subdividida em:
– Connected Limited Device
Configuration (CLDC) 1.1
– Connected Device
Configuration (CDC) 1.1
19
Configurações
• CDC • CLDC
– Baseada na J2SE – K Virtual Machine
– Sem suporte a GUI (KVM)
• Memória mínima
– Bibliotecas de 160KB
compatibilidade com • 16/32-bit RISC/CISC
CLDC
– HotSpot
– 32-bit CPU Implementation
– Requer cerca de 2MB • Altamente otimizada
RAM e 2.5 MB de • 16/32-bit RISC (ARM)
ROM • Memória mínima
192KB
20
Profiles
CLDC CDC
• MIDP (Mobile Information • Foundation – ambiente mais
Device Profile) – ambiente básico do J2ME
JRE para os dispositivos – Baseado em APIs
móveis de informação reconhecidas do J2SE,
(MIDs) permitindo a reutilização de
– Interface com usuário software J2SE
– Conectividade – Otimizada para ambiente de
pequena capacidade e
– Armazenamento local de recursos limitados.
dados
– Sem suporte a GUI.
– Gerenciamento do ciclo de
vida da aplicação • Alguns exemplos de cenários
• Alguns exemplos de cenários para o Foundation Profile
para o MIDP: incluem:
– Telefones celulares – impressoras de rede
– PDAs de baixa capacidade – roteadores
– gateways residenciais
21
Perguntas
&
Respostas
22
Referências
• http://java.sun.com
• http://www.java.com
• http://java.sun.com/j2se
• http://java.sun.com/j2me
• http://java.sun.com/j2ee
• http://java.sun.com/docs/books/tutorial
23
Obrigado !!!
Felipe Cuozzo
[email protected]
24