Transitório em Java: o quê, por que e como funciona?



Transiente em Java é uma palavra-chave usada na serialização. É usado quando você não deseja salvar o valor de uma variável em um arquivo

Transiente em Java é usado para marcar a variável de membro para não ser serializada quando ela é persistida em fluxos de bytes. Esta palavra-chave desempenha um papel importante para atender às restrições de segurança em . Ele ignora o valor original de um variável e salva o valor padrão dessa variável .

A seguir estão os tópicos que serão discutidos neste artigo:





Vamos começar!

O que é palavra-chave transiente em Java?

Transiente é basicamente um modificador de variáveis ​​usado para serialização. Agora, o que é serialização? Serialização em Java é um mecanismo usado para converter o estado de um objeto em um fluxo de bytes. No momento da serialização, se você não quiser salvar o valor de uma determinada variável em um arquivo, use a palavra-chave transient.



Sintaxe :

transiente privado

ou

transitório privado

Caso você defina algum membro de dados como transiente, ele não será serializado. Isso ocorre porque cada campo marcado como transitório não será serializado. Você pode usar esta palavra-chave transiente para indicar à máquina virtual Java (JVM) que a variável temporária não faz parte do estado persistente de um objeto.



Vamos escrever um exemplo básico para entender sobre Transient em Java.

class Demo implementa Serializable {// Fazendo transiente humano privado transiente String transiente humano int idade // serializa outros campos privado String nome, endereço Data dob // resto do código}

Aqui, criei uma classe chamada Demo que implementa Serializable. O membro de dados de idade da classe Demo é declarado como transiente, seu valor não será serializado. Mas se você desserializar o objeto, você obterá o valor padrão para uma variável transitória.

Por que o modificador transiente é usado?

Transiente em Java é usado para indicar que um campo não deve fazer parte do processo de serialização.

O modificador Transient pode ser aplicado a variáveis ​​de membro de uma classe para desligar a serialização nessas variáveis ​​de membro. Cada campo marcado como temporário não será serializado. Você pode usar esta palavra-chave transitória para indicar ao Máquina Virtual JAVA que a variável transiente não faz parte do estado persistente de um objeto.

Você pode ter essa questão rodando em sua cabeça. Quando usar este transiente em Java?

A resposta para isso seria:

o que é __init__
  1. Você pode usar essa palavra-chave Transiente quando tiver campos derivados / calculados de outros campos na instância de uma classe.
  2. Use-o com campos que não estão marcados como “Serializáveis” dentro do JDK ou do código do aplicativo. Isso ocorre porque as classes que não implementam a interface serializável são referenciadas em qualquer classe serializável e não podem ser serializadas e irão lançar a exceção “java.io.NotSerializableException”. Observe que essas referências não serializáveis ​​devem ser marcadas como 'transitórias' antes serializando a classe principal.

Como usar a palavra-chave transiente com final?

Transiente em Java pode ser usado com o palavra-chave final porque se comporta de maneira diferente em diferentes situações, o que geralmente não é o caso com outros palavras-chave em Java .

Dê uma olhada neste exemplo.

private String firstName private String lastName // campo final 1 público final transiente String pass = 'senha' // campo final 2 público final transiente Lock lock = Lock.getLock ('demo')

Agora, quando você executar a serialização (gravação / leitura) novamente, você obterá esta saída:

Kenny
Forte
senha
nulo

Isso ocorre porque marcamos a “passagem” para transiente e, ainda assim, esse campo foi serializado. Para uma declaração semelhante, o bloqueio não foi serializado. O motivo é que, sempre que qualquer campo final é avaliado como uma expressão constante,ele é serializado pela JVM ignorando a presença da palavra-chave transitória.

Diferença entre transiente e volátil

Esta é uma pergunta importante feita durante um . Qual é a diferença entre palavra-chave transiente e volátil em Java?

Volátil e Transiente são duas palavras-chave completamente diferentes usadas em . Uma palavra-chave Transient é usada durante a serialização do objeto Java. Volátil está relacionado à visibilidade de variáveis ​​modificadas por vários threads.

A única semelhança entre essas palavras-chave é que elas são menos usadas ou incomuns e não tão populares quanto public, static ou final.

Isso nos leva ao final deste artigo, onde aprendemos sobre Transiente em Java. Espero que você tenha esclarecido tudo o que foi compartilhado com você neste tutorial.

Se você achou este artigo sobre “Transiente em Java” relevante, verifique o uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo.

Estamos aqui para ajudá-lo em todas as etapas de sua jornada, para nos tornarmos, além dessas perguntas da entrevista java, um currículo que é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java. O curso foi desenvolvido para dar a você uma vantagem inicial na programação Java e treiná-lo para os conceitos básicos e avançados de Java, juntamente com várias estruturas Java, como Hibernate e Spring.

Se você tiver alguma dúvida, fique à vontade para fazer todas as suas perguntas na seção de comentários de “Transiente em Java” e nossa equipe terá prazer em responder.