Imagem de fundo

Uma prefeitura está desenvolvendo um sistema integrado de...

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.