A exceção comum StackOverflowException, em uma applet, é ca...

Próximas questões
Com base no mesmo assunto
Q252868 Programação
A exceção comum StackOverflowException, em uma applet, é causada quando a(o)

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Resposta Correta: D - A exceção StackOverflowException, em uma applet, é causada quando o espaço de pilha (stack) do sistema se esgota.

O conceito de stack overflow é fundamental para o entendimento de como as linguagens de programação gerenciam a memória durante a execução de funções ou métodos. Em termos simples, a pilha é uma estrutura de dados que armazena informações sobre as funções que são chamadas por um programa. A cada chamada de função, um novo bloco de memória, chamado de frame de pilha, é alocado para guardar variáveis locais e o estado atual da execução. Caso ocorra um número excessivo de chamadas de funções - tipicamente devido a recursão profunda sem condição de término adequada - a pilha pode crescer além do limite estabelecido pelo sistema, resultando em uma StackOverflowException.

Esta exceção é característica de situações onde há consumo excessivo de memória na pilha, não estando relacionada com ações não permitidas pelo navegador (alternativa A), tipos de dados incorretos em arrays (alternativa B), ou conversões falhas entre strings e números (alternativa C). Também é importante diferenciar de situações onde o espaço total de memória disponível para o programa é excedido, que resultaria em uma OutOfMemoryError (alternativa E), e não uma StackOverflowException.

Compreender o gerenciamento de memória é essencial para programadores e é frequentemente testado em concursos públicos, principalmente em questões relacionadas a linguagens de programação que permitem ou requerem um controle mais fino da memória, como C e C++. Em linguagens de alto nível como Java, tais exceções são menos comuns, mas ainda possíveis e importantes de se entender.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Poderia ter sido gerada uma dúvida entre "espaço de memória" na letra E e "espaço de pilha" na letra D. Porém atente para o fato de que não é necessário que seja criado um novo objeto (como dito na letra E) para que haja um estouro de pilha. Portanto a letra correta é a "D".

A letra E se refere ao OutOfMemoryError.

Um StackOverflowException exceção é lançada quando a pilha de execução excede por ter muitas chamadas de método aninhadas.

Se nao souber a fundamentação mas souber algo de inglês, acerta

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo