Sumrio
1. 2. 3. 4. 5. 6. 7. 8. 9.
Java lento???? Java e Games Breve histrico Arquitetura geral & caractersticas Relao Java & C++ JVM & Bytecodes Instalao & execuo Projeto Eclipse Hello World
UNISINOS Jogos Digitais
Java lento??
Em 1995 era muuuitttooooo lento. O caso do Swing e AWT As maiores causas dos problemas de desempenho:
Aplicao mal projetada Problemas na compreenso da orientao a objetos Vcios de programao. Programadores ineficientes Falta de otimizao
http://www.java.com/en/games/desktop/
Java e Games
Chrome Specforce
Joo Ricardo Bittencourt
http://www.java.com/en/games/desktop/
Java e Games
Java e Games
Jake 2
http://bytonic.de/html/jake2.html
Joo Ricardo Bittencourt UNISINOS Jogos Digitais
Breve histrico
Lanada oficialmente pela Sun no dia 23/05/1995 Green Team liderado por James Gosling, iniciou em 1991. Este grupo pretendia atender uma tendncia da converso de dispositivos e computadores pessoais.
Breve histrico
1992: *7 (StarSeven) controlador de dispositivos domsticos interativo com uma tela touchscreen animada (surge o mascote Duke) Gosling criou uma linguagem independente de processador denominada Oak.
Breve histrico
Foi criado o grupo FirstPerson para comercializar o *7 principalmente para empresas de TV a cabo, mas no obtiveram sucesso Em 1993 comeam a enfocar a Internet como um mercado promissor para esta tecnologia Em 1994 lanado o HotJava baseado no Mosaic. Era a primeira vez que se apresentava animaes na web! Em maro lanam o 1.0a para comunidade o cdigo completo da API do Java. Rapidamente a Sun no conseguiu mais atender tantos emails. Futuro: JavaFX
UNISINOS Jogos Digitais
Arquitetura Geral
Caractersticas da Linguagem
So 11 caractersticas apresentadas pela Sun como justificativa para o projeto Java Simples
Sintaxe baseada em C++ Ser pequeno (interpretador) para executar em mquinas com poucos recursos
Orientado a objeto
Baseada em C++
Distribudo
Facilidade de usar TCP/IP,HTTP,FTP,...
Robusto
Modifica o esquema de alocao dinmica
UNISINOS Jogos Digitais
Caractersticas da Linguagem
Seguro
Grande preocupao em resolver bugs de segurana. Isto vital, pois Java est muito integrado com redes de computadores
Arquitetura neutra
Uso de uma mquina virtual independente de sistema
Portvel
Quanto aos tipos de dados
Caractersticas da Linguagem
Interpretado
Execuo dos bytecodes
Alto desempenho
Uso de compiladores JIT (just-in-time)
Multithread
Vrias tarefas sendo executadas simultaneamente Muito simples de ser usado.
Dinmico
nfase em mudanas de comportamento on the fly
Java utiliza somente utiliza alocao dinmica. Os ponteiros esto ocultos do programador pela sintaxe. Possibilidade do uso de mtodos nativos (C ou C++) em Java e vice-versa. Java no possui herana mltipla. Utiliza o conceito de interfaces. Java utiliza uma garbage collector. Com certeza no um vil, desempenho depende do programador Usa um mtodo finalizador (finalize) ao contrrio de um destrutor em C++
UNISINOS Jogos Digitais
Em C++ a destruio dos objetos explcita em Java utiliza-se a garbage collector. Todas as classes podem ser transformadas em strings facilmente (toString()) O tratamento de excees mais simples em Java O uso de threads extremamente simples. A parte complexa delegada para o sistema operacional At a verso 1.5 do Java no existiam templates que uma caracterstica muito interessante em C++
UNISINOS Jogos Digitais
teste.cpp
Compilador
Linker
teste.exe
lib1.lib
libn.lib
UNISINOS Jogos Digitais
teste.py
Intepretador
teste.java
Compilador
teste.class
Mquina Virtual Cada plataforma tem sua prpria mquina Joo Ricardo Bittencourt
O bytecode no adota uma linguagem de mquina para uma mquina especfica (igual as aplicaes compiladas). O bytecode adota uma linguagem de mquina padro que ser interpretada por uma mquina virtual compilada para uma determinada plataforma. JVM (Java Virtual Machine)
Usar a verso SE 6, JSE 1.5 ou JSE 1.4.2 J2SE SDK (Software Development Kit). Verso para desenvolvedor. Contem o compilador + JVM J2SE JRE (Java Runtime Environment). Verso para o usurio executar programas Java. Possui somente a JVM, sem compilador Faa o download do SDK
A instalao segue os passos de qualquer aplicao like Windows. Joo Ricardo Bittencourt UNISINOS Jogos Digitais
//Executa a aplicao
CLASSPATH Referencia os repositrios de classes As classes basicamente ficam organizadas em diretrios Equivale ao pacote que contem as classes Pacote: br.unisinos.jedi.prog
Eclipse
Disponvel em: www.eclipse.org Soluo amplamente utilizada pela comunidade de desenvolvedores Java. Possui centenas de plug-ins Basicamente trata-se de uma IDE genrica. IDE for Java Developers Importante:o NetBeans tambm uma tima IDE
Hello World
Demonstraes Criar um novo projeto Executar um aplicativo Java Importar um projeto a partir de um arquivo ZIP Exportar um projeto para um arquivo ZIP