Java 01
Java 01
Visão Geral
O nome Java é usado para referir-se à:
– uma linguagem de programação orientada a objetos;
– uma coleção de APIs (classes, componentes, frameworks) para o desenvolvimento de
aplicações multiplataforma;
– um ambiente de execução presente em navegadores, mainframes, sistemas
operacionais, celulares, palmtops, cartões inteligentes, eletrodomésticos.
Java foi lançada pela Sun Microsystems em 1995
– write once, run everywhere; programe uma única vez, execute em qualquer lugar;
O projeto é controlado pela Oracle (http://www.oracle.com/br/index.html)
Visão Geral
Um programa escrito para a plataforma Java necessita de dois componentes
para ser executado:
– a máquina virtual Java (Java Virtual Machine - JVM);
– um conjunto de bibliotecas de classe que disponibilizam um série de serviços para esse
programa.
O pacote de software que contém a máquina virtual e esta biblioteca de classes
é conhecido como JRE (Java Runtime Environment).
Como Baixar o Java?
https://developer.oracle.com
Java
Como Baixar o Java?
Porque Java?
• É uma linguagem simples de fácil aprendizado.
• Robusta e muito segura:
– É fortemente tipada;
– Não possui aritmética de ponteiros;
– Possui mecanismo de coleta de lixo;
– Possui verificação rigorosa em tempo de compilação;
– Possui mecanismos para verificação em tempo de execução;
– Possui gerenciador de segurança.
• É uma linguagem puramente orientada a objetos. Permitindo um
desenvolvimento de sistemas de forma mais natural.
“java.lang.NullPointerException MUAHAHAAHUAHA”
Programador C++ sobre Java
Compiladas X Interpretadas
X
Compiladas X Interpretadas
• Compilação:
– Execução mais rápida.
– Somente o executável é carregado na memória.
• Interpretação:
– Portabilidade.
• Híbridos
– Une as vantagens de cada um.
Máquina Virtual
A máquina virtual Java, ou simplesmente JVM:
– é um dos principais componentes da plataforma Java;
– permite que o mesmo código possa ser executado em várias plataformas sem a necessidade de
recompilação.
Mas COMO?
– a JVM emula uma máquina real possuindo um conjunto de instruções próprio e atua em áreas de
gerenciamento de memória;
– a JVM possui uma especificação que pode ser implementada nas diversas arquiteturas. Essa
especificação visa não atender a nenhum tipo de tecnologia em específico, seja de hardware ou de
sistema operacional;
– os ambientes de execução e de desenvolvimento são fornecidos por fabricantes de hadware e software
(MacOS, Linux, etc).
Máquina Virtual
A máquina virtual não trabalha diretamente com a linguagem de programação Java, mas sim
com o arquivo de formato class.
Esse tipo de arquivo contém os bytecodes, que são as instruções para a máquina virtual e
uma tabela de símbolos.
Máquina Virtual
O código Java é compilado, gerando o conjunto de instruções chamado de byte-code;
Esse byte-code é aplicado à Máquina Virtual Java (JVM) que se encarrega de interpretar os comandos para o
sistema operacional onde o programa está rodando. Ou seja, a máquina virtual traduz as instruções do código
Java para instruções válidas no sistema operacional em que está rodando;
Esse byte-code poderá então ser interpretado por qualquer máquina virtual Java, rodando em Linux, Windows,
Palm OS, Solaris ou qualquer outro sistema operacional que possua uma máquina virtual Java implementada.
Para facilitar a vida dos programadores, e evitar os erros comuns associados à alocação de
memória, a linguagem Java introduziu o conceito de garbage-collection.
Gerenciamento de Memória
Quando uma variável é declarada em um código de computador, a JVM cria um ponteiro para
uma área de memória equivalente ao tamanho do tipo de dado utilizado por essa variável.
Gerenciamento de Memória
Quando essa variável é associada a outra região de memória, a JVM coloca o espaço alocado
anteriormente em uma pilha de objetos em desuso.
• Caso o computador fique com pouca memória disponível, a JVM remove objetos dessa
pilha, permitindo que esse espaço de memória seja realocado.
Plataforma Java
A plataforma Java se divide em três grandes edições:
“Meu precioso!”
Gollum sobre Java
Java Standard Edition (JavaSE)
É a tecnologia Java para computadores pessoais, notebooks e arquiteturas com poder de
processamento e memória consideráveis.
Várias APIs acompanham esta versão e tantas outras podem ser baixadas opcionalmente.
É com elas que a maioria das aplicações são construídas e executadas.
O J2SE (Java 2 Plataform, Standard Edition) possui duas divisões:
– Java Development Kit (JDK) ou Standard Development Kit (SDK):
• um conjunto para desenvolvimento em Java: compilador (javac), depurador, gerador de documentação (javadoc),
empacotador de componentes (jar);
– Java Runtime Edition (JRE): uma versão mais leve da JDK pois é preparada para o ambiente de execução.
Java Enterprise Edition (JavaEE)
É a tecnologia Java para aplicações corporativas que podem estar na internet ou não.
Possui um grande número de APIs onde a segurança é a principal preocupação.
Possui APIs bem simples e leves para economizar espaço, memória e processamento.
• Ctrl + Alt + M: Extrair método - transforma código selecionado em método • Ctrl + Alt + O: Reajustar im ports da classe (remove
im ports não utilizados)
• Shift + F6: Renomeia classe, variável, método, etc