- A Linguagem de programação Java;
- O ambiente de execução Java;
- O kit de desenvolvimento Java;
- Uma biblioteca de classes (API) Java.
- Java 2 Platform Standard Edition (JavaSE);
- Java 2 Platform Enterprise Edition (JavaEE);
- Java 2 Platform Mobile Edition (JavaME).
- Cada uma tem sua API;
A partir da versão 6, tira-se o “2”:
- Java Platform, Standard Edition 6 ou Java SE 6;
- Java Platform, Enterprise Edition 6 ou Java EE 6;
- Java Platform, Mobile Edition 6 ou Java ME 6.
J2SE
Ferramentas de desenvolvimento + API núcleo da plataforma Java;
- JDK = Java Development Kit;
- JRE = Java Runtime Environment.
Somente para os programadores;
- Ferramentas de desenvolvimento;
- Ambiente de execução (JRE);
- API Java SE (compilada e código-fonte);
- Programas de demonstração;
- Bibliotecas adicionais;
- Documentação (obtida separadamente).
Necessária para rodar programas Java, pois além de compilada, Java também é interpretada;
É a única parte da plataforma Java que os clientes necessitam instalar;
Em alguns sistemas operacionais (ex. MacOS X) já vem instalada.
Implementação da Sun: ~ 15 MB.
- Compilador (javac);
- Interpretador (java);
- Gerador de documentação (javadoc);
- Depurador (jdb);
- Gerador de pacotes (jar);
- Outros:
- Visualisador de applets (appletviewer);
- Criptografia (keytool, jarsigner, etc.);
- Etc.
- Windows i586 / AMD64;
- Linux i586 / AMD64;
- Solaris SPARC / x86 / x64.
Outras:
HP UX, FreeBSD, OS/2, AIX, AS/400, OS/390, IRIX, Alpha, SCO, NetWare, etc.;
Escreva uma vez e execute em qualquer lugar
- Códigos das classes são compilados para uma linguagem intermediária chamada Bytecode;
- O Bytecode é interpretado por uma “máquina virtual”: a JVM;
- A JVM envia comandos específicos da plataforma para o sistema operacional
- AWT/Swing: interfaces gráficas;
- Java2D: desenho;
- JDBC: acesso a bancos de dados;
- JNDI: acesso a servidores de nomes;
- RMI: invocação remota de métodos;
- Beans: padrão JavaBeans;
- i18n: suporte a internacionalização;
- I/O: entrada e saída (arquivos);
- JNI: integração com linguagens nativas;
- Math: cálculos matemáticos;
- Networking: transmissão pela rede;
- Security: segurança;
- Serialization: persistência por serialização;
- XML: processamento de XML e afins;
- Lang & Util: núcleo da linguagem, utilitários (coleções, datas, compactação, etc.);
- Concurrency: programação concorrente (threads);
- Logging: funções de relatório (log);
- Reflection: reflexão e instrospecção.
- Multi-camada, distribuídas, centradas em servidores, altamente robustas, estáveis e escaláveis;
- Inclui as especificações para desenvolvimento Web: Servlets, JSP, Web Services.
- RMI/IIOP e Java IDL: conectividade;
- JNDI: serviço de nomes;
- JAC e JNI: acesso a sistemas legados;
- JAAS: segurança;
- JTA: transações em bancos de dados;
- JMS e JavaMail: envio de mensagens;
- E tudo mais que já temos no J2SE...
- Apache Tomcat, Caucho Resin, Jetty, etc.
- BEA WebLogic, Borland Enterprise Server, JBoss Application Server, Oracle Application Server, IBM WebSphere, GlassFish, Geronimo, etc.;
Bom, nos próximos posts vamos nos aprofundar nos itens constantes nesse resumo.
Grande abraço à todos!
Nenhum comentário:
Postar um comentário