Voorbijgaand in Java: wat, waarom en hoe het werkt?



Transient in Java is een trefwoord dat wordt gebruikt bij serialisatie. Het wordt gebruikt als u de waarde van een variabele niet in een bestand wilt opslaan

Transient in Java wordt gebruikt om de lidvariabele te markeren die niet moet worden geserialiseerd wanneer deze wordt bewaard in streams van bytes. Dit trefwoord speelt een belangrijke rol om te voldoen aan beveiligingsbeperkingen in . Het negeert de oorspronkelijke waarde van a variabele en slaat de standaardwaarde van die variabele op .

Hieronder volgen de onderwerpen die in dit artikel worden besproken:





Laten we beginnen!

Wat is een tijdelijk trefwoord in Java?

Transient is in feite een variabelenmodificator die wordt gebruikt voor serialisering. Wat is serialisering nu? Serialisatie in Java is een mechanisme dat wordt gebruikt om de toestand van een object om te zetten in een bytestroom. Als u op het moment van serialisering de waarde van een bepaalde variabele niet in een bestand wilt opslaan, gebruikt u het tijdelijke trefwoord.



Syntaxis :

privé voorbijgaand

of

voorbijgaande privé

Als u een gegevenslid als tijdelijk definieert, wordt het niet geserialiseerd. Dit komt doordat elk veld is gemarkeerd als voorbijgaand wordt niet geserialiseerd. U kunt dit tijdelijke sleutelwoord gebruiken om de Java Virtual Machine (JVM) aan te geven dat de tijdelijke variabele geen deel uitmaakt van de permanente status van een object.



Laten we een heel eenvoudig voorbeeld schrijven om inzicht te krijgen in Transient in Java.

hoe je een pakket aanmaakt in java
klasse Demo implementeert Serialiseerbaar {// Mens voorbijgaand privé tijdelijk maken String menselijk voorbijgaand int leeftijd // serialiseren andere velden privé Tekenreeks naam, adres Datum dob // rest van de code}

Hier heb ik een klasse gemaakt met de naam Demo die Serializable implementeert. Het lid van de leeftijdsgegevens van de klasse Demo wordt gedeclareerd als tijdelijk, de waarde wordt niet geserialiseerd. Maar als je het object deserialiseert, u krijgt de standaardwaarde voor een tijdelijke variabele.

Waarom wordt Transient Modifier gebruikt?

Transient in Java wordt gebruikt om aan te geven dat een veld geen deel mag uitmaken van het serialisatieproces.

De modifier Transient kan worden toegepast op lidvariabelen van een klasse om serialisatie op deze lidvariabelen uit te schakelen. Elk veld dat is gemarkeerd als tijdelijk, wordt niet geserialiseerd. U kunt dit tijdelijke trefwoord gebruiken om het Java virtuele machine dat de tijdelijke variabele geen deel uitmaakt van de persistente toestand van een object.

Misschien heb je deze vraag in je hoofd. Wanneer moet u deze tijdelijke in Java gebruiken?

Het antwoord hierop zou zijn:

  1. U kunt dit trefwoord Transient gebruiken als u velden heeft die zijn afgeleid / berekend uit andere velden binnen de instantie van een klasse.
  2. Gebruik het met velden die niet zijn gemarkeerd als 'Serializable' in JDK of applicatiecode. Dit komt doordat klassen die geen Serializable-interface implementeren, worden verwezen binnen elke serialiseerbare klasse en niet kunnen worden geserialiseerd en de uitzondering 'java.io.NotSerializableException' veroorzaken. Merk op dat deze niet-serialiseerbare referenties eerder als 'tijdelijk' moeten worden gemarkeerd serialiseren van de hoofdklasse.

Hoe Transient te gebruiken met Final-trefwoord?

Transient in Java kan worden gebruikt met de laatste trefwoord omdat het zich anders gedraagt ​​in verschillende situaties, wat in het algemeen niet het geval is bij andere trefwoorden in Java .

Bekijk dit voorbeeld eens.

c versus c ++ versus java
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')

Als u de serialisering (schrijven / lezen) nu opnieuw uitvoert, krijgt u deze uitvoer:

Kenny
Sterk
wachtwoord
nul

Dit komt omdat we de 'pass' naar transient hebben gemarkeerd, en toch was dat veld geserialiseerd. Voor een vergelijkbare aangifte was het slot niet geserialiseerd. De reden is dat wanneer een laatste veld wordt geëvalueerd als een constante uitdrukking,het is geserialiseerd door de JVM en negeert de aanwezigheid van een tijdelijk trefwoord.

wat is een naamruimte c ++

Verschil tussen voorbijgaand en vluchtig

Dit is een belangrijke vraag die gesteld wordt tijdens een . Wat is het verschil tussen tijdelijk en vluchtig trefwoord in Java?

Vluchtig en Transient zijn twee totaal verschillende zoekwoorden die worden gebruikt in . Een tijdelijk trefwoord wordt gebruikt tijdens de serialisering van een Java-object. Vluchtig is gerelateerd aan de zichtbaarheid van variabelen die zijn gewijzigd door meerdere threads.

De enige overeenkomst tussen deze zoekwoorden is dat het minder gebruikte of ongebruikelijke zoekwoorden zijn en niet zo populair als openbaar, statisch of definitief.

Dit brengt ons bij het einde van dit artikel waar we hebben geleerd over Transient in Java. Ik hoop dat je duidelijk bent met alles wat in deze tutorial met je is gedeeld.

Als je dit artikel over 'Transient in Java' relevant vond, bekijk dan het een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld.

We zijn hier om je te helpen bij elke stap op je reis, om naast deze Java-interviewvragen ook een curriculum te bedenken dat is ontworpen voor studenten en professionals die een Java-ontwikkelaar willen worden. De cursus is bedoeld om u een voorsprong te geven in het programmeren van Java en u te trainen in zowel kern- als geavanceerde Java-concepten, samen met verschillende Java-frameworks zoals Hibernate & Spring.

Mocht u nog vragen tegenkomen, stel dan gerust al uw vragen in de commentarensectie van 'Transient in Java' en ons team zal u graag beantwoorden.