Anda di halaman 1dari 8

Programação JAVA

Capítulos 1 e 2

Fortaleza, Abril de 2010.


Projeto e-Jovem - Módulo II: Programação JAVA 1

Capítulo 1. Apresentação da linguagem de programação


Java

1.1. Objetivos
Nesta aula iremos discutir um pouco da história de Java e o que é a tecnologia Java.
Também iremos tratar as várias fases de um programa Java. Ao final desta aula,o aluno do
projeto será capaz de:
Descrever as características da tecnologia Java como a JVM (Máquina Virtual Java), O que
é Garbage Collection (coleta de lixo) e segurança do código.
Descrever as diferentes fases de um programa escrito em Java.

1.2. Explorando a linguagem de programação Java

1.2.1. Um pouco da história


A Sun criou um time (conhecido como Green Team) para desenvolver inovações
tecnológicas em 1992. Esse time foi liderado por James Gosling, considerado o pai do Java.
O time voltou com a ideia de criar um interpretador (já era uma máquina virtual, veremos
o que é isso mais a frente) para pequenos dispositivos, facilitando a reescrita de software
para aparelhos eletrônicos, como vídeo cassete, televisão e aparelhos de TV a cabo. A ideia
não deu certo. Tentaram fechar diversos contratos com grandes fabricantes de eletrônicos,
como Panasonic e outras, mas não houve êxito devido ao conflito de interesses.

Hoje, sabemos que o Java domina o mercado de aplicações para celulares com mais de 2.5
bilhões de dispositivos compatíveis, porém em 1994 ainda era muito cedo para isso. Com o
advento da web, a Sun percebeu que poderia utilizar a ideia criada em 1992 para rodar
pequenas aplicações dentro do browser. A semelhança era que na internet havia uma
grande quantidade de sistemas operacionais e browsers, e com isso seria grande vantagem
poder programar numa única linguagem, independente da plataforma. Foi aí que o Java
1.0 foi lançado: focado em transformar o browser de apenas um cliente fino (thin client ou
terminal burro) para uma aplicação que possa também realizar operações, não apenas
renderizar html. Atualmente os applets realmente não são o foco da Sun. É curioso notar
que a tecnologia Java nasceu com o propósito de ser uma linguagem de programação
voltada para diversos dispositivos eletrônicos, mas, no final, decolou mesmo no
desenvolvimento de aplicações voltadas para web no lado do servidor. Muita sorte? Em
2009 a Oracle comprou a Sun, fortalecendo a marca. A Oracle sempre foi, junto com a
IBM,uma das empresas que mais investiram e fizeram negócios com tecnologias Java.
Projeto e-Jovem - Módulo II: Programação JAVA 2

A motivação original do Java era a necessidade de uma linguagem independente de


plataforma que podia ser utilizada em vários produtos eletrônicos, 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 programação da Internet.

1.2.2. O que é a tecnologia Java?

1.2.2.1. Uma linguagem de programação


Como linguagem de programação, Java pode ser utilizado para criar todos os tipos de
aplicações existentes, de programas de Inteligência Artificial para Robôs até programas
para aparelhos celulares.

1.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 documentação, ferramenta
de empacotamento de classes de arquivos dentre outros.

1.2.2.3. Um ambiente de aplicação


Aplicações de tecnologia Java são tipicamente programas de propósito geral que executam
sobre uma máquina onde o JRE - Java Runtime Environment é instalado.

1.2.2.4. Um ambiente de distribuição


Há dois ambientes de distribuição principais: Primeiro, o JRE, fornecido através do Java 2
Software Development Kit (SDK), contém um conjunto completo de arquivos de classes
para todos pacotes de tecnologia Java. Outro ambiente de distribuição é o navegador
web, ou seja, o browser. Os navegadores web atuais fornecem interpretação à tecnologia
e ambiente Java em tempo de execução.
Projeto e-Jovem - Módulo II: Programação JAVA 3

1.2.3. Algumas características do Java

1.2.3.1. Máquina Virtual Java


A Máquina Virtual Java é uma máquina imaginária que é implementada através de um
software emulador em uma máquina real. A JVM provê especificações de plataforma de
hardware na qual se compila todo código de tecnologia Java. Essas especificações
permitem que o software Java seja uma plataforma independente pois a compilação é feita
por uma máquina genérica conhecida como JVM.
O bytecode é uma linguagem de máquina especial que pode ser entendida pela Máquina
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, não importando em que tipo de computador o programa foi
compilado.
Projeto e-Jovem - Módulo II: Programação JAVA 4

