0% acharam este documento útil (0 voto)
9 visualizações24 páginas

JavaOverview (Interessante)

Enviado por

Danib12
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
9 visualizações24 páginas

JavaOverview (Interessante)

Enviado por

Danib12
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 24

J2SE

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.

• Sintaxe uniforme, rigorosa quanto a tipos (código simplificado)

• Sem definição explícita de ponteiros, sem aritmética de ponteiros,


desalocação da memória controlada pelo Garbage Collector

• Projetada para a produção de software de alta confiabilidade

• Extensa verificação em tempo de compilação e novas verificações em


tempo de execução

Simples e robusta Orientada à objetos


Pequena curva de aprendizado Distribuída
Independente de plataforma Portável
Suporte nativo a threads Dinâmica
5
Máquina Virtual
• "Máquina imaginária implementada como uma
aplicação de software em uma máquina real" [JVMS]

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

public class Pessoa {


String nome;
Pessoa pes = null; int cpf;
pes = new Pessoa(“Felipe”, 9002229323); public Pessoa(String _nome, _cpf) {
.... nome = _nome;
.... cpf = _cpf;
pes = null; }
} 9
Conhecendo o Ambiente Java

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

Outros pacotes incluem o suporte para processamento


de XML, classes para realizar Log, segurança,
preferências, uso de Beans, entre outros ...
13
Java 2 Enterprise Edition
• Uma especificação para servidores de aplicação que
define padrão de suporte a componentes e serviços
• Um pacote de APIs e ferramentas para desenvolver
componentes que rodam nesses servidores
• Bibliotecas para o desenvolvimento de aplicações
distribuídas utilizando Java:
– Banco de dados: JDBC, SQLJ, JDO
– Objetos distribuídos: Java RMI, RMI-IIOP, Java IDL (CORBA),
EJB
– Serviços distribuídos: JTA, JTS, JAAS, DGC, JNDI
– Eventos distribuídos: JMS
– Web: Servlets, JSP, JSTL
– XML e Web services: JAXP, JAXB, JAXM, JAXR, JAX-RPC
– E-mail: JavaMail

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

Benefícios da plataforma J2EE:


• Arquitetura e desenvolvimento simplificado;
• Escalabilidade para atender a variações da demanda;
• Integração com sistemas de informação pré-existentes;
• Flexibilidade na escolha de servidores, ferramentas e componentes;
• Modelo de segurança flexível.
18
Java 2 Micro Edition
• Plataforma Java para dispositivos embarcados
como telefones celulares, PDAs, sistemas de
telemetria veicular, entre outros.

• 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

Você também pode gostar