Transitori in Java: cosa, perché e come funziona?



Transient in Java è una parola chiave utilizzata nella serializzazione. Viene utilizzato quando non si desidera salvare il valore di una variabile in un file

Transient in Java viene utilizzato per contrassegnare la variabile membro da non serializzare quando viene mantenuta nei flussi di byte. Questa parola chiave svolge un ruolo importante per soddisfare i vincoli di sicurezza in . Ignora il valore originale di a variabile e salva il valore predefinito di quella variabile .

Di seguito sono riportati gli argomenti che verranno discussi in questo articolo:





Iniziamo!

Qual è la parola chiave Transient in Java?

Transient è fondamentalmente un modificatore di variabili utilizzato per la serializzazione. Ora, cos'è la serializzazione? Serializzazione in Java è un meccanismo utilizzato per convertire lo stato di un oggetto in un flusso di byte. Al momento della serializzazione, se non desideri salvare il valore di una determinata variabile in un file, utilizza la parola chiave temporanea.



Sintassi :

transitorio privato

o

privato transitorio

Nel caso in cui si definisca un membro dati come transitorio, non verrà serializzato. Questo perché ogni campo contrassegnato come transitorio non verrà serializzato. È possibile utilizzare questa parola chiave temporanea per indicare alla JVM (Java virtual machine) che la variabile transitoria non fa parte dello stato persistente di un oggetto.



Scriviamo un esempio molto semplice per comprendere Transient in Java.

class Demo implementa Serializable {// Making human transient private transient String human transient int age // serialize other fields private String name, address Date dob // resto of the code}

Qui, ho creato una classe chiamata Demo che implementa Serializable. Il membro dei dati di età della classe Demo viene dichiarato transitorio, il suo valore non verrà serializzato. Ma se deserializzi l'oggetto, otterrai il valore predefinito per una variabile transitoria.

Perché viene utilizzato il modificatore Transient?

Transient in Java viene utilizzato per indicare che un campo non deve far parte del processo di serializzazione.

Il modificatore Transient può essere applicato alle variabili membro di una classe per disattivare la serializzazione su queste variabili membro. Ogni campo contrassegnato come transitorio non verrà serializzato. È possibile utilizzare questa parola chiave transitoria per indicare a Macchina virtuale Java che la variabile transitoria non fa parte dello stato persistente di un oggetto.

Potresti avere questa domanda in esecuzione nella tua testa. Quando utilizzare questo transitorio in Java?

talend etl tool tutorial pdf

La risposta a questo sarebbe:

  1. È possibile utilizzare questa parola chiave Transient quando si hanno campi derivati ​​/ calcolati da altri campi all'interno dell'istanza di una classe.
  2. Usalo con i campi che non sono contrassegnati come 'Serializzabile' all'interno di JDK o nel codice dell'applicazione. Questo perché le classi che non implementano l'interfaccia Serializable sono referenziate all'interno di qualsiasi classe serializzabile e non possono essere serializzate e genereranno l'eccezione 'java.io.NotSerializableException'. Notare che questi riferimenti non serializzabili devono essere contrassegnati come 'transitori' prima serializzare la classe principale.

Come utilizzare Transient con la parola chiave finale?

Transient in Java può essere utilizzato con l'estensione parola chiave finale perché si comporta in modo diverso in diverse situazioni che generalmente non è il caso di altri parole chiave in Java .

Dai un'occhiata a questo esempio.

private String firstName private String lastName // final field 1 public final transient String pass = 'password' // final field 2 public final transient Lock lock = Lock.getLock ('demo')

Ora, quando esegui di nuovo la serializzazione (scrittura / lettura), otterrai questo output:

Kenny
Forte
parola d'ordine
nullo

Questo perché abbiamo contrassegnato il 'passaggio' a transitorio e ancora quel campo è stato serializzato. Per una dichiarazione simile, il blocco non è stato serializzato. Il motivo è che, ogni volta che un campo finale viene valutato come un'espressione costante,viene serializzato dalla JVM ignorando la presenza della parola chiave transitoria.

Differenza tra transitorio e volatile

Questa è una domanda importante posta durante un . Qual è la differenza tra parola chiave transitoria e volatile in Java?

Volatile e Transient sono due parole chiave completamente diverse utilizzate in . Una parola chiave Transient viene utilizzata durante la serializzazione dell'oggetto Java. Volatile è correlato alla visibilità delle variabili modificate da più thread.

L'unica somiglianza tra queste parole chiave è che sono parole chiave meno utilizzate o non comuni e non così popolari come pubbliche, statiche o finali.

Questo ci porta alla fine di questo articolo in cui abbiamo imparato a conoscere Transient in Java. Spero che tu sia chiaro con tutto ciò che è stato condiviso con te in questo tutorial.

Se hai trovato pertinente questo articolo su 'Transient in Java', controlla il una società di formazione online affidabile con una rete di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo.

Siamo qui per aiutarti in ogni fase del tuo viaggio, per diventare oltre a queste domande di intervista Java, abbiamo creato un curriculum progettato per studenti e professionisti che vogliono essere uno sviluppatore Java. Il corso è progettato per darti un vantaggio nella programmazione Java e formarti per concetti Java sia di base che avanzati insieme a vari framework Java come Hibernate e Spring.

Se incontri delle domande, sentiti libero di porre tutte le tue domande nella sezione commenti di 'Transient in Java' e il nostro team sarà lieto di rispondere.