2. Objetivos
●Descrever as principais características da tecnologia Java
●Escrever, compilar e executar uma aplicação simples da
tecnologia Java
●Descrever a função da Java virtual machine (JVM)
●Definir o que é a coleta de lixo
3. Sobre a Tecnologia Java
●A tecnologia Java é uma linguagem de programação e uma
plataforma.
●Principais Objetivos
○Proporcionar uma linguagem de fácil uso e Orientada a
Objetos
○Proporcionar um ambiente interpretado para aumentar a
velocidade do desenvolvimento e permitir a portabilidade
do código
4. A Linguagem de Programação Java
A linguagem de programação Java é uma linguagem de alto
nível que pode ser caracterizada por todas as palavras a seguir:
Simples Arquitetura neutra
Orientada a objeto Portável
Distribuída Alto desempenho
Multithre Robusta
Dinâmica Segura
O paper, The Java Language Environment escrito por James
Gosling e McGilton Henry, detalha cada um das
características citadas acima.
5. A Linguagem de Programação Java
●O código fonte é escrito em arquivos com a extensão .
java.
●O arquivos .java são compiladas em arquivos .class,
pelo javac , o compilador.
●Os arquivos .class contém bytecodes (linguagem da Java
Virtual Machine), não contém código nativo para o
processador.
●Para executar a sua aplicação utiliza-se o comando java
em uma instância do Java Virtual Machine.
6. A Linguagem de Programação Java
Os arquivos .class da aplicação são executados sobre a
máquina virtual Java.
Existe máquina virtual
Java disponível para
diferentes sistemas
operacionais:
●Microsoft Windows
●Solaris OS
●Linux
●Mac OS
Através da máquina virtual Java, o mesmo aplicativo é capaz de
rodar em múltiplas plataformas.
7. A Plataforma Java
●Uma plataforma é o ambiente de hardware ou software
em que um programa é executado.
●A maioria das plataformas podem ser descritas como
uma combinação de sistema operacional e hardware
subjacente.
●A plataforma Java é uma plataforma de software que
roda em cima de outras plataformas que tem hardware
subjacente.
●A plataforma Java tem dois componentes:
○A Java Virtual Machine
○O Java Application Programming Interface (API)
8. Java Virtual Machine
●A Java Virtual Machine, é a base para a plataforma Java e é
portado para diversas plataformas baseadas no hardware.
●A API é uma coleção de componentes de software que
fornece diversos recursos para construção de aplicações.
A API e Java Virtual Machine isolam o programa a partir da
plataforma baseada no hardware (Sistemas Operacionais).
9. Tecnologia Java
●Java é uma linguagem de propósito geral
●A plataforma oferece a você o seguinte:
○Ferramentas de desenvolvimento: tudo que você precisa
para compilar, executar, monitoramento, depuração e
documentar de seus aplicativos .
○API: classes prontas para uso em seus próprios
aplicativos.
○Tecnologias de implantação: mecanismos para
implantação de aplicativos para usuários finais.
○Ferramentas para Interface : mecanismos que ajudam a
criação de interfaces gráfica de usuário (GUI).
○Bibliotecas de integração: permitir o acesso a bancos de
dados e manipulação de objetos remotos.
10. O que promete o Java
●A tecnologia Java promete:
●Simplicidade
●Qualidade
●Produtividade
●Portabilidade
11. O "Olá Mundo!"
Como compilar e executar um simples "Olá Mundo!"?
Para escrever o programa, você vai precisar:
1. O Java SE Development Kit 6 (JDK 6)Faça o download da
JDK de acordo com sua plataforma e instale. (Certifique-se
de baixar o JDK, e não o JRE).
2. Um editor de textoPor exemplo, o Bloco de Notas, um editor
simples incluídas com as plataformas Windows.
Isso é tudo que você precisa para escrever seu primeiro
programa.
12. O "Olá Mundo!"
Criando o código fonte:
No editor de textos de sua preferência digite:
/ **
* A classe OlaMundoApp implementa uma
* aplicação que simplesmente imprime
* "Olá Mundo!" para a saída padrão.
**/
class OlaMundoApp{
public static void main (String args []) {
System.out.println("Olá Mundo!");
//Imprime.
}
}
* Digite o código exatamente como esta java é case-sensitive
13. O "Olá Mundo!"
1. Salve o arquivo com o nome OlaMundoApp.java.Abra o
terminal ou prompt de comando.
2. Compile
○Digite: javac OlaMundoApp.java
○Isso vai criar o arquivo OlaMundoApp.class
○O comando deve ser digitado no mesmo caminho (pasta)
em que esta o arquivo.
3. Execute
○Digite: javac OlaMundoApp
○Deve aparecer no terminal o texto: Olá Mundo!
Parabéns! Seu programa funciona!
14. O "Olá Mundo!"
Agora que você executou o programa detalhar o código.
Em negrito temos os comentários, eles são ignorados pelo
compilador, mas são de grade ajuda para os
desenvolvedores.
/ **
* A classe OlaMundoApp implementa uma
* aplicação que simplesmente imprime
* "Olá Mundo!" para a saída padrão.
**/
class OlaMundoApp{
public static void main (String args []) {
System.out.println("Olá Mundo!");
//Imprime.
}
}
15. O "Olá Mundo!"
Java possui 3 tipos de comentários:
/* text */
Múltiplas, linhas, o compilador ignora tudo entre /* e a */.
/** documentation */
Comentário de documentação. O javadoc usa comentários de
documentação na elaboração de documentação gerada
automaticamente.
// text
Uma linha o compilador ignora tudo, desde // para o fim da
linha.
16. O "Olá Mundo!"
Em negrito é o bloco de definição de classe.
/ **
* A classe OlaMundoApp implementa uma
* aplicação que simplesmente imprime
* "Olá Mundo!" para a saída padrão.
**/
class OlaMundoApp {
public static void main (String args []) {
System.out.println("Olá Mundo!");
//Imprime.
}
}
17. O "Olá Mundo!"
class nome {
...
}
A palavra-chave class começa a definição de classe para
uma classe chamada name e o código de cada classe aparece
entre o abrir e fechar uma chave em negrito acima.
Por enquanto é suficiente saber que cada classe começa com
uma definição de classe.
18. O "Olá Mundo!"
O texto em negrito é a definição do método main :
/ **
* A classe OlaMundoApp implementa uma
* aplicação que simplesmente imprime
* "Olá Mundo!" para a saída padrão.
**/
class OlaMundoApp {
public static void main (String args []) {
System.out.println("Olá Mundo!");
//Imprime.
}
}
19. O "Olá Mundo!"
Em Java um programa deve conter pelo menos um método
main cuja assinatura é:
public static void main(String[] args)
●public e static são modificadores podem ser escritos
em qualquer ordem, mas a convenção é usar public
static
●O método main é o ponto de entrada da sua aplicação, o
primeiro método a ser executado, através dele deve-se
chamar todos os outros métodos.
●O main método aceita um array de String, essa é a forma de
passar informações para seu aplicativo. Por exemplo:
java MyApp arg1 arg2
20. O "Olá Mundo!"
A linha: System.out.println ("Olá Mundo!");
A classe System da API java serve para imprimir a mensagem "O
Mundo!" na saída padrão.
/ **
* A classe OlaMundoApp implementa uma
* aplicação que simplesmente imprime
* "Olá Mundo!" para a saída padrão.
**/
class OlaMundoApp {
public static void main (String args []) {
System.out.println("Olá Mundo!");
//Imprime.
}
}
21. Erros Comuns - Compilação
Microsoft Windows
'javac' is not recognized as an internal or
external command, operable program or batch
file
Windows não consegue encontrar o compilador ( javac ).
Verifique se o JDK esta instalado ou se esta no path.
Class names, 'Programa', are only accepted if
annotation processing is explicitly requested
Esqueceu de incluir a extensão .java na tentativa de compilar o
programa. O comando é javac Programa.java e não
javac Programa.
22. Erros Comuns - Compilação
Sistemas UNIX
javac: Command not found
Sistema Operacional não encontrou o compilador javac.
Verifique se o JDK esta instalado ou se foi incluído no PATH
Class names, 'Programa', are only accepted if
annotation processing is explicitly requested
Esqueceu de incluir a extensão .java na tentativa de compilar o
programa. O comando é javac Programa.java e não
javac Programa.
23. Erros Comuns - Execução
Exception in thread "main" java.lang.
NoClassDefFoundError: Programa
java não consegue encontrar o arquivo de bytecode,
Programa.class.Verifique onde esta o arquivo .class.
Exception in thread "main" java.lang.
NoClassDefFoundError: Programa/class Tentando
executar java Programa.class quando o correto é java
Programa.
Exception in thread "main" java.lang.
NoSuchMethodError: main
A máquina virtual Java requer que a classe a ser
executada tenha um método main.