Sei sulla pagina 1di 69

Universo

Java
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Galxia
JSE
Java Standard
Edition
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Constelao
Bsico da
linguagem Java
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Parte I Introduo ao Java

Parte II Variveis

Parte III Tipos primitivos e valores literais

Parte IV Operadores

Parte V Expresses, declaraes, blocos e controle de fluxos

Parte VI Arrays

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Parte I Introduo ao Java

Parte II Variveis

Parte III Tipos primitivos e valores literais

Parte IV Operadores

Parte V Expresses, declaraes, blocos e controle de fluxos

Parte VI Arrays

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Parte I
Introduo ao Java
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Alguns conceitos iniciais

Edies ou plataformas da tecnologia Java

Questes de concursos

Programas e linguagem de mquina

Viso geral de desenvolvimento com Java

Java Development Kit (JDK)

Java Runtime Environment (JRE)

Java Virtual Machine (JVM)

JDK, JRE e JVM

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Tpicos

Viso geral da plataforma JSE

Hora de praticar

Questes de concursos

Fases de um programa Java

Questes de concursos

Respostas dos desafios

Referncias

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Desafios

[RGA] O que Java?

[RGA] Quais so as caractersticas-chave da linguagem Java?

[RGA] O que plataforma Java e como ela composta?

[RGA] Quais so as edies da tecnologia Java? E qual a edio


que a base para as outras?

[RGA] O que so programas de computador?

[RGA] O que uma linguagem de mquina?

[RGA] Qual uma possvel classificao de linguagens de


programao?
[RGA] O que faz um compilador? E um editor de ligao
(linker)?
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

Desafios

[RGA] O que bytecode?

[RGA] O que so a JDK, a JRE e a JVM?

[RGA] Usando a tecnologia Java, o que podemos ganhar? E


quem a pea-chave desse ganho?
[RGA] Quais fases de um programa Java?

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

10

Alguns conceitos iniciais

Java :

Tanto uma linguagem de programao de alto nvel

Quanto uma plataforma

Caractersticas-chave da linguagem Java


Simples

Arquitetura neutra

Orientada a objetos

Portvel

Distribuda

Alto desempenho

Multi-threads

Robusta

Dinmica

Segura

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

11

Alguns conceitos iniciais

Plataforma

um hardware ou um ambiente de software onde um programa


executado
Boa parte das plataformas pode ser descrita como uma
combinao:

De um sistema operacional

Com o hardware que o suporta

Exemplos de plataformas:

Microsoft Windows

Linux

Mac OS

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

12

Alguns conceitos iniciais

Plataforma Java

um ambiente de software onde os programas escritos na


linguagem Java so executados
composta por dois componentes:

JVM (Java Virtual Machine)

API (Java Application Programming Interface)

uma biblioteca de componentes que:

Possui vrios recursos teis


utilizada para execuo de aplicaes Java

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

13

Edies ou plataformas da tecnologia Java

Java uma linguagem de programao que permite o


desenvolvimento de aplicaes em diversos ambientes
Edies ou plataformas da tecnologia Java

JSE

JEE

Java Standard Edition


Java Enterprise Edition

JME

Java Micro Edition

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

14

Edies da tecnologia Java

Edies da tecnologia Java

JSE

Java Standard Edition

voltada para o desenvolvimento de aplicaes desktop com


interface:

Grfica

Swing
AWT
Atravs de linha de comando

a plataforma principal

a base para:

JEE

JME

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

15

Edies da tecnologia Java

Edies da tecnologia Java

JEE

Java Enterprise Edition

a plataforma voltada para desenvolvimento de aplicaes


distribudas baseadas em

JME

Internet
Intranet

Java Micro Edition

o ambiente de desenvolvimento para aplicaes para dispositivos


mveis

Por exemplo:

Telefones celulares
Palmtops
Tablets

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

16

Edies da tecnologia Java


JEE
JEE

JME
JME

JSE
JSE

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

17

