Sobes.tech
Junior — Middle

O que significa a palavra-chave volatile na programação Java?

sobes.tech IA

Resposta da IA

Em Java, a palavra-chave volatile é usada para indicar uma variável cujo valor pode ser alterado por vários threads simultaneamente. Ela garante que a leitura e escrita dessa variável ocorram diretamente na memória principal, e não no cache do processador, garantindo a visibilidade das mudanças entre threads.

Sem volatile, um thread pode ver um valor desatualizado da variável, pois as alterações podem permanecer no cache local de outro thread.

Exemplo:

public class Counter {
    private volatile int count = 0;

    public void increment() {
        count++; // operação não atômica, mas volatile garante a visibilidade
    }

    public int getCount() {
        return count;
    }
}

Importante: volatile não garante a atomicidade das operações, portanto, para mudanças complexas, é melhor usar sincronização ou classes atômicas de java.util.concurrent.atomic.