palabra clave transitoria en Java

transitorio es un modificador de variables utilizado en publicación por entregas . En el momento de la serialización, si no queremos guardar el valor de una variable particular en un archivo, usamos transitorio palabra clave. Cuando JVM se encuentra transitorio palabra clave ignora el valor original de la variable y guarda el valor predeterminado de ese tipo de datos variable. transitorio La palabra clave juega un papel importante para cumplir con las restricciones de seguridad. Hay varios ejemplos de la vida real en los que no queremos guardar datos privados en un archivo. Otro uso de transitorio La palabra clave no es serializar la variable cuyo valor se puede calcular/derivar utilizando otros objetos o sistemas serializados, como la edad de una persona, la fecha actual, etc. Prácticamente serializamos solo aquellos campos que representan un estado de instancia después de que toda la serialización se trata de guardar el estado de un objeto en un archivo. Es un buen hábito utilizar transitorio keyword with private confidential fields of a class during serialization. Java
   // A sample class that uses transient keyword to   // skip their serialization.   class   Test     implements     Serializable   {      // Making password transient for security      private     transient     String     password  ;      // Making age transient as age is auto-      // computable from DOB and current date.      transient     int     age  ;      // serialize other fields      private     String     username       email  ;      Date     dob  ;      // other code   }   
transitorio y estático: Desde estático Los campos no son parte del estado del objeto, no hay uso/impacto del uso. transitorio palabra clave con variables estáticas. Sin embargo, no hay ningún error de compilación. transitorio y final: las variables finales se serializan directamente por sus valores, por lo que no tiene ningún uso/impacto declarar la variable final como transitorio . There is no compile-time error though. Java
   // Java program to demonstrate transient keyword   // Filename Test.java   import     java.io.*  ;   class   Test     implements     Serializable   {      // Normal variables      int     i     =     10       j     =     20  ;      // Transient variables      transient     int     k     =     30  ;      // Use of transient has no impact here      transient     static     int     l     =     40  ;      transient     final     int     m     =     50  ;      public     static     void     main  (  String  []     args  )     throws     Exception      {      Test     input     =     new     Test  ();      // serialization      FileOutputStream     fos     =     new     FileOutputStream  (  'abc.txt'  );      ObjectOutputStream     oos     =     new     ObjectOutputStream  (  fos  );      oos  .  writeObject  (  input  );      // de-serialization      FileInputStream     fis     =     new     FileInputStream  (  'abc.txt'  );      ObjectInputStream     ois     =     new     ObjectInputStream  (  fis  );      Test     output     =     (  Test  )  ois  .  readObject  ();      System  .  out  .  println  (  'i = '     +     output  .  i  );      System  .  out  .  println  (  'j = '     +     output  .  j  );      System  .  out  .  println  (  'k = '     +     output  .  k  );      System  .  out  .  println  (  'l = '     +     output  .  l  );         System  .  out  .  println  (  'm = '     +     output  .  m  );      }   }   
Output :
i = 10 j = 20 k = 0 l = 40 m = 50