tijdelijk trefwoord in Java

vergankelijk is een variabelenmodifier die wordt gebruikt in serialisatie . Als we op het moment van serialisatie de waarde van een bepaalde variabele niet in een bestand willen opslaan, gebruiken we vergankelijk trefwoord. Wanneer JVM tegenkomt vergankelijk trefwoord het negeert de oorspronkelijke waarde van de variabele en slaat de standaardwaarde van dat variabele gegevenstype op. vergankelijk trefwoord speelt een belangrijke rol bij het voldoen aan beveiligingsbeperkingen. Er zijn verschillende praktijkvoorbeelden waarbij we privégegevens niet in een bestand willen opslaan. Een ander gebruik van vergankelijk Het sleutelwoord is niet om de variabele te serialiseren waarvan de waarde kan worden berekend/afgeleid met behulp van andere geserialiseerde objecten of systemen, zoals de leeftijd van een persoon, de huidige datum enz. In de praktijk hebben we alleen die velden geserialiseerd die een staat van instantie vertegenwoordigen, nadat alle serialisatie erop gericht is de status van een object in een bestand op te slaan. Het is een goede gewoonte om te gebruiken vergankelijk 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   }   
voorbijgaand en statisch: Sinds statisch velden maken geen deel uit van de status van het object. Er is geen nut/impact van het gebruik vergankelijk trefwoord met statische variabelen. Er is echter geen sprake van een compilatiefout. voorbijgaand en definitief: eindvariabelen worden direct geserialiseerd op basis van hun waarden, dus er is geen gebruik/impact van het declareren van de eindvariabele als vergankelijk . 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