Questes de concursos
[FCC 2011 TRE/RN Tcnico Judicirio Especialidade
Programao de Sistemas Questo 30] Em relao ao Java
Standard Edition, INCORRETO afirmar:

[A] Permite o desenvolvimento de aplicaes desktop de linha


de comando e interfaces grficas Swing.
[B] Portabilidade dos programas compilados para diversos
sistemas operacionais, sem necessidade de recompilao.
[C] Usa conceitos tais como orientao a objetos e
multithreading.
[D] Possui gerenciamento de memria embutido, por meio do
coletor de lixo.
[E] JME Ambiente indicado para o desenvolvimento de
aplicativos para dispositivos mveis ou portteis.
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

18

Questes de concursos
[FCC 2011 TRE/RN Tcnico Judicirio Especialidade
Programao de Sistemas Questo 30] Em relao ao Java
Standard Edition, INCORRETO afirmar:

[A] Permite o desenvolvimento de aplicaes desktop de linha


de comando e interfaces grficas Swing.
[B] Portabilidade dos programas compilados para diversos
sistemas operacionais, sem necessidade de recompilao.
[C] Usa conceitos tais como orientao a objetos e
multithreading.
[D] Possui gerenciamento de memria embutido, por meio do
coletor de lixo.
[E] JME Ambiente indicado para o desenvolvimento de
aplicativos para dispositivos mveis ou portteis.
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

19

Questes de concursos
[FCC 2009 TCE/SP Agente da Fiscalizao Financeira
Informtica Suporte de Web Questo 75] A tecnologia Java ,
basicamente, dividida em JSE,

[A] JEE e JME.

[B] JEE e JPE.

[C] JDE e JME.

[D] JDE e JPE.

[E] JEEP e JME.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

20

Questes de concursos
[FCC 2009 TCE/SP Agente da Fiscalizao Financeira
Informtica Suporte de Web Questo 75] A tecnologia Java ,
basicamente, dividida em JSE,

[A] JEE e JME.

[B] JEE e JPE.

[C] JDE e JME.

[D] JDE e JPE.

[E] JEEP e JME.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

21

Questes de concursos
[FCC 2006 Prefeitura de Santos/SP Analista de Sistemas
Questo 54] Java , tipicamente, uma linguagem de programao

[A] orientada a funo.

[B] executvel somente sob ambiente xml.

[C] orientada a evento.

[D] orientada a objeto.

[E] executvel somente aps a tag declarativa de Javascript.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

22

Questes de concursos
[FCC 2006 Prefeitura de Santos/SP Analista de Sistemas
Questo 54] Java , tipicamente, uma linguagem de programao

[A] orientada a funo.

[B] executvel somente sob ambiente xml.

[C] orientada a evento.

[D] orientada a objeto.

[E] executvel somente aps a tag declarativa de Javascript.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

23

Programas e linguagem de mquina

Programas de computador

Podem ser definidos como um conjunto de instrues que:

Possui um determinado fim

executado por um processador

Linguagem de mquina

a linguagem que um processador capaz de compreender

composta de apenas de nmeros 0 e 1

O conjunto de instrues que forma um programa escrito em


linguagem de mquina

Dessa forma, o processador:

Reconhecer o programa
Ir execut-lo

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

24

Programas e linguagem de mquina

Classificao de linguagens de programao

Quanto mais semelhante uma linguagem for da de mquina

Mais baixo o nvel dessa linguagem

Menos legvel para o ser humano

Quanto mais distante uma linguagem for da de mquina

Mais alto o nvel dessa linguagem

Mais legvel para o ser humano

public
public class
class Classe
Classe {{
private
private String
String nome;
nome;

...
...
...
...
}}
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
101101010110101
25

Programas e linguagem de mquina

Compilador
Compilador

Editor
Editor de
de ligao
ligao

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

26

Programas e linguagem de mquina

Compilador

Traduz

Um programa escrito em uma linguagem de alto nvel

Em um programa-objeto no executvel

Mdulo-objeto

Apesar desse mdulo-objeto ser em linguagem de mquina, ele


no executvel ainda

Editor de ligao

Linker

Gera

Um programa executvel

A partir de um ou mais mdulos-objeto

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

27

Programas e linguagem de mquina


Compilador
Compilador

Programa-fonte
Programa-fonte
em
em linguagem
linguagem
de
de alto
alto nvel
nvel

Compilador
Compilador

Compilador
Compilador

ProgramaProgramaobjeto
objeto

ProgramaProgramaobjeto
objeto

ProgramaProgramaobjeto
objeto

Linker
Linker

1010
1010
1110
1110
1101
1101
0010
0010
0001
0001

Linker
Linker

1010
1010
1110
1110
1101
1101
0010
0010
0001
0001

Linker
Linker

1010
1010
1110
1110
1101
1101
0010
0010
0001
0001

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

28

Viso geral de desenvolvimento com Java

JDK
JDK

JRE
JRE

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

JVM
JVM
29

Viso geral de desenvolvimento com Java


Compilao
Compilao

Interpretao
Interpretao ee execuo
execuo
JRE
JRE
JVM
JVM

Cdigo
Cdigo Java
Java
*.java
*.java

Compilador
Compilador
Java
Java que
que
vem
vem com
com
oo JDK
JDK

JRE
JRE
Bytecode
Bytecode
*.class
*.class

JVM
JVM

JRE
JRE
JVM
JVM

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

1010
1010
1110
1110
1101
1101
0010
0010
0001
0001
1010
1010
1110
1110
1101
1101
0010
0010
0001
0001
1010
1010
1110
1110
1101
1101
0010
0010
0001
0001
30

Java Development Kit (JDK)

o conjunto de ferramentas necessrias para realizar o


desenvolvimento de aplicaes Java
Inclui

JRE

Ferramentas de programao:

javac

jar

Compilador
Empacotador de aplicaes

javadoc

Ferramenta para gerao de documentao

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

31

Java Runtime Environment (JRE)

a plataforma Java

composto por dois componentes:

JVM (Java Virtual Machine)

API (Java Application Programming Interface)

uma biblioteca de componentes que:

Possui vrios recursos teis

utilizada para execuo de aplicaes Java

necessrio instalar um JRE especfico de uma plataforma,


pois junto com ele vem uma JVM que:

Saber lidar com essa plataforma

Conseguir executar aplicaes Java naquele ambiente

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

32

Java Runtime Environment (JRE)


ClasseJava.java
ClasseJava.java

API
API
Plataforma
Plataforma
Java
Java
JRE
JRE
JVM
JVM

Hardware
Hardware
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

33

Java Virtual Machine (JVM)

a pea chave para fornecer capacidade de multiplataforma


para as aplicaes Java

Write once, run everywhere

responsvel por interpretar e executar o bytecode


provedora de formas e meios de o aplicativo conversar com
o sistema operacional
Pode ser desenvolvida por qualquer organizao

Desde que siga as especificaes para construo de uma JVM

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

34

JDK, JRE e JVM


JDK

JRE

JVM

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

35

Viso geral da plataforma JSE

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

36

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

37

Hora de praticar
Cdigo:

Sada:

package constelacao01.parte01;

As rveres somos nozes e jardinheiro


Zezus!

public class Exemplo01_PrimeiroExemplo


{
public static void main(String[] args) {
System.out.println("As rveres
somos nozes e jardinheiro Zezus!");
}
}

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

38

Questes de concursos
[FGV 2012 Senado Federal Prova anulada Anlise de Sistemas
Questo 55] Observe a figura abaixo, associada linguagem
Java.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

39

Questes de concursos
[FGV 2012 Senado Federal Prova anulada Anlise de Sistemas
Questo 55] Para permitir que um mesmo programa seja
executado em vrios sistemas operacionais, a plataforma java
gera cdigos genricos *.class e os traduz para o cdigo da
mquina local, *.exe ou *.bin, somente no momento da
execuo. Nesse contexto, os cdigos especficos para a
mquina virtual Java, e no para a mquina local, recebe o nome
de:

[A] microcode.

[B] scriptcode.

[C] framecode.

[D] bytecode.

[E] javacode.
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

40

Questes de concursos
[FGV 2012 Senado Federal Prova anulada Anlise de Sistemas
Questo 55] Para permitir que um mesmo programa seja
executado em vrios sistemas operacionais, a plataforma java
gera cdigos genricos *.class e os traduz para o cdigo da
mquina local, *.exe ou *.bin, somente no momento da
execuo. Nesse contexto, os cdigos especficos para a
mquina virtual Java, e no para a mquina local, recebe o nome
de:

[A] microcode.

[B] scriptcode.

[C] framecode.

[D] bytecode.

[E] javacode.
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

41

Questes de concursos
[FCC 2010 TRT 9 Regio Tcnico Judicirio Especialidade
Tecnologia da Informao Questo 36] O JVM mais o ncleo de
classes da plataforma Java e os arquivos de suporte formam o

[A] o J2EE.

[B] o JDK.

[C] o JRE.

[D] uma JSP.

[E] uma API.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

42

Questes de concursos
[FCC 2010 TRT 9 Regio Tcnico Judicirio Especialidade
Tecnologia da Informao Questo 36] O JVM mais o ncleo de
classes da plataforma Java e os arquivos de suporte formam o

[A] o J2EE.

[B] o JDK.

[C] o JRE.

[D] uma JSP.

[E] uma API.

JRE
JRE
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

JVM
JVM
43

Questes de concursos
[FCC 2007 TJ/PE Analista Judicirio Analista de Suporte
Questo 25] O cdigo Java compilado gerado em arquivo com
extenso

[A] .ser

[B] .jar

[C] .java

[D] .html

[E] .class

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

44

Questes de concursos
[FCC 2007 TJ/PE Analista Judicirio Analista de Suporte
Questo 25] O cdigo Java compilado gerado em arquivo com
extenso

[A] .ser

[B] .jar

[C] .java

[D] .html

[E] .class

JDK
JDK
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

45

Questes de concursos
[ESAF 2004 MPU Tcnico de Informtica Questo 37]
Considere o programa abaixo e assinale a opo verdadeira.

public class programa {

pubic static void main(String[] args) {

System.out.println(Mensagem);

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

46

Questes de concursos
[ESAF 2004 MPU Tcnico de Informtica Questo 37]
Considere o programa abaixo e assinale a opo verdadeira.

[A] o programa est na linguagem javascript, devendo ser


executado atravs de um interpretador javascript.
[B] o programa est na linguagem javascript, devendo ser
executado como um applet atravs de um browser.
[C] o programa est na linguagem Java, devendo ser
executado atravs de um interpretador Java.
[D] o programa est na linguagem Java, devendo ser
executado como um applet atravs de um browser.
[E] o programa, que invoca uma funo javascript, est na
linguagem Java, devendo o mesmo ser executado como um
applet atravs de um browser e do interpretador javascript.
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

47

Questes de concursos
[ESAF 2004 MPU Tcnico de Informtica Questo 37]
Considere o programa abaixo e assinale a opo verdadeira.

[A] o programa est na linguagem javascript, devendo ser


executado atravs de um interpretador javascript.
[B] o programa est na linguagem javascript, devendo ser
executado como um applet atravs de um browser.
[C] o programa est na linguagem Java, devendo ser
executado atravs de um interpretador Java.
[D] o programa est na linguagem Java, devendo ser
executado como um applet atravs de um browser.
[E] o programa, que invoca uma funo javascript, est na
linguagem Java, devendo o mesmo ser executado como um
applet atravs de um browser e do interpretador javascript.
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

48

Questes de concursos
[CONSULPLAN 2012 TSE Tcnico Judicirio - Programao de
Sistemas] Diferentemente de outras linguagens de programao
como C ou Pascal, Java utiliza uma linguagem intermediria da
Java Virtual Machine JVM. Essa linguagem intermediria
denomina-se

[A] bytecode.

[B] appletcode.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

49

Questes de concursos
[CONSULPLAN 2012 TSE Tcnico Judicirio - Programao de
Sistemas] Diferentemente de outras linguagens de programao
como C ou Pascal, Java utiliza uma linguagem intermediria da
Java Virtual Machine JVM. Essa linguagem intermediria
denomina-se

[A] bytecode.

[B] appletcode.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

50

Questes de concursos
[CESPE 2011 TRE/ES Tcnico Judicirio - Programao de
Sistemas] Julgue o prximo item, relativos a linguagens de
programao, compilador, interpretador, montador e link-editor.

[57] Independentemente de configuraes, qualquer


equipamento computacional capaz de executar programas
escritos em linguagem Java, uma vez que a compilao de
programas nessa linguagem gera bytecodes, que, por sua vez,
so interpretados para execuo na mquina virtual Java.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

51

Questes de concursos
[CESPE 2011 TRE/ES Tcnico Judicirio - Programao de
Sistemas] Julgue o prximo item, relativos a linguagens de
programao, compilador, interpretador, montador e link-editor.

[57] Independentemente de configuraes Com a instalao


do JRE especfico, qualquer equipamento computacional
capaz de executar programas escritos em linguagem Java,
uma vez que a compilao de programas nessa linguagem
gera bytecodes, que, por sua vez, so interpretados para
execuo na mquina virtual Java.

Gabarito: ERRADO.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

52

Fases de um programa Java

Fases:

Edio

Compilao

Carregamento

Verificao

Execuo

ECo CaVEx
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

53

Fases de um programa Java (ECo)


Edio
Edio

Compilao
Compilao

.java
.java

.java
.java

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

.class
.class

54

Fases de um programa Java (CaVEx)


Carregamento
Carregamento

Verificao
Verificao

Execuo
Execuo

Memria
Memria principal
principal

.class
.class

bytecodes
bytecodes

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

55

Fases de um programa Java


Fase

Descrio

Edio

O programa criado no editor e armazenado em disco

Compilao

O compilador cria bytecodes e os armazena em disco

Carregamento

O carregador de classe coloca bytecodes na memria principal

Verificao

O verificador de bytecodes confirma que todos os bytecodes so


vlidos e no violam restries de segurana de java

Execuo

A JVM l os bytecodes e os traduz para uma linguagem que o


computador pode entender (linguagem de mquina), possivelmente
armazenando valores dos dados enquanto executa o programa
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

56

Questes de concursos
[CONSULPLAN 2012 TSE Tcnico Judicirio - Programao de
Sistemas] Observe a figura que representa o ambiente Java tpico.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

57

Questes de concursos
[CONSULPLAN 2012 TSE Tcnico Judicirio - Programao de
Sistemas] Analise as afirmativas correspondentes a duas
atividades desenvolvidas em duas fases.

[I] A partir do cdigo fonte, os bytecodes so criados.


[II] Os bytecodes so lidos e traduzidos para uma linguagem
que o computador pode entender, possivelmente
armazenando valores de dados enquanto executa o programa.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

58

Questes de concursos
[CONSULPLAN 2012 TSE Tcnico Judicirio - Programao de
Sistemas] As atividades descritas so realizadas,
respectivamente, nas seguintes fases

[A] 2 e 4.

[B] 2 e 5.

[C] 3 e 4.

[D] 3 e 5.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

59

Questes de concursos
[CONSULPLAN 2012 TSE Tcnico Judicirio - Programao de
Sistemas] As atividades descritas so realizadas,
respectivamente, nas seguintes fases

[A] 2 e 4.

[B] 2 e 5.

[C] 3 e 4.

[D] 3 e 5.

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

60

Respostas dos desafios

[RGA] O que Java?

Tanto uma linguagem de programao

Quanto uma plataforma

[RGA] Quais so as caractersticas-chave da linguagem Java?

Simples, arquitetura neutra, orientada a objetos, portvel,


distribuda, alto desempenho, multi-threads, robusta, dinmica,
segura

[RGA] O que plataforma Java e como ela composta?

um ambiente de software onde os programas escritos na


linguagem Java so executados
composta por dois componentes:

JVM (Java Virtual Machine)

API (Java Application Programming Interface)


rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

61

Respostas dos desafios

[RGA] Quais so as edies da tecnologia Java? E qual a edio


que a base para as outras?

Edies:

JSE

JEE

JME

JSE

[RGA] O que so programas de computador?

Podem ser definidos como um conjunto de instrues que


possui um determinado fim e executado por um processador

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

62

Respostas dos desafios

[RGA] O que uma linguagem de mquina?

a linguagem que um processador capaz de compreender

[RGA] Qual uma possvel classificao de linguagens de


programao?

Quanto mais semelhante uma linguagem for da de mquina

Mais baixo o nvel dessa linguagem

Menos legvel para o ser humano

Quanto mais distante uma linguagem for da de mquina

Mais alto o nvel dessa linguagem

Mais legvel para o ser humano

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

63

Respostas dos desafios

[RGA] O que faz um compilador? E um editor de ligao


(linker)?

Compilador

Editor de ligao

Traduz um programa escrito em uma linguagem de alto nvel em


um programa-objeto no executvel (mdulo-objeto)
Gera um programa executvel a partir de um ou mais mdulosobjetos

[RGA] O que bytecode?

um binrio gerado pelo compilador Java que interpretado e


executado por uma JVM que vem com um JRE especfico para
uma plataforma

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

64

Respostas dos desafios

[RGA] O que so a JDK, a JRE e a JVM?

JDK

JRE

composto pelas JVM e APIs Java

JVM

o conjunto de ferramentas necessrias para realizar o


desenvolvimento de aplicaes Java

responsvel por interpretar e executar o bytecode

[RGA] Usando a tecnologia Java, o que podemos ganhar? E


quem a pea-chave desse ganho?

Portabilidade

Write once, run everywhere

JVM
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

65

Respostas dos desafios

[RGA] Quais fases de um programa Java?

ECo CaVEx:

Edio

Compilao

Carregamento

Verificao

Execuo

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

66

Referncias

Apostila Java e Orientao a Objetos da Caelum:


http://www.caelum.com.br/download/caelum-java-objetosfj11.pdf
Apostila Java e Orientao a Objetos da K19:
http://www.k19.com.br/downloads/apostilas/java/k19-k11orientacao-a-objetos-em-java
Bytecode: http://www.hardware.com.br/termos/bytecode
Diferenas entre JVM, JRE, JDK, Java Plataform e Java:
http://jossemar.wordpress.com/2007/10/31/diferencasentre-jvm-jre-jdk-java-plataform-e-java/
HORSTMANN, Cay S. e CORNELL, Gary. Core Java Volume I Fundamentos. 8 Edio. Editora Pearson Prentice Hall, 2010.
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

67

Referncias

KIMURA, Fbio. Programao Orientada a Objetos com Java


Aula 1: http://www.slideshare.net/fkimura/aula1-2897347
JIT (Just In Time) Compilao de Programas Java:
http://www.guj.com.br/posts/downloadAttach/1491.java
MACHADO, Francis Berenger e MAIA, Luiz Paulo. Arquitetura
de Sistemas Operacionais. 4 Edio. Editora LTC, 2007.
SIERRA, Kate e BATES, Bert. Certificao Sun para
Programador e Desenvolvedor em Java 2 Guia de Estudos. 3
Edio. Editora Alta Books, 2003.
The Java Language Specification - Java SE 7 Edition:
http://docs.oracle.com/javase/specs/jls/se7/html/
The Java Tutorials - Language Basics:
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/
rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

68

rogerioaraujo.wordpress.com twitter: @rgildoaraujo - rgildoaraujo@gmail.com

69

Potrebbero piacerti anche