1.2.3.2. Garbage Collection


Muitas linguagens de programação permitem ao programador alocar memória durante o
tempo de execução. Entretanto, após utilizar a memória alocada deve existir uma maneira
para desalocar o bloco de memória de forma que os demais programas a utilizem
novamente. Em C, C++ e outras linguagens o programador é o responsável por essa tarefa.
Isso, às vezes, pode ser difícil já que instâncias podem ser esquecidas de serem desalocadas
da memória pelos programadores e resultar no que chamamos de escapes da memória. Em
Java, o programador não possui a obrigação da retirar uma variável criada das áreas de
memória, isto é feito por uma parte da JVM específica que chamamos de Garbage
Collection. O Garbage Collection é o grande responsável pela liberação automática do
espaço em memória. Isso acontece automaticamente durante o tempo de vida do programa
Java.

1.2.3.3. Segurança do Código


Segurança do Código é alcançada em Java através da implementação da Java Runtime
Environment (JRE).A JRE roda códigos compilados para a JVM e executa o
carregamento de classes (através do Class Loader), verificação de código (através do
verificador de bytecode) e finalmente o código executável. O Class Loader é responsável
por carregar todas as classes necessárias ao programa Java. Isso adiciona segurança
através da separação do namespace entre as classes do sistema de arquivos local e
aquelas que são importadas pela rede. Isso limita qualquer ação de programas que podem
causar danos, pois as classes locais são carregadas em primeiro lugar. Depois de carregar
todas as classes, a quantidade de memória que o executável irá ocupar é determinada. Isto
acrescenta, novamente, uma proteção ao acesso não autorizado de áreas restritas ao código
pois a quantidade de memória ocupada é determinada em tempo de execução. Após
carregar as classes e definir a quantidade de memória, o verificador de bytecode
verifica o formato dos fragmentos de código e pesquisa nestes fragmentos por códigos
ilegais que possam violar o direito de acesso aos objetos. Depois que tudo isso tiver sido
feito, o código é finalmente executado.

1.2.4. Fases do Programa Java


A figura seguinte descreve o processo de compilação e execução de um programa Java. O
primeiro passo para a criação 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,nano,
emacs, etc. Esses arquivos são armazenados no disco rígido com a extensão .java.
Após o programa Java ter sido criado e salvo, compile o programa utilizando o Compilador
Java. A saída desse processo é um arquivo de bytecode com extensão .class. O arquivo
.class é então lido pelo Interpretador Java que converte os bytecodes em linguagem de
máquina do computador que se está usando.

Tarefa Ferramenta utilizada Saída


Escrever o programa Qualquer editor de texto Arquivo com extensão .java
Arquivo com extensão .class
Compilar o programa Compilador Java
(Java bytecode)
Executar o programa Interpretador Java Saída do programa
Projeto e-Jovem - Módulo II: Programação JAVA 5

1.2.4.1. Ciclo de vida de desenvolvimento de um programa.

Análise → É a definição concreta do escopo (domínio do problema, o que será feito). Um


programa é feito em cima de uma necessidade (Essa necessidade é determinada no escopo
do problema). É um processo da análise de todas as necessidades referentes ao problema.
Projeto → Pega-se todas as necessidades encontradas na etapa de análise e cria-se as
especificações que tem como objetivo resolver o domínio do problema.
Codificação ou (Desenvolvimento) → Todas as especificações criadas no estágio de
montagem do projeto agora se tornarão objetos na programação.
Testes → Assegura-se que, a junção de objetos criados na codificação das classes resolve o
domínio do problema (as necessidades satisfeitas) que o processo de análise encontrou.
Implementação → Com o programa já pronto e testado, existe a disponibilização para os
clientes que encontrarão possíveis falhas.

Capítulo 2. Desenvolvendo: utilizando o bluej e o


netbeans

2.1. Sobre o BlueJ


