Se um servidor de aplicação JAVA está com a HEAP configurada...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: B - erros de java.lang.OutOfMemoryError nas aplicações.
A questão abordada está relacionada à configuração da memória HEAP em um servidor de aplicação Java. A HEAP é uma área da memória usada pela Máquina Virtual Java (JVM) para alocar objetos que são criados durante a execução de um programa em Java. A configuração adequada da HEAP é crucial para o desempenho e a estabilidade das aplicações Java.
Quando a HEAP está configurada com um valor abaixo do necessário para as demandas da aplicação, pode ocorrer uma condição onde a JVM não consegue mais alocar espaço para novos objetos pois não há memória suficiente disponível. Esse cenário gera o erro conhecido como java.lang.OutOfMemoryError, que indica que a aplicação excedeu a quantidade de memória HEAP disponibilizada para ela.
As demais alternativas não estão diretamente relacionadas à configuração da memória HEAP. Problemas de data e hora (Alternativa A) geralmente estão relacionados à configuração de timezones ou bugs em bibliotecas de data e hora. Erros de charset (Alternativa C) são relacionados a problemas de codificação e decodificação de caracteres, especialmente ao comunicar entre sistemas que usam diferentes conjuntos de caracteres. Ataques de buffer overflow (Alternativa D) são vulnerabilidades de segurança que ocorrem quando um programa escreve dados além dos limites de um buffer alocado na memória, mas não estão relacionados ao tamanho da HEAP. Por fim, ataques de força bruta (Alternativa E) são tentativas de adivinhar senhas por meio de tentativa e erro, e também não têm relação com a configuração de memória HEAP.
Portanto, a alternativa correta é a letra B, pois é a única que descreve um erro que está diretamente associado a uma configuração insuficiente de memória HEAP no servidor de aplicação Java.
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
O ajuste apropriado do tamanho do heap inicial reduz a sobrecarga da coleta de lixo, aprimorando o tempo de resposta do servidor e o rendimento do processamento. Se o valor for muito baixo, o servidor pode sofrer de sobrecarga de um número alto de coletas de lixos secundárias. Se o valor for muito alto, a memória será subutilizada.Alternatica B
A coleta de lixo é feita em thread própria, mas pode ser invocada explicitamente pelos métodos System.gc() e Runtime.gc().
Uma definição acadêmica da estrutura de dados Heap ("monte" é a tradução mais próxima) pode ser encontrada em http://books.google.com.br/books?id=7ogOGQ9VMBAC&lpg=PA313&dq=heap%20java&pg=PA303#v=onepage&q=heap%20java&f=false, sendo que o uso dessa estrutura particular é interessante por seu desempenho.
Sobre o coletor de lixo nas JVM, gostei deste artigo: http://www.javaworld.com/javaworld/jw-08-1996/jw-08-gc.html
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo