Você está na página 1de 7

1

ETB_____________
Escola Técnica de Brasília
CURSO TÉCNICO DE INFORMÁTICA FOLHETO 1Un2
Linguagem Técnica de Programação I, Unidade I1: Introdução a Tecnologia Java
(ITJ).
Prof. Regis Lima

Antes de começar:
Descubra o que esperar deste tutorial e como obter o máximo dele.

Aqui entramos na Tecnologia Java. Você saberá um pouco da sua


origem e quais as principais características do Java. Verá como se
comporta um programa Java, sua plataforma e edições, conceitos e
funcionamento da Java Virtual Machine (JVM).

Pré-Requisitos:
Leitura Focada e Pesquisa

Objetivos:
Ao encerrar esta unidade você deverá estar apto como
programador/desenvolvedor, a saber, justificar as vantagens do uso do Java
como ferramenta de desenvolvimento de software e explicar o que
significa, qual sua importância e como é o funcionamento da máquina
virtual.

Parte 1 – Tecnologia Java


Uma breve história

 1991 - Engenheiros da Sun Microsystems. Pequena linguagem para


equipamentos eletrônicos. Independência de arquitetura com segurança. Projeto
Green. James Gosling considerado o pai do Java.
 1992 – Produtos *7 (Star Seven – controle remoto)
 1993 - Novo nome projeto: First Person Inc.
 1994 – Elaboração do browser para internet(1993)
 1995 – SunWorld apresenta esta tecnologia Java. Projeção dos atuais applets.
 1996 – Lançamento da primeira versão do Java. Grande difusão do java com o
Netscape 2.0

Linguagem Técnica de Programação I, Unidade 2: Introdução a Tecnologia Java


2

 1998 – Conferencia JavaOne – Java 1.2( Java 2)


 2009 – A Sun Microsystems vendeu os direitos do Java para Oracle Corporation.

Algumas principais características:

 Orientação a objetos: suporte ao paradigma de programação orientada a


objetos, tendo vantagens como reuso de código e facilidade de manutenção.

 Portabilidade: é possível rodar um software feito em Java em qualquer


máquina que disponha de máquina virtual (veja item 1.1.3) implementada para
ela, "escreva uma vez, execute em qualquer lugar".

 Suporte à programação para internet: Java foi concebida originalmente para


ser usada no ambiente da World Wide Web, diferentemente de outras linguagens
que foram adaptadas para o desenvolvimento web.

 Gerenciamento automático de memória: em Java não existe ponteiros, isto é,


não é permitido ao programador acessar uma posição de memória. Java
automaticamente gerencia o processo de alocação e liberação de memória,
ficando o programador livre desta atividade.

 Segurança: mecanismos de segurança que a linguagem oferece para realização


de processos em rede e pela internet.

 Familiar: Sintaxe baseada na sintaxe da linguagem C.

 Multithreading: possibilidade de desenvolvimento utilizando threads.

 Recursos de Rede: possui extensa biblioteca para programação em rede, aliás, o


Java é distribuída com um vasto conjunto de bibliotecas para diversas utilidades.

 Robusto : Suporta várias outras linguagens de programação em torno dela.

Plataforma
Plataforma é um ambiente de software ou hardware no qual um programa roda. A
maioria das plataformas é formada pelo conjunto hardware e um sistema operacional,
isto é, um conjunto de hardware e software que atuam juntos.
No mundo dos computadores existem muitas plataformas, como Microsoft
Windows,Macintosh, OS/2, Unix e Netware. Normalmente, para que um mesmo
programa funcione em diferentes plataformas, é necessário que ele seja compilado
separadamente; isto é, ele deve ser compilado na plataforma em que será executado.
Uma aplicação que é executada sobre uma plataforma pode não funcionar sobre outra,
porque o arquivo foi criado para uma plataforma específica.

Linguagem Técnica de Programação I, Unidade 2: Introdução a Tecnologia Java


3

Figura 1. Plataformas de Software

Esse código executável (binário) resultante será executado pelo sistema operacional e,
por esse motivo, ele deve saber conversar com o sistema operacional em questão. Isto é,
temos um código executável para cada sistema operacional. É necessário compilar uma
vez para Windows, outra para o Linux, etc...

Plataforma Java
A plataforma Java difere dessas plataformas pelo fato de desagregar o hardware de si,
ou seja, trata-se de uma plataforma de software que roda em cima de outras
plataformas baseadas em hardware.

A tecnologia Java é usada para desenvolver aplicativos para uma ampla variedade de
ambientes, de dispositivos consumidores a sistemas corporativos heterogêneos., talvez a
característica mais importante dessa linguagem.

Linguagem Técnica de Programação I, Unidade 2: Introdução a Tecnologia Java


4

Figura 2. Plataforma Java

Linguagem Java de Programação

A linguagem Java, também denominada plataforma ou tecnologia Java, pode ser


classificada em três edições de acordo com a abrangência de suas funcionalidades e os
propósitos de desenvolvimento. Essas especificações são: Java SE, Java EE e Java ME.
No nosso curso, vamos focar na tecnologia Java SE.

a) Java Standard Edition (Java SE) é a tecnologia Java que tem como foco o
desenvolvimento de sistemas para desktop, notebooks e dispositivos com capacidade de
processamento e memória consideráveis. Várias APIs (Application Programming
Interface) acompanham esta versão e outras podem ser facilmente incorporadas ao
ambiente. É com essas APIs que as aplicações são implementadas e executadas.

Conheça as APIs Java


