Transient i Java: Vad, varför och hur det fungerar?



Transient i Java är ett nyckelord som används vid serialisering. Den används när du inte vill spara värdet på en variabel i en fil

Transient i Java används för att markera medlemsvariabeln som inte ska serieiseras när den kvarstår till bytesströmmar. Det här nyckelordet spelar en viktig roll för att möta säkerhetsbegränsningar i . Det ignorerar det ursprungliga värdet av a variabel och sparar standardvärdet för den variabeln .

Följande är de ämnen som kommer att diskuteras i den här artikeln:





Låt oss börja!

Vad är övergående nyckelord i Java?

Transient är i princip en variabelmodifierare som används för serialisering. Vad är serialisering nu? Serialisering i Java är en mekanism som används för att konvertera ett objekts tillstånd till en byte-ström. Om du inte vill spara värdet på en viss variabel i en fil vid tidpunkten för serialisering, använd det kortvariga nyckelordet.



Syntax :

summan av siffror i ett nummer i java med hjälp av för loop
privat övergående

eller

övergående privat

Om du definierar någon datamedlem som övergående kommer den inte att serienummeras. Detta beror på att varje fält markerat som övergående kommer inte att serienummeras. Du kan använda detta övergående nyckelord för att ange den virtuella Java-maskinen (JVM) att den övergående variabeln inte är en del av ett objekts beständiga tillstånd.



Låt oss skriva ett mycket grundläggande exempel för att förstå Transient i Java.

klass Demo redskap Serialiserbar {// Att göra mänsklig tillfällig privat tillfällig String mänsklig övergående intid // Serialisera andra fält privat Strängnamn, adress Datum dob // resten av koden}

Här skapade jag en klass som heter Demo som implementerar Serializable. Åldersdatamedlemmen i Demoklassen deklareras som övergående, dess värde kommer inte att serienummeras. Men om du avregistrerar objektet, du får standardvärdet för en övergående variabel.

Varför används Transient modifier?

Transient i Java används för att indikera att ett fält inte ska vara en del av serieiseringsprocessen.

Modifieraren Transient kan användas på medlemsvariabler i en klass för att stänga av serialisering på dessa medlemsvariabler. Varje fält som är markerat som övergående kommer inte att serienummeras. Du kan använda detta övergående nyckelord för att ange för Java virtuell maskin att den övergående variabeln inte är en del av ett objekts beständiga tillstånd.

Du kanske har den här frågan i huvudet. När ska jag använda denna Transient i Java?

Svaret på detta skulle vara:

  1. Du kan använda detta övergående nyckelord när du har fält som härrör / beräknas från andra fält inom förekomsten av en klass.
  2. Använd den med fält som inte är markerade som “Serializable” inuti JDK eller applikationskod. Detta beror på att klasser som inte implementerar Serializable-gränssnitt hänvisas till i någon serie som kan serieiseras och inte kan serieiseras och kommer att kasta undantaget 'java.io.NotSerializableException'. Observera att dessa icke-serierbara referenser bör vara markerade som ”transient” innan serierar huvudklassen.

Hur använder jag Transient med Final keyword?

Transient i Java kan användas med sista nyckelordet eftersom det beter sig annorlunda i olika situationer, vilket vanligtvis inte är fallet med andra nyckelord i Java .

Ta en titt på det här exemplet.

privat sträng förnamn privat sträng efternamn // slutfält 1 offentlig slutlig övergående Strängpass = 'lösenord' // slutfält 2 offentligt slutlig övergående låslås = Lock.getLock ('demo')

Nu när du kör serieiseringen (skriv / läs) igen får du den här utmatningen:

Kenny
Stark
Lösenord
null

Detta beror på att vi har markerat 'pass' till transient, och ändå serierades det fältet. För en liknande förklaring serie inte låset ut. Anledningen är att när ett slutfält utvärderas som ett konstant uttryck,den serieras av att JVM ignorerar förekomsten av övergående nyckelord.

Skillnad mellan övergående och flyktig

Detta är en viktig fråga som ställs under en . Vad är skillnaden mellan övergående och flyktiga nyckelord i Java?

Flyktig och Transient är två helt olika nyckelord som används i . Ett övergående nyckelord används under serialisering av Java-objekt. Flyktig är relaterad till synligheten hos variabler som modifierats av flera trådar.

Den enda likheten mellan dessa nyckelord är att de är mindre använda eller ovanliga nyckelord och inte lika populära som offentliga, statiska eller slutgiltiga.

Detta leder oss till slutet av den här artikeln där vi har lärt oss om Transient i Java. Hoppas att du är tydlig med allt som har delats med dig i denna handledning.

Om du tyckte att den här artikeln om ”Transient in Java” var relevant, kolla in ett pålitligt online-lärande företag med ett nätverk med mer än 250 000 nöjda elever spridda över hela världen.

Vi är här för att hjälpa dig med varje steg på din resa, för att bli en förutom de här Java-intervjufrågorna, kommer vi med en läroplan som är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare. Kursen är utformad för att ge dig ett försprång till Java-programmering och träna dig för både kärn- och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

hur man hittar datatypen i python

Om du stöter på några frågor är du välkommen att ställa alla dina frågor i kommentarsektionen i 'Transient in Java' så svarar vårt team gärna.