Questão sobre o cap 10 da Kathy  XML
Índice dos Fóruns » Certificação Java
Autor Mensagem
sammaraAdriana
Thread.start()
[Avatar]

Membro desde: 24/10/2010 19:35:31
Mensagens: 49
Offline

Pessoal, esse capítulo não entra na minha cabeça... Será que alguém poderia me explicar esse código?

Muito obrigada.


OCPJP - Oracle Certified Professional, Java SE 6 Programmer
sammaraAdriana
Thread.start()
[Avatar]

Membro desde: 24/10/2010 19:35:31
Mensagens: 49
Offline

Outra:


OCPJP - Oracle Certified Professional, Java SE 6 Programmer
RodrigoM91
JavaBaby

Membro desde: 03/11/2010 19:46:47
Mensagens: 88
Offline

Eai conseguiu entender ?

100 viram a duvida e ninguém respondeu nada...

Eu não sei te explicar a respeito !

Duvidas com construtores em java?

http://mballem.wordpress.com/2011/01/19/declaracao-de-construtores-em-java
douglas_vidotto
JavaTeenager
[Avatar]

Membro desde: 12/08/2008 15:43:18
Mensagens: 195
Offline

oi Sammara, só me confirma as respostas pra ver se não vou falar bobagem, hehehe. As respostas são:

Primeira Pergunta - Letra G

Segunda Pergunta - A, D e G

É isso?
alias
Virtual Machine Man

Membro desde: 11/06/2007 11:09:34
Mensagens: 596
Offline

Hm...

Ambas as questões são a respeito do Classpath (mas isso voce já sabe, hehe), e de que forma as classes serão encontradas durante a compilação/execução do programa.

No primeiro exemplo, é mostrado que a variavel de ambiente CLASSPATH está definida para determinados diretórios, porém o comando java foi executado com o parametro -classpath,
que sobrescreve a variavel de ambiente. Portanto, para essa execução em específico, o classpath será: /test:/home/bob/downloads/*.jar. O que isso significa? Que os arquivos
constantes nesses diretorios ( : é um separador no unix, no Windows seria ; ) estarão visíveis para a VM. Portanto creio que as respostas seriam:

A -> (INCORRETA) (o arquivo Chess.class existe, mas não coincide com games.Chess)
B -> (INCORRETA) (esse diretorio nao está no classpath da execução)
C -> (CORRETA) (repare que a classe executada é games.Chess. O diretorio /test está no classpath e a estrutura do diretorio coincide com games.Chess (nome do pacote deve coincidir com a estrutura dos diretorios))
D -> (INCORRETA) (pelo mesmo motivo que B. Repare que esse diretorio está na variavel de ambiente CLASSPATH, mas a variavel foi desconsiderada em função do parametro -classpath)
E -> (INCORRETA) (mesmo motivo que B)
F -> (INCORRETA) (esse jar nao nao está no classpath, pelo mesmo motivo que a opção D)
G -> (INCORRETA) (repare no parametro passado para o classpath: /home/bob/downloads/*.jar. Não é permitido selecionar todos os arquivos JAR de um diretorio dessa maneira, com o * (o Java6 permite de uma forma um pouco diferente). Portanto, esse jar tambem nao está no classpath)

No segundo exemplo, o cenário é a compilação do programa, que envolve as mesmas questões de classpath

A -> (INCORRETA) (esse diretorio, ainda que exista, não é incluído no classpath)
B -> (CORRETA) (todos os jars incluidos em $JAVA_HOME/jre/lib/ext/ estarão no classpath da compilação/execução, sempre. é um diretorio que serve para voce incluir qualquer jar que queira que esteja no classpath de qualquer execução aí na sua maquina)
C -> (INCORRETA) (a variavel de ambiente CLASSPATH deve indicar diretorios e/ou arquivos JARs, não um .class específico dentro de um jar)
D -> (CORRETA) (a variavel de ambiente CLASSPATH foi definida corretamente para incluir o JAR que contem o class necessario)
E -> (INCORRETA) (mesmo motivo de C. Repare que ele passa no comando javac o parametro -cp, que é a mesma coisa que o parametro -classpath)
F -> (INCORRETA) (uma pegadinha. repare que ele passa o JAR no parametro -d. esse parametro serve para determinar o destino do seu arquivo class compilado, e nao para definir o classpath)
G -> (CORRETA) (o jar que contem a classe necessaria foi passado corretamente no parametro -classpath)

Espero ter ajudado, e espero ter acertado tambem . Duvidas poste aí!
douglas_vidotto
JavaTeenager
[Avatar]

Membro desde: 12/08/2008 15:43:18
Mensagens: 195
Offline

Opa..falha minha. Na segunda eu vi a B e acabei colocando a questão A por engano na resposta (as classes padrão do Java ficam dentro de /lib e nao em /classes).

This message was edited 1 time. Last update was at 17/01/2012 12:04:39

alias
Virtual Machine Man

Membro desde: 11/06/2007 11:09:34
Mensagens: 596
Offline

douglas_vidotto wrote:Opa..falha minha. Na segunda eu vi a B e acabei colocando a questão A por engano na resposta (as classes padrão do Java ficam dentro de /lib e nao em /classes).


Exato. A pasta $JAVA_HOME/jre/lib/ext serve para voce incluir qualquer jar que queira no classpath padrão, mas sem misturar com os jars do proprio Java (que estão na pasta $JAVA_HOME/jre/lib)
sammaraAdriana
Thread.start()
[Avatar]

Membro desde: 24/10/2010 19:35:31
Mensagens: 49
Offline

douglas_vidotto wrote:oi Sammara, só me confirma as respostas pra ver se não vou falar bobagem, hehehe. As respostas são:

Primeira Pergunta - Letra G

Segunda Pergunta - A, D e G

É isso?


A primeira é C e a segunda é BDG.

Valeu.

OCPJP - Oracle Certified Professional, Java SE 6 Programmer
sammaraAdriana
Thread.start()
[Avatar]

Membro desde: 24/10/2010 19:35:31
Mensagens: 49
Offline

alias wrote:Hm...

Ambas as questões são a respeito do Classpath (mas isso voce já sabe, hehe), e de que forma as classes serão encontradas durante a compilação/execução do programa.

No primeiro exemplo, é mostrado que a variavel de ambiente CLASSPATH está definida para determinados diretórios, porém o comando java foi executado com o parametro -classpath,
que sobrescreve a variavel de ambiente. Portanto, para essa execução em específico, o classpath será: /test:/home/bob/downloads/*.jar. O que isso significa? Que os arquivos
constantes nesses diretorios ( : é um separador no unix, no Windows seria ; ) estarão visíveis para a VM. Portanto creio que as respostas seriam:

A -> (INCORRETA) (o arquivo Chess.class existe, mas não coincide com games.Chess)
B -> (INCORRETA) (esse diretorio nao está no classpath da execução)
C -> (CORRETA) (repare que a classe executada é games.Chess. O diretorio /test está no classpath e a estrutura do diretorio coincide com games.Chess (nome do pacote deve coincidir com a estrutura dos diretorios))
D -> (INCORRETA) (pelo mesmo motivo que B. Repare que esse diretorio está na variavel de ambiente CLASSPATH, mas a variavel foi desconsiderada em função do parametro -classpath)
E -> (INCORRETA) (mesmo motivo que B)
F -> (INCORRETA) (esse jar nao nao está no classpath, pelo mesmo motivo que a opção D)
G -> (INCORRETA) (repare no parametro passado para o classpath: /home/bob/downloads/*.jar. Não é permitido selecionar todos os arquivos JAR de um diretorio dessa maneira, com o * (o Java6 permite de uma forma um pouco diferente). Portanto, esse jar tambem nao está no classpath)

No segundo exemplo, o cenário é a compilação do programa, que envolve as mesmas questões de classpath

A -> (INCORRETA) (esse diretorio, ainda que exista, não é incluído no classpath)
B -> (CORRETA) (todos os jars incluidos em $JAVA_HOME/jre/lib/ext/ estarão no classpath da compilação/execução, sempre. é um diretorio que serve para voce incluir qualquer jar que queira que esteja no classpath de qualquer execução aí na sua maquina)
C -> (INCORRETA) (a variavel de ambiente CLASSPATH deve indicar diretorios e/ou arquivos JARs, não um .class específico dentro de um jar)
D -> (CORRETA) (a variavel de ambiente CLASSPATH foi definida corretamente para incluir o JAR que contem o class necessario)
E -> (INCORRETA) (mesmo motivo de C. Repare que ele passa no comando javac o parametro -cp, que é a mesma coisa que o parametro -classpath)
F -> (INCORRETA) (uma pegadinha. repare que ele passa o JAR no parametro -d. esse parametro serve para determinar o destino do seu arquivo class compilado, e nao para definir o classpath)
G -> (CORRETA) (o jar que contem a classe necessaria foi passado corretamente no parametro -classpath)

Espero ter ajudado, e espero ter acertado tambem . Duvidas poste aí!


Muito obrigada pela ajuda.
E você acertou sim.

Valeu.

OCPJP - Oracle Certified Professional, Java SE 6 Programmer
sammaraAdriana
Thread.start()
[Avatar]

Membro desde: 24/10/2010 19:35:31
Mensagens: 49
Offline

RodrigoM91 wrote:Eai conseguiu entender ?

100 viram a duvida e ninguém respondeu nada...

Eu não sei te explicar a respeito !


Eu já tinha perdido as esperanças... Mas estava tentando colocar na minha cabeça com a ajuda da Kathy...

OCPJP - Oracle Certified Professional, Java SE 6 Programmer
alias
Virtual Machine Man

Membro desde: 11/06/2007 11:09:34
Mensagens: 596
Offline

sammaraAdriana wrote:
alias wrote:
Espero ter ajudado, e espero ter acertado tambem . Duvidas poste aí!


Muito obrigada pela ajuda.
E você acertou sim.

Valeu.


Beleza. No caso de ainda estar com duvidas, poste ai que a gente tenta ajudar.
 
Índice dos Fóruns » Certificação Java
Ir para:   
Powered by JForum 2.1.8 © JForum Team