Diferença entre compiladores

5 respostas
J

De acordo com o livro Certificação Sun para Programador Java 5 2a edição, no capítulo sobre orientação a objetos pág. 84, a maioria dos compiladores não perceberá o problema do código apresentado:

class A{ A( ){ this("foo"); } A(String s){ this( ); } }
Portanto a compilação ocorrerá e em tempo de execução será lançada java.lang.StackOverflowError.
Acontece que o compilador que estou utilizando percebeu o problema e não permitiu a compilação do código. Diante dessa situação gostaria de saber se esse tipo de questão aparece no exame e qual seria a resposta “correta” para a mesma sendo que dependendo do compilador ela pode ter diferentes resultados?

5 Respostas

ViniGodoy

O fato é que o Java 1.4, 5 e 6 pegam esse erro. Não testei nos anteriores.

Talvez essa história de “a maioria” já esteja um pouco atrasada…

Emerson_Macedo

Na época que eu fiz a prova não caiu nenhuma pergunta maluca desse tipo. Se bem que eu fiz a prova quando era 1.4 ainda.

Sami_Koivu

ViniGodoy:
O fato é que o Java 1.4, 5 e 6 pegam esse erro. Não testei nos anteriores.

Talvez essa história de “a maioria” já esteja um pouco atrasada…

Testei com 1.3.1_20 e ele não pegou esse erro. Mas realmente concordo com o Vini.

De qualquer forma, eu achei a prova da Sun muito boa nesse sentido (comparando, por ex., com Oracle, BEA, etc), a qualidade é legal e acho difícil eles colocarem uma pergunta tão subjetivo assim na prova.

[]s,
Sami

anderson.bonavides

Eu responderia sem medo de errar: StackOverFlowError Isso é um estouro de pilha vizivel e a prova pede que vc tenha conciência dos tipos de exeções existentes. StackOverFlowError é uma exceção que acontece por chamadas profundas. Outro exemplo de StackOverFlowError seria com métodos fazendo chamadas recursivas.
Ex:

void method_1(){ method_1(); }

A recursão ocorre e tua JVM estourará causando a exceção. Então na minha opinião se por acaso cair marque sem erro. Eu marcaria sem medo de errar.

LPJava

compare isso com aquele cara q fica toda hora ti perguntando a mesma coisa… o que acontece com vc uma hora? A mesma coisa acontece com a JVM Estouro :smiley:

Criado 1 de fevereiro de 2008
Ultima resposta 3 de fev. de 2008
Respostas 5
Participantes 6