Imagem de fundo

Uma prefeitura está desenvolvendo um sistema integrado de gestão pública que centraliza...

Uma prefeitura está desenvolvendo um sistema integrado de gestão pública que centraliza diversas funções administrativas. Para garantir a consistência dos logs de sistema, foi decidido implementar o padrão Singleton para a classe de gerenciamento de logs. Um dos desenvolvedores sugeriu a seguinte implementação em Java:

Imagem associada para resolução da questão

Em condições ideais, para garantir que apenas um thread possa executar o método getInstance por vez, evitando a criação de múltiplas instâncias em um ambiente multithread, e considerando que o desempenho não é a principal prioridade, é adequado


A

adicionar o modificador synchronized ao método getinstance para torná-lo thread-safe.


B

declarar o atributo instance como flexible para garantir a consistência em ambientes multithread.


C

implementar a inicialização precoce (lazy initialization), instanciando instance imediatamente após a declaração.


D

redefinir o construtor como público, garantindo assim que apenas uma instância seja criada a partir de chamadas externas.


E

adicionar um bloco try-catch ao método getinstance para lidar com a exceção MultithreadException.