Escolar Documentos
Profissional Documentos
Cultura Documentos
Mod01-Licao02-Apostila - JAVA
Mod01-Licao02-Apostila - JAVA
Introduo Programao I
Lio 2
Histrico de Java
JEDITM
Autor Florence Tiu Balagtas Equipe Joyce Avestro Florence Balagtas Rommel Feria Reginald Hutcherson Rebecca Ong John Paul Petines Sang Shin Raghavan Srinivas Matthew Thompson
Configurao Recomendada de Hardware Sistema Operacional Microsoft Windows Linux Solaris OS (SPARC) Solaris OS (x86/x64 Platform Edition) Mac OS X Processador 1.4 GHz Intel Pentium III workstation ou equivalente 1.4 GHz Intel Pentium III workstation ou equivalente UltraSPARC IIIi 1 GHz AMD Opteron 100 Series 1.8 GHz PowerPC G5 Memria 1 GB 1 GB 1 GB 1 GB 1 GB HD Livre 1 GB 850 MB 850 MB 850 MB 850 MB
Requerimentos de Software NetBeans Enterprise Pack 5.5 executando sobre Java 2 Platform Standard Edition Development Kit 5.0 ou superior (JDK 5.0, verso 1.5.0_01 ou superior), contemplando a Java Runtime Environment, ferramentas de desenvolvimento para compilar, depurar, e executar aplicaes escritas em linguagem Java. Sun Java System Application Server Platform Edition 9. Para Solaris, Windows, e Linux, os arquivos da JDK podem ser obtidos para sua plataforma em http://java.sun.com/j2se/1.5.0/download.html Para Mac OS X, Java 2 Plataform Standard Edition (J2SE) 5.0 Release 4, pode ser obtida diretamente da Apple's Developer Connection, no endereo: http://developer.apple.com/java ( necessrio registrar o download da JDK). Para mais informaes: ht://www.netbeans.org/community/releases/55/relnotes.html
Introduo Programao I
JEDITM
Auxiliadores especiais
Reviso Geral do texto para os seguintes Pases:
Brasil Tiago Flach Guin Bissau Alfredo C, Bunene Sisse e Buon Olossato Quebi ONG Asas de Socorro
Coordenao do DFJUG
Daniel deOliveira JUGLeader responsvel pelos acordos de parcerias Luci Campos - Idealizadora do DFJUG responsvel pelo apoio social Fernando Anselmo - Coordenador responsvel pelo processo de traduo e reviso, disponibilizao dos materiais e insero de novos mdulos Regina Mariani - Coordenadora responsvel pela parte jurdica Rodrigo Nunes - Coordenador responsvel pela parte multimdia Srgio Gomes Veloso - Coordenador responsvel pelo ambiente JEDITM (Moodle)
Agradecimento Especial
John Paul Petines Criador da Iniciativa JEDITM Rommel Feria Criador da Iniciativa JEDITM
Introduo Programao I
JEDITM
1. Objetivos
Nesta lio iremos discutir um pouco da histria de Java e o que a tecnologia Java. Tambm iremos discutir as fases de um programa Java. Ao final desta lio, o estudante ser capaz de: Descrever as caractersticas da tecnologia Java como a JVM - Mquina Virtual Java, Garbage Collection e segurana do cdigo; Descrever as diferentes fases de um programa Java.
Introduo Programao I
JEDITM
2. Explorando o Java
2.1. Um pouco da histria
Java foi criado em 1991 por James Gosling da Sun Microsystems. Inicialmente chamada OAK (Carvalho), em homenagem uma rvore de janela do Gosling, seu nome foi mudado para Java devido a existncia de uma linguagem com o nome OAK.
A motivao original do Java era a necessidade de uma linguagem independente de plataforma que podia ser utilizada em vrios produtos eletrnicos, tais como torradeiras e refrigeradores. Um dos primeiros projetos desenvolvidos utilizando Java era um controle remoto pessoal chamado *7 (Star Seven).
Ao mesmo tempo, a World Wide Web e a Internet foram ganhando popularidade. Gosling achava que a linguagem Java poderia ser usada para programao da Internet.
Como linguagem de programao, Java pode ser utilizado para criar todos os tipos de aplicaes existentes, de programas de Inteligncia Artificial para Robs at programas para aparelhos celulares.
Introduo Programao I
JEDITM
2.2.2.
Um ambiente de desenvolvimento
Como ambiente de desenvolvimento, a tecnologia Java fornece um grande conjunto de ferramentas: um compilador, um interpretador, um gerador de documentao, ferramenta de empacotamento de classes de arquivos e outros.
2.2.3.
Um ambiente de aplicao
Aplicaes de tecnologia Java so tipicamente programas de propsito geral que executam sobre uma mquina onde o Java Runtime Environment instalado.
2.2.4.
Um ambiente de distribuio
H dois ambientes de distribuio principais: Primeiro, o JRE, fornecido atravs do Java 2 Software Development Kit (SDK), contm um conjunto completo de arquivos de classes para todos pacotes de tecnologia Java. Outro ambiente de distribuio o navegador web, ou seja, o browser. Os navegadores web atuais fornecem interpretao tecnologia e ambiente Java em tempo de execuo.
A Mquina Virtual Java uma mquina imaginria que implementada atravs de um software emulador em uma mquina real. A JVM prov especificaes de plataforma de hardware na qual compila-se todo cdigo de tecnologia Java. Essas especificaes permitem que o software Java seja uma plataforma independente pois a compilao feita por uma mquina genrica conhecida como JVM. O bytecode uma linguagem de mquina especial que pode ser entendida pela Mquina Virtual Java (JVM). O bytecode independente de qualquer hardware de computador particular. Assim, qualquer computador com o interpretador Java pode executar um programa Java compilado, no importando em que tipo de computador o programa foi compilado.
Introduo Programao I 6
JEDITM
2.3.2.
Garbage Collection
Muitas linguagens de programao permitem ao programador alocar memria durante o tempo de execuo. Entretanto, aps utilizar a memria alocada, deve existir uma maneira para desalocar o bloco de memria de forma que os demais programas a utilizem novamente. Em C, C++ e outras linguagens o programador o responsvel por isso. Isso, s vezes, pode ser difcil j que instncias podem ser esquecidas de serem desalocadas da memria pelos programadores e resultar no que chamamos de escapes da memria. Em Java, o programador no possui a obrigao da retirar uma varivel criada das reas de memria, isto feito por uma parte da JVM especfica que chamamos de Garbage Collection. O Garbage Collection o grande responsvel pela liberao automtica do espao em memria. Isso acontece automaticamente durante o tempo de vida do programa Java.
2.3.3.
Segurana do Cdigo
Segurana do Cdigo alcanada em Java atravs da implementao da Java Runtime Environment (JRE). A JRE roda cdigos compilados para a JVM e executa o carregamento de classes (atravs do Class Loader), verificao de cdigo (atravs do verificador de bytecode) e finalmente o cdigo executvel. O Class Loader responsvel por carregar todas as classes necessrias ao programa Java. Isso adiciona segurana atravs da separao do namespace entre as classes do sistema de arquivos local e aquelas que so importadas pela rede. Isso limita qualquer ao de programas que podem causar danos, pois as classes locais so carregadas primeiro. Depois de carregar todas as classes, a quantidade de memria que o executvel ir ocupar determinada. Isto acrescenta, novamente, uma proteo ao acesso no autorizado de reas restritas ao cdigo pois a quantidade de memria ocupada determinada em tempo de execuo. Aps carregar as classes e definir a quantidade de memria, o verificador de bytecode verifica o formato dos fragmentos de cdigo e pesquisa nestes fragmentos por cdigos ilegais que possam violar o direito de acesso aos objetos. Depois que tudo isso tiver sido feito, o cdigo finalmente executado.
O primeiro passo para a criao de um programa Java escrever os programas em um editor de texto. Exemplos de editores de texto que podem ser utilizados: bloco de notas, vi, emacs, etc. Esses arquivos so armazenados no disco rgido com a extenso .java.
Introduo Programao I
JEDITM
Aps o programa Java ter sido criado e salvo, compile o programa utilizando o Compilador Java. A sada desse processo um arquivo de bytecode com extenso .class. O arquivo .class ento lido pelo Interpretador Java que converte os bytecodes em linguagem de mquina do computador que se est usando.
Sada Arquivo com extenso .java Arquivo com extenso .class (Java bytecode) Sada do programa
Introduo Programao I
JEDITM
Instituto CTS Patrocinador do DFJUG. Sun Microsystems Fornecimento de servidor de dados para o armazenamento dos vdeo-aulas. Java Research and Development Center da Universidade das Filipinas Criador da Iniciativa JEDITM. DFJUG Detentor dos direitos do JEDITM nos pases de lngua portuguesa. Banco do Brasil Disponibilizao de seus telecentros para abrigar e difundir a Iniciativa JEDITM. Politec Suporte e apoio financeiro e logstico a todo o processo. Borland Apoio internacional para que possamos alcanar os outros pases de lngua portuguesa. Instituto Gaudium/CNBB Fornecimento da sua infra-estrutura de hardware de seus servidores para que os milhares de alunos possam acessar o material do curso simultaneamente.
Introduo Programao I