A maioria dos desenvolvedores Java constantemente consultam a documentação on-line oficial da
APIJava— , também chamada de Javadoc. Por padrão, você vê três áreas de janela no Javadoc. A área de
janela superior esquerda mostra todos os pacotes na API e a área de janela inferior esquerda mostra as
classes em cada pacote. A área de janela principal (à direita) mostra os detalhes do pacote ou classes
atualmente selecionados. Por exemplo, se você clicar no pacote java.util na área de janela superior
esquerda e clicar na classe ArrayList listada abaixo dele, verá os detalhes sobre ArrayList na área de
janela direita, incluindo uma descrição do que ela faz, como usá-la e seus métodos. Como exemplos de
API estão a API de Gráfico (JFreeChart) e a API para relatórios (iReport).

Java SE contém todo o ambiente necessário para a criação e a execução de aplicações


Java, incluindo a máquina virtual Java (JVM), o compilador Java, as APIs do Java e
outras ferramentas utilitárias. O Java SE possibilita o desenvolvimento de aplicações
com interface gráfica, acesso a bancos de dados, acesso à rede, dentre outros. O Java SE
possui duas divisões, JDK e JRE:

Linguagem Técnica de Programação I, Unidade 2: Introdução a Tecnologia Java


5

a.1) Java Development Kit (JDK) ou Java Standard Development Kit (JSDK) - contém
ferramentas de desenvolvimento, o ambiente de execução (JRE), a API Java SE
(compilada e código-fonte), programas de exemplo, bibliotecas adicionais e
documentação (que é obtida separadamente).

a.2) Java Runtime Edition (JRE) - é necessária para executar programas Java (bytecodes
compilados) em outras máquinas, diferentes da utilizada para o desenvolvimento.

Figura 3. Plataforma Java SE

Confira a documentação da Oracle: https://docs.oracle.com/javase/8/docs/

JVM – Maquina Virtual Java


Essa independência de hardware obtida pela plataforma Java deve-se à utilização do
conceito de máquina virtual: a Java Virtual Machine (JVM). A JVM é um software que
funciona sobre o sistema operacional, sendo responsável pelo processo de tradução de
um programa Java para uma plataforma específica. Assim, um programa feito em Java
pode rodar em qualquer SO de qualquer arquitetura, desde que exista uma JVM
implementada para ele.

Um programa Java precisa passar por um processo de compilação para ser analisada a
existência de erros de sintaxe. Esse processo de compilação traduz o código-fonte
escrito pelo programador para uma linguagem intermediária chamada Java
bytecodes(extensão .class).
Esse processo de tradução dos códigos fontes para Java bytecodes é feito por um
programa chamado compilador. Então, é necessário que outra ferramenta chamada
interpretador se responsabilize por interpretar esses bytecodes para o sistema
operacional. Essa ferramenta que interpreta bytecodes é a máquina virtual Java
(JVM).

Linguagem Técnica de Programação I, Unidade 2: Introdução a Tecnologia Java


6

Em outras palavras, o mesmo programa pode ser executado em qualquer sistema


operacional que execute a plataforma Java.

Figura 4. Etapas de um programa Java

Como o próprio nome diz, uma máquina virtual é como um computador de mentira: tem
tudo que um computador tem. Sua aplicação roda sem nenhum envolvimento com o
sistema operacional! Sempre conversando apenas com a Java Virtual Machine(JVM).

Essa característica é interessante: como tudo passa pela JVM, ela pode tirar métricas,
decidir onde é melhor alocar a memória,, gerenciar threads, a pilha de execução entre
outros. Uma JVM isola totalmente a aplicação do sistema operacional. Se uma JVM
termina abruptamente, só as aplicações que estavam rodando nela irão terminar: isso
não afetará outras JVMs que estejam rodando no mesmo computador, nem afetará o
sistema operacional.

Tecnologias HotSpot , JIT e Garbage Collection

Hotspot é a tecnologia que a JVM utiliza para detectar pontos quentes da sua aplicação:
código que é executado muito, provavelmente dentro de um ou mais loops. Quando a
JVM julgar necessário, ela vai compilar aquele código para instruções nativas da
plataforma, tendo em ista que isso vai provavelmente melhorar a performance da sua
aplicação. Esse compilador é o JIT: Just inTime Compiler, o compilador que aparece
―bem na hora‖ que você precisa.

Em vez de forçá-lo a manter a alocação de memória (ou usar uma biblioteca de terceiros
para isso), a plataforma Java fornece gerenciamento de memória fora do padrão.
Quando seu aplicativo Java cria uma instância de objeto no tempo de execução, a JVM

Linguagem Técnica de Programação I, Unidade 2: Introdução a Tecnologia Java


7

aloca automaticamente espaço de memória para esse objeto a partir de um conjunto de


memória heap— reservado para uso de seu programa.
O coletor de lixo Java (Garbage Collection) é executado em segundo plano, mantendo o
controle de quais objetos o aplicativo não necessita mais e recuperando memória deles.
Essa abordagem para manipulação de memória é chamada de gerenciamento implícito
de memória porque não exige a gravação de qualquer código de manipulação de
memória. A coleta de lixo é um dos recursos essenciais para o desempenho da
plataforma Java.

Mecanismo JVMs

JRE
 Rodar códigos compilados para JVM;
 Executar classes carregadas (Através do Class Loader);
 Verificar o código(através do verificador de bytecodes).

Class Loader

 Responsável por carregar todas as classes necessárias ao programa Java;


 Separação dos namespaces entre arquivos local e o importado de outros pontos
da rede(remotos);
 Layout de memória do executável é determinado.

Verificador de Bytecodes

 Testar o formato dos fragmentos de código;


 Pesquisar em fragmentos de código por códigos ilegais.

Figura 5. Mecanismo JVMs

Linguagem Técnica de Programação I, Unidade 2: Introdução a Tecnologia Java

Você também pode gostar