Prechodné v prostredí Java: Čo, prečo a ako to funguje?



Transient in Java je kľúčové slovo, ktoré sa používa pri serializácii. Používa sa, ak nechcete uložiť hodnotu premennej do súboru

Prechodné v Jave sa používa na označenie členskej premennej, ktorá sa nemá serializovať, keď sa pretrváva v prúdoch bajtov. Toto kľúčové slovo hrá dôležitú úlohu pri plnení bezpečnostných obmedzení v . Ignoruje pôvodnú hodnotu a premenná a uloží predvolenú hodnotu tejto premennej .

Nasledujú témy, o ktorých sa bude v tomto článku diskutovať:





Začnime!

Čo je prechodné kľúčové slovo v Jave?

Prechodný je v podstate modifikátor premenných, ktorý sa používa na serializáciu. Čo je to serializácia? Serializácia v Jave je mechanizmus, ktorý sa používa na prevod stavu objektu do bajtového toku. Ak v čase serializácie nechcete uložiť hodnotu konkrétnej premennej do súboru, použite prechodné kľúčové slovo.



Syntax :

súkromné ​​prechodné

alebo

prechodný súkromný

V prípade, že definujete akýkoľvek dátový člen ako prechodný, nebude sa serializovať. Je to preto, lebo každé pole označené ako prechodný nebudú serializované. Toto prechodné kľúčové slovo môžete použiť na označenie Java Virtual Machine (JVM), že prechodná premenná nie je súčasťou trvalého stavu objektu.



Napíšeme veľmi základný príklad, ktorý objasní prechodné procesy v Jave.

trieda Demo implementuje Serializovateľné {// Nastaviť ľudský prechodný súkromný prechodný reťazec Ľudský prechodný int vek // serializovať ostatné polia súkromný Názov reťazca, adresa Dátum dátum // zvyšok kódu}

Tu som vytvoril triedu s názvom Demo, ktorá implementuje Serializable. Vekový dátový člen triedy Demo je deklarovaný ako prechodný, jeho hodnota nebude serializovaná. Ale ak deserializujete objekt, dostanete predvolenú hodnotu pre prechodnú premennú.

Prečo sa používa prechodný modifikátor?

Prechodné v jazyku Java sa používa na označenie toho, že pole by nemalo byť súčasťou procesu serializácie.

Modifikátor Transient je možné použiť na členské premenné triedy, aby sa vypla serializácia týchto členských premenných. Každé pole, ktoré je označené ako prechodné, nebude serializované. Toto prechodné kľúčové slovo môžete použiť na označenie súboru Virtuálny stroj Java že prechodná premenná nie je súčasťou perzistentného stavu objektu.

Túto otázku by vám možno bežala v hlave. Kedy použiť tento prechodný jav v Jave?

Odpoveď by bola:

  1. Toto prechodné kľúčové slovo môžete použiť, ak máte polia odvodené / vypočítané z iných polí v inštancii triedy.
  2. Použite ho s poľami, ktoré nie sú vo vnútri JDK alebo v kóde aplikácie označené ako „Serializovateľné“. Je to preto, že na triedy, ktoré neimplementujú rozhranie Serializable, sa odkazuje v rámci ktorejkoľvek triedy, ktorá sa dá serializovať, a nemožno ich serializovať, čo spôsobí výnimku „java.io.NotSerializableException“. Upozorňujeme, že tieto neserializovateľné odkazy by mali byť predtým označené ako „prechodné“ serializácia hlavnej triedy.

Ako používať kľúčové slovo Transient with Final?

Prechodné v Jave je možné použiť s konečné kľúčové slovo pretože sa správa odlišne v rôznych situáciách, čo vo všeobecnosti nie je prípad iných kľúčové slová v Jave .

čo je funkcia v sql

Zoznámte sa s týmto príkladom.

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')

Keď teraz znova spustíte serializáciu (zápis / čítanie), dostanete tento výstup:

Kenny
Silný
heslo
nulový

Je to preto, že „prechod“ sme označili ako prechodný a toto pole bolo stále serializované. Pre podobné vyhlásenie nebol zámok serializovaný. Dôvodom je, že kedykoľvek sa akékoľvek konečné pole vyhodnotí ako konštantný výraz,je serializovaný JVM ignorujúcim prítomnosť prechodného kľúčového slova.

Rozdiel medzi prechodným a prchavým

Toto je dôležitá otázka položená počas a . Aký je rozdiel medzi prechodným a nestálym kľúčovým slovom v Jave?

Prchavé a Prechodné sú dve úplne odlišné kľúčové slová, ktoré sa používajú v . Počas serializácie objektu Java sa používa kľúčové slovo Transient. Volatile súvisí s viditeľnosťou premenných upravených viacerými vláknami.

Jedinou podobnosťou medzi týmito kľúčovými slovami je, že sú to menej používané alebo neobvyklé kľúčové slová a nie také populárne ako verejné, statické alebo konečné.

Týmto sa dostávame na koniec tohto článku, kde sme sa dozvedeli o prechodných javoch v Jave. Dúfam, že máte prehľad o všetkom, čo bolo s vami zdieľané v tomto tutoriále.

Ak sa vám tento článok o „Prechodnom v Jave“ zdá relevantný, pozrite si dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete.

Sme tu, aby sme vám pomohli na každom kroku na vašej ceste. Okrem otázok týkajúcich sa tohto rozhovoru pre jazyk java vymyslíme učebný plán určený pre študentov a profesionálov, ktorí chcú byť vývojármi v prostredí Java. Kurz je navrhnutý tak, aby vám dal náskok v programovaní v Jave a naučil vás základné aj pokročilé koncepty Javy spolu s rôznymi rámcami Java, ako je Hibernate & Spring.

Ak narazíte na akékoľvek otázky, neváhajte sa ich opýtať v sekcii komentárov „Prechodné v Jave“ a náš tím vám rád odpovie.