Laikinas „Java“: kas, kodėl ir kaip tai veikia?



Laikinas „Java“ yra raktinis žodis, kuris naudojamas serializuojant. Jis naudojamas, kai nenorite išsaugoti kintamojo vertės faile

„Transient“ sistemoje „Java“ naudojama pažymėti kintamąjį, kuris nebus nuoseklus, kai jis tęsiamas iki baitų srautų. Šis raktinis žodis vaidina svarbų vaidmenį siekiant patenkinti saugumo apribojimus . Nepaisoma pradinės a vertės kintamasis ir išsaugo numatytąją to kintamojo vertę .

Toliau pateikiamos temos, kurios bus aptariamos šiame straipsnyje:





Pradėkime!

Kas yra laikinas raktinis žodis „Java“?

„Transient“ iš esmės yra kintamųjų modifikatorius, naudojamas serializavimui. Kas yra „Serialization“? Serializavimas „Java“ yra mechanizmas, naudojamas objekto būseną paverčiant baitų srautu. Serijavimo metu, jei nenorite išsaugoti konkretaus kintamojo vertės faile, naudokite trumpalaikį raktinį žodį.



Sintaksė :

privatus trumpalaikis

arba

trumpalaikis privatus

Jei bet kurį duomenų narį apibūdinsite kaip laikiną, jis nebus serijinis. Taip yra todėl, kad kiekvienas laukas pažymėtas kaip trumpalaikis nebus serijinis. Šį trumpalaikį raktinį žodį galite naudoti norėdami nurodyti „Java“ virtualiąją mašiną (JVM), kad laikinasis kintamasis nėra nuolatinės objekto būsenos dalis.



Parašykime labai paprastą pavyzdį, kad suprastume apie „Transient“ „Java“.

„Class Demo“ įgyvendina „Serializable“ {// žmogaus laikino privataus pereinamojo laiko eilutės padarymas žmogaus pereinamojo laikotarpio int amžių // kitų laukų nuoseklus eilutės pavadinimas, adresas data dob // likęs kodas}

Čia aš sukūriau klasę Demo, kuri įgyvendina Serializable. Demo klasės amžiaus duomenų narys yra deklaruojamas kaip laikinas, jo vertė nebus serijinė. Bet jei jūs deserializuojate objektą, gausite numatytąją pereinamojo kintamojo vertę.

Kodėl naudojamas pereinamasis modifikatorius?

Laikinas „Java“ yra naudojamas nurodyti, kad laukas neturėtų būti serijos proceso dalis.

sujungti rūšiuoti c ++ įgyvendinimą

Modifikatorius „Transient“ gali būti taikomas klasės narių kintamiesiems, kad būtų išjungtas šių narių kintamųjų serizavimas. Kiekvienas laukas, pažymėtas kaip trumpalaikis, nebus nuoseklus. Galite naudoti šį laikiną raktinį žodį, norėdami nurodyti „Java“ virtuali mašina kad trumpalaikis kintamasis nėra nuolatinės objekto būsenos dalis.

Jums gali kilti šis klausimas galvoje. Kada naudoti šį laikiną „Java“?

Atsakymas į tai būtų:

  1. Šį laikiną raktinį žodį galite naudoti, kai turite laukų, kurie yra išvestiniai / apskaičiuojami iš kitų lauko egzempliorių laukų.
  2. Naudokite jį su laukais, kurie JDK ar programos kode nėra pažymėti kaip „Serializuojami“. Taip yra todėl, kad klasėse, kurios neįdiegia „Serializable“ sąsajos, nurodomos bet kurios serializuojamos klasės, jų negalima serializuoti ir bus išimtis „java.io.NotSerializableException“. Atminkite, kad šios neserializuojamos nuorodos prieš tai turėtų būti pažymėtos kaip „trumpalaikės“ serijinis pagrindinės klasės.

Kaip naudoti „Transient“ su galutiniu raktiniu žodžiu?

„Java“ laikinas gali būti naudojamas su galutinis raktinis žodis nes skirtingose ​​situacijose elgiasi nevienodai, o tai paprastai netinka kitoms raktinius žodžius „Java“ .

Pažvelkite į šį pavyzdį.

privati ​​eilutė firstName privati ​​eilutė pavardė // galutinis laukas 1 viešas galutinis trumpalaikis String pass = 'slaptažodis' // galutinis laukas 2 viešas galutinis trumpalaikis užrakto užraktas = Lock.getLock ('demonstracinė versija')

Dabar, kai dar kartą paleisite serializavimą (rašymą / skaitymą), gausite šią išvestį:

Kenny
Stiprus
Slaptažodis
niekinis

Taip yra todėl, kad mes pažymėjome pereinamąjį „praeiti“, ir vis tiek tas laukas buvo serijinis. Panašiai deklaracijai užraktas nebuvo serijinis. Priežastis yra ta, kad kai kuris nors galutinis laukas vertinamas kaip pastovi išraiška,JVM serijiniu būdu ignoruoja trumpalaikį raktinį žodį.

Skirtumas tarp trumpalaikio ir nepastovaus

Tai yra svarbus klausimas, užduotas per . Kuo skiriasi trumpalaikis ir nepastovus „Java“ raktinis žodis?

Nepastovus ir Transient yra du visiškai skirtingi raktiniai žodžiai, kurie naudojami . Serializuojant „Java“ objektą naudojamas laikinas raktinis žodis. Nepastovus yra susijęs su kintamųjų, pakeistų keliais siūlais, matomumu.

Vienintelis šių raktinių žodžių panašumas yra tas, kad jie yra mažiau naudojami ar neįprasti raktiniai žodžiai ir nėra tokie populiarūs kaip viešieji, statiniai ar galutiniai.

Tai atveda prie šio straipsnio pabaigos, kur mes sužinojome apie „Java“ laikiną. Tikimės, kad jums aišku viskas, kas su jumis buvo pasidalinta šioje pamokoje.

Jei jums pasirodė, kad šis straipsnis yra „Trumpalaikis„ Java ““, patikrinkite patikima internetinė mokymosi įmonė, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą, pasklido po visą pasaulį.

Mes esame čia, kad padėtume jums kiekviename jūsų kelionės žingsnyje, kad taptume be šių „Java“ interviu klausimų, mes parengėme mokymo programą, skirtą studentams ir specialistams, norintiems būti „Java“ kūrėjais. Kursas sukurtas tam, kad galėtumėte pradėti žvalgytis į „Java“ programavimą ir išmokyti pagrindinių bei pažangių „Java“ koncepcijų kartu su įvairiomis „Java“ sistemomis, tokiomis kaip „Hibernate & Spring“.

Jei kiltų klausimų, nedvejodami užduokite visus klausimus komentarų skiltyje „Trumpalaikis„ Java ““ ir mūsų komanda mielai atsakys.