Escolar Documentos
Profissional Documentos
Cultura Documentos
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.
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.
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.
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.
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.
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.
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).
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.
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
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
Verificador de Bytecodes