BlueJ é um ambiente de desenvolvimento java projetado especificamente para o ensino em
um nível introdutório. BlueJ foi projetado e implementado pelas equipes das universidade
Monash University, Melbourne, Australia e The University of Southern Denmark, Odense.
Informações sobre BlueJ estão disponíveis no site oficial (http://www.bluej.org).

2.1.1. Copyright, licenciamento e distribuição


O software BlueJ e o seu tutorial estão disponíveis a qualquer um para qualquer tipo de
uso. O software e sua documentação podem ser distribuídos livremente. Nenhuma parte
do BlueJ ou sua documentação pode ser vendida ou incluída em pacotes que sejam
vendidos sem a autorização explicita dos autores. Os direitos de propriedade do software
BlueJ são propriedades de M. Kölling e J. Rosenberg.

2.1.2. Instalação no Linux/Unix e em outros sistemas


O arquivo de distribuição do software é um jar executável. Ele é chamado bluej-xxx.jar,
onde xxx é o número da versão. Por exemplo, a versão 1.2.0 do BlueJ é chamada de
bluejsetup-120.exe. Você pode ter este arquivo fazendo o download a partir do site do
BlueJ (http://www.bluej.org). Para instalar, basta executar o programa Execute o
programa de instalação através do comando abaixo.
NOTA: Para este exemplo,eu utilizei o arquivo bluej-120.jar – você deve utilizar o
nome do arquivo que você baixou do site (com o número correto de versão). <jdk-
Projeto e-Jovem - Módulo II: Programação JAVA 6

path>/bin/java -jar bluej-120.jar <jdk-path> é o diretório onde o JDK está


instalado.
Uma janela será exibida, permitindo você escolher o diretório de instalação e a versão do
JDK que será utilizada pelo BlueJ. Importante: O caminho de diretório do BlueJ (isto é,
nenhum dos diretórios pai) não podem conter espaços em seus nomes. Click em Install. Ao
final, BlueJ estará instalado.
Vejamos um exemplo no ambiente de desenvolvimento bluej.

2.2. Ambiente de desenvolvimento Netbeans IDE

O Netbeans é um ambiente integrado de desenvolvimento (IDE) que permite ao


programador criar programas utilizando recursos gráficos. Para trabalhar com o NetBeans
Projeto e-Jovem - Módulo II: Programação JAVA 7

é necessário ter instalado, anteriormente em sua máquina uma das versões do JDK
(Java),preferencialmente uma versão igual ou superior a J2SDK1.3.1.

NetBeans IDE é uma aplicação de código aberto feita para auxiliar os desenvolvedores na
criação de aplicativos em diferentes plataformas, utilizando tecnologia Java para isto. Nela
os desenvolvedores também vão encontrar um ambiente para desenvolvimento
profissional de modelos e projetos em C/C++, oferecendo bibliotecas de componentes
dinâmicas ou estáticas, sendo possível também utilizar os projetos já desenvolvidos nestas
linguagens, e aproveita-los para novas criações. Encontra todas as ferramentas necessárias
para projetos profissionais em Java, C/C++ e Ruby on Rails.
NetBeans IDE oferece o recurso GUI Builder que é uma ferramenta utilizada para criação
de design e posicionamento dos componentes da interface, já que apresenta para o
desenvolvedor todos os espaços e alinhamentos corretos automaticamente. Você pode
editar as propriedades destes componentes clicando nos botões JLabels, JButtons e
JtextFields.
Também é possível criar, testar e eliminar os erros de aplicações em desenvolvimentos
para celulares. O NetBeans IDE oferece ferramentas com suporte de criação em todos os
componentes Java EE, incluindo EJBs, serviços web, entre outros. É permitida a
modelagem de visuais UML, com vários tipos de diagramas, bem como desenhar e analisar
as aplicações destes modelos.
NetBeans IDE oferece todo o suporte para criação de interfaces gráficas de maneira visual,
bem como o desenvolvimento de aplicações para a internet, celulares e colaborações entre
usuários, apresentando funcionalidades para soluções mais completas em programações
com Java.
Plataforma NetBeans oferece uma arquitetura flexível para a aplicação e confiável. Sua
aplicação não tem que olhar para qualquer coisa como um IDE. Ele pode te salvar anos de
tempo de desenvolvimento. A Plataforma NetBeans dá uma testada arquitetura tempo de
graça. Uma arquitetura que incentiva práticas de desenvolvimento sustentável. Porque a
arquitetura da plataforma NetBeans é modular, é fácil criar aplicativos que sejam robustos
e extensível.

Anda mungkin juga menyukai