terça-feira, 18 de setembro de 2018

[Java] - Atributos transientes e voláteis


Atributos transientes

Um atributo transiente significa que ele não será serializado ou desserializado juntamente com os demais atributos de um determinado objeto.
Serialização é o processo no qual os atributos de um objeto (estado) são convertidos, um a um, numa sequência de bytes. Desserialização é o processo inverso, onde bytes são lidos e um novo objeto é construído.

Atributos voláteis

Um atributo volátil tem garantia de que o valor atualizado estará sempre disponível para outras threads, sendo gravados na memória principal assim que atualizados, de forma atômica.
Isso significa que, sempre que o valor for modificado em um processador, ocorrerá um flush para a memória principal, portanto as outras threads vão ver sempre o valor mais atualizado e não um possível valor defasado.

Nenhum comentário:

Postar um comentário