Transient i Java: Hva, hvorfor og hvordan fungerer det?



Transient i Java er et nøkkelord som brukes i serialisering. Den brukes når du ikke vil lagre verdien av en variabel i en fil

Transient i Java brukes til å markere medlemsvariabelen som ikke skal serialiseres når den vedvares til strømmer av byte. Dette nøkkelordet spiller en viktig rolle for å møte sikkerhetsbegrensninger i . Den ignorerer den opprinnelige verdien av en variabel og lagrer standardverdien for den variabelen .

Følgende er temaene som vil bli diskutert i denne artikkelen:





La oss komme i gang!

Hva er Transient søkeord i Java?

Transient er i utgangspunktet en modifikator for variabler som brukes til serialisering. Nå, hva er serialisering? Serialisering i Java er en mekanisme som brukes til å konvertere et objekts tilstand til en byte-strøm. Hvis du ikke vil lagre verdien til en bestemt variabel i en fil, på tidspunktet for serialisering, bruker du det forbigående nøkkelordet.



Syntaks :

privat forbigående

eller

forbigående privat

I tilfelle du definerer et datamedlem som forbigående, blir det ikke seriell. Dette er fordi hvert felt merket som flyktig vil ikke bli seriellisert. Du kan bruke dette forbigående nøkkelordet til å indikere den virtuelle Java-maskinen (JVM) at den forbigående variabelen ikke er en del av den vedvarende tilstanden til et objekt.



La oss skrive et veldig grunnleggende eksempel for å forstå Transient i Java.

klasse Demo implementerer Serialiserbar {// Gjør menneskelig forbigående privat forbigående Streng menneskelig forbigående int alder // serialisere andre felt privat Strengnavn, adresse Dato dob // resten av koden}

Her opprettet jeg en klasse som heter Demo som implementerer Serializable. Aldersdatamedlemmet i demo-klassen blir erklært forbigående, verdien av den blir ikke seriell. Men hvis du deserialiserer objektet, du får standardverdien for en forbigående variabel.

Hvorfor brukes Transient modifier?

Transient i Java brukes til å indikere at et felt ikke skal være en del av serieiseringsprosessen.

passere verdi og passere referanse i java

Modifikatoren Transient kan brukes på medlemsvariabler i en klasse for å slå av serialisering på disse medlemsvariablene. Hvert felt som er merket som forbigående, blir ikke seriellisert. Du kan bruke dette forbigående nøkkelordet til å indikere for Java virtuell maskin at den forbigående variabelen ikke er en del av et gjenstands vedvarende tilstand.

Du kan ha dette spørsmålet i hodet. Når skal jeg bruke denne Transient i Java?

Svaret på dette vil være:

  1. Du kan bruke dette forbigående nøkkelordet når du har felt som er avledet / beregnet fra andre felt i forekomsten av en klasse.
  2. Bruk den med felt som ikke er merket som “Serializable” i JDK eller applikasjonskode. Dette er fordi klasser som ikke implementerer Serializable-grensesnitt, refereres til i en hvilken som helst serialiserbar klasse og ikke kan serialiseres og vil kaste unntaket 'java.io.NotSerializableException'. Merk at disse ikke-serierbare referansene skal være merket med 'forbigående' før serierer hovedklassen.

Hvordan bruke Transient med Final keyword?

Transient i Java kan brukes med siste søkeord fordi det oppfører seg annerledes i forskjellige situasjoner, noe som generelt ikke er tilfelle med andre nøkkelord i Java .

Se på dette eksemplet.

privat streng fornavn privat streng etternavn // sluttfelt 1 offentlig endelig forbigående Strengpass = 'passord' // sluttfelt 2 offentlig endelig forbigående Låselås = Lås.getLås ('demo')

Nå når du kjører serialiseringen (skriver / leser) igjen, får du denne utgangen:

Kenny
Sterk
passord
null

Dette er fordi vi har merket 'pass' til forbigående, og fortsatt ble feltet felt i serie. For en lignende erklæring ble ikke lås seriell. Årsaken er når et hvilket som helst sluttfelt evalueres som et konstant uttrykk,den serielliseres av at JVM ignorerer tilstedeværelsen av forbigående søkeord.

Forskjellen mellom flyktig og flyktig

Dette er et viktig spørsmål som blir stilt under en . Hva er forskjellen mellom forbigående og flyktig søkeord i Java?

Flyktige og Transient er to helt forskjellige nøkkelord som brukes i . Et forbigående nøkkelord brukes under serialisering av Java-objekt. Flyktig er relatert til synligheten til variabler modifisert av flere tråder.

Den eneste likheten mellom disse søkeordene er at de er mindre brukte eller uvanlige søkeord og ikke like populære som offentlige, statiske eller endelige.

Dette bringer oss til slutten av denne artikkelen der vi har lært om Transient i Java. Håper du er klar med alt som har blitt delt med deg i denne opplæringen.

Hvis du fant denne artikkelen om 'Forbigående i Java' relevant, kan du sjekke ut et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden.

Vi er her for å hjelpe deg med hvert trinn på reisen, for å bli en foruten dette java-intervjuspørsmålene, kommer vi med en læreplan som er designet for studenter og fagpersoner som ønsker å være Java-utvikler. Kurset er designet for å gi deg et forsprang i Java-programmering og trene deg for både kjerne- og avanserte Java-konsepter sammen med forskjellige Java-rammer som Hibernate & Spring.

Hvis du kommer over noen spørsmål, kan du stille alle spørsmålene dine i kommentarfeltet i 'Transient in Java', og teamet vårt svarer gjerne.