Voiko kahdella luokalla olla sama serialVersionUID?
Voiko kahdella luokalla olla sama serialVersionUID?

Video: Voiko kahdella luokalla olla sama serialVersionUID?

Video: Voiko kahdella luokalla olla sama serialVersionUID?
Video: Eino ja Aapeli - Mä Voisin Olla Se 2024, Huhtikuu
Anonim

Kyllä, se on mahdollista kaksi eri luokilla voi olla the sama serialVersionUID arvo. Mutta mieluummin käytä yksilöllistä jokaiselle luokkaa . Käytä arvona myös 8–10 numeroa pidempää numeroa 1:n sijaan.

Mikä siis on serialVersionUID?

Yksinkertaisesti sanottuna serialVersionUID on ainutlaatuinen tunniste serialoitaville luokille. Tätä käytetään objektin deserialisoinnin aikana sen varmistamiseksi, että ladattu luokka on yhteensopiva sarjoitetun objektin kanssa.

Samoin, mitä hyötyä serialVersionUID 1l:stä on? The serialVersionUID on serialisoitavan luokan yleinen version tunniste. Deserialisointi käyttää tämä numero varmistaaksesi, että ladattu luokka vastaa täsmälleen serialisoitua objektia. Jos vastaavuutta ei löydy, InvalidClassException heitetään.

Vastaavasti kysytään, tarvitaanko serialVersionUID?

oletusarvo serialVersionUID laskenta on erittäin herkkä luokan yksityiskohdille, jotka voivat vaihdella kääntäjien toteutuksista riippuen, ja voi Tämä johtaa odottamattomiin InvalidClassException -symboleihin sarjoituksessa. Siksi sinun on ilmoitettava serialVersionUID koska se antaa meille enemmän hallintaa.

Mikä on serialVersionUID:n rooli serialisointiprosessissa?

Aikana sarjoittaminen , Java Runtime liittää jokaiseen versionumeron sarjoitettavissa luokkaa. Tästä numerosta soitettiin serialVersionUID , jota käytetään sarjoituksessa varmistamaan, että a.:n lähettäjä ja vastaanottaja sarjoitettu objekti on ladannut tälle objektille luokkia, jotka ovat yhteensopivia suhteen sarjoittaminen.

Suositeltava: