| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2011 06:39:06
|
rafael_souza0
Thread.start()
![[Avatar]](/images/avatar/b5c4c3591e9871a577978ee508b8a8b0.jpg)
Membro desde: 19/09/2011 20:19:21
Mensagens: 32
Localização: São Paulo
Offline
|
Galera, estou com uma dúvida com relação à uma questão do TestKiller
How many String objects will be created when this method is invoked?
A. 1
B. 2
C. 3
D. 4
E. 5
F. 6
A resposta dessa questão, segundo o TestKiller é C, porém se partirmos do princípio que Objetos Strings são imutáveis, acredito que a resposta seria 4,
pois na linha 1, 2, 3 e 4 é criado objetos Strings e atribuido a variável "s".
O que vocês acham?
|
Oracle Certified Professional, Java SE 6 Programmer
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2011 06:58:58
|
mauricioadl
GUJ Master
![[Avatar]](/images/avatar/0958560bd45062d115debadb6bca3183.png)
Membro desde: 10/05/2007 14:52:21
Mensagens: 1140
Offline
|
concordo com voce.
|
Seu problema foi resolvido? Por favor, edite seu primeiro post e adicione [RESOLVIDO] no título.
O forum agradece. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2011 07:39:12
|
rmendes08
GUJ Master
![[Avatar]](/images/avatar/9ee855f3ce4dd40182183463232e2162.jpg)
Membro desde: 29/05/2008 14:09:28
Mensagens: 1617
Offline
|
A questão é clara quanto ao momento da criação das String's. Ela quer saber quantas Strings são criadas quando o método invocado, e de fato, a resposta é 3 String's.
2 String's são criadas na compilação: "Fred" e "47". Quando o método é invocado são criadas mais 3:
|
"A Técnica é transformada em Arte por quem a emprega"
"O futuro pertence àqueles que acreditam na beleza de seus sonhos"
Computadores Fazem Arte
http://www.uaijug.com.br
"É importante estabelecer uma estrutura de alto nível, mas isso não significa criar uma infinidade de diagramas de classes detalhados." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2011 07:42:35
|
InsaneChess
JavaTeenager
![[Avatar]](/images/avatar/aaf00ecab185d81021300866bdfa4760.jpg)
Membro desde: 22/04/2010 23:02:42
Mensagens: 194
Localização: São Paulo, SP
Offline
|
Cara, eu não tenho certeza.
Se me lembro bem essa é a questão 91 do TestKiller....que está com a pergunta errada.
Se não me engano ela quer saber quantos objetos estão disponiveis para a coleta de lixo...
Só pra confirmar da uma pesquisada no fórum sobre isso, que já tem alguns tópicos.
This message was edited 1 time. Last update was at 28/09/2011 07:43:15
|
MSN: diogo_chess@hotmail.com
Vamos estudar Java!!! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2011 08:50:37
|
rafael_souza0
Thread.start()
![[Avatar]](/images/avatar/b5c4c3591e9871a577978ee508b8a8b0.jpg)
Membro desde: 19/09/2011 20:19:21
Mensagens: 32
Localização: São Paulo
Offline
|
Vou procurar.
De qualquer forma, obrigado
|
Oracle Certified Professional, Java SE 6 Programmer
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/09/2011 21:46:53
|
Henrique.tenorio
JavaTeenager
![[Avatar]](/images/avatar/da4064fde1f9d43d8e2c723d78f91abe.jpg)
Membro desde: 18/05/2009 23:03:38
Mensagens: 165
Localização: Barra do Bugres, Mato Grosso
Offline
|
Realmente são 4 objetos. Eu tambem estou estudando para a certificação e tive esta duvida pelo que pesquisei a pergunta esta errada mesma.
|
Oracle Certified Professional, Java SE 6 Programmer
Estudante de Ciência da Computação
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2011 14:00:34
|
sidney.tavares
JavaBaby
![[Avatar]](/images/avatar/6fc8f419ee0ea924e13e9f41a7e9c73f.png)
Membro desde: 09/04/2009 14:48:14
Mensagens: 96
Offline
|
Olá a todos, desculpem postar neste tópico, mas para mim não ficou claro, eu achei a questão interessante, então copiei o código e executei, na minha modesta opinião acredito que a resposta correta seja mesmo 3 objetos, mas contrariando a resposta dada pelo amigo rmendes08, acredito que a linha:
Não cria um novo objeto, apenas passa o objeto criado na linha anterior para letras maiúsculas, se estiver errado por favor me corrijam, mas acredito que seja isso mesmo. Abraços.
|
Entusiasta Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2011 14:40:09
|
asousaj
JavaChild
![[Avatar]](/images/avatar/9749463e67a1dd52c34fed592810f23d.jpg)
Membro desde: 03/07/2011 18:19:45
Mensagens: 120
Localização: Campo Grande/MS
Offline
|
sidney.tavares wrote:Olá a todos, desculpem postar neste tópico, mas para mim não ficou claro, eu achei a questão interessante, então copiei o código e executei, na minha modesta opinião acredito que a resposta correta seja mesmo 3 objetos, mas contrariando a resposta dada pelo amigo rmendes08, acredito que a linha:
Não cria um novo objeto, apenas passa o objeto criado na linha anterior para letras maiúsculas, se estiver errado por favor me corrijam, mas acredito que seja isso mesmo. Abraços.
Lembre-se Strings são imutaveis, logo foi criada uma nova String com as letras em maiusculas.
|
Adriano Sousa de Jesus
OCJP em 2012
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2011 14:48:05
|
sidney.tavares
JavaBaby
![[Avatar]](/images/avatar/6fc8f419ee0ea924e13e9f41a7e9c73f.png)
Membro desde: 09/04/2009 14:48:14
Mensagens: 96
Offline
|
asousaj,
Então sendo dessa forma a resposta correta seria 4 objetos String? Valeu pela resposta.
|
Entusiasta Java |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2011 15:18:02
|
Henrique.tenorio
JavaTeenager
![[Avatar]](/images/avatar/da4064fde1f9d43d8e2c723d78f91abe.jpg)
Membro desde: 18/05/2009 23:03:38
Mensagens: 165
Localização: Barra do Bugres, Mato Grosso
Offline
|
asousaj wrote:
sidney.tavares wrote:Olá a todos, desculpem postar neste tópico, mas para mim não ficou claro, eu achei a questão interessante, então copiei o código e executei, na minha modesta opinião acredito que a resposta correta seja mesmo 3 objetos, mas contrariando a resposta dada pelo amigo rmendes08, acredito que a linha:
Não cria um novo objeto, apenas passa o objeto criado na linha anterior para letras maiúsculas, se estiver errado por favor me corrijam, mas acredito que seja isso mesmo. Abraços.
Lembre-se Strings são imutaveis, logo foi criada uma nova String com as letras em maiusculas.
Então na realidade temos 5, pois
cria 2 novos objetos o "47" é um, e o (s+"47") representa outro.
|
Oracle Certified Professional, Java SE 6 Programmer
Estudante de Ciência da Computação
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2011 16:37:49
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
http://www.guj.com.br/java/116352-duvida-na-quantidade-de-strings-criadas-resolvido
De qualquer maneira, essa é uma das questões mais perguntadas (e com menor probabilidade de cair na prova de verdade) aqui do GUJ.
Olhem os resultados da consulta no Google:
http://www.google.com.br/search?q=fred+47+testkiller+site%3Awww.guj.com.br&safe=active
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2011 18:32:57
|
asousaj
JavaChild
![[Avatar]](/images/avatar/9749463e67a1dd52c34fed592810f23d.jpg)
Membro desde: 03/07/2011 18:19:45
Mensagens: 120
Localização: Campo Grande/MS
Offline
|
Valew a resposta entanglement,
então são realmente 3.
Pra quem tem o livro da kathy Sierra (Java 6 ingles), da uma olhadinha no capitulo 6, página 433/434.
"Important Facts About Strings and Memory"
This message was edited 1 time. Last update was at 23/11/2011 18:33:34
|
Adriano Sousa de Jesus
OCJP em 2012
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2011 22:37:02
|
Henrique.tenorio
JavaTeenager
![[Avatar]](/images/avatar/da4064fde1f9d43d8e2c723d78f91abe.jpg)
Membro desde: 18/05/2009 23:03:38
Mensagens: 165
Localização: Barra do Bugres, Mato Grosso
Offline
|
3 o cacete!
|
Oracle Certified Professional, Java SE 6 Programmer
Estudante de Ciência da Computação
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/11/2011 23:58:47
|
asousaj
JavaChild
![[Avatar]](/images/avatar/9749463e67a1dd52c34fed592810f23d.jpg)
Membro desde: 03/07/2011 18:19:45
Mensagens: 120
Localização: Campo Grande/MS
Offline
|
Henrique.tenorio wrote:3 o cacete!
"Fred" e "47" já existiam no pool antes do método ser invocado.
Pergunta é quantas são criadas ao se invocar o método. 3.
Da pra provar isso via IDE(eclipse ou netbeans)? Não achei como.
Abç a tds!
|
Adriano Sousa de Jesus
OCJP em 2012
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/11/2011 02:57:36
|
Henrique.tenorio
JavaTeenager
![[Avatar]](/images/avatar/da4064fde1f9d43d8e2c723d78f91abe.jpg)
Membro desde: 18/05/2009 23:03:38
Mensagens: 165
Localização: Barra do Bugres, Mato Grosso
Offline
|
asousaj wrote:
Henrique.tenorio wrote:3 o cacete!
"Fred" e "47" já existiam no pool antes do método ser invocado.
Pergunta é quantas são criadas ao se invocar o método. 3.
Da pra provar isso via IDE(eclipse ou netbeans)? Não achei como.
Abç a tds!
Só reformulando a pergunta então. Ao final da execução do método quantos objetos foram criados?
|
Oracle Certified Professional, Java SE 6 Programmer
Estudante de Ciência da Computação
 |
|
|
 |
|
|