Maaari bang magkaroon ng parehong serialVersionUID ang dalawang klase?
Maaari bang magkaroon ng parehong serialVersionUID ang dalawang klase?

Video: Maaari bang magkaroon ng parehong serialVersionUID ang dalawang klase?

Video: Maaari bang magkaroon ng parehong serialVersionUID ang dalawang klase?
Video: PWEDE BANG MAGKAROON NG KASULATAN SA BARANGAY NA WALA NANG PAKIALAMANAN ANG MAG-ASAWA? 2024, Nobyembre
Anonim

Oo, posible iyon dalawa magkaiba maaaring magkaroon ng mga klase ang parehong serialVersionUID halaga. Ngunit mas gusto mong gumamit ng natatangi para sa bawat isa klase . Gumamit din ng 8 hanggang 10 digit na mas mahaba ang isa sa halip na 1 lang bilang halaga.

Dahil dito, ano ang serialVersionUID?

Sa madaling salita, ang serialVersionUID ay isang natatanging identifier para sa mga Serializable na klase. Ginagamit ito sa panahon ng deserialization ng isang bagay, upang matiyak na ang isang na-load na klase ay tugma sa serialized na bagay.

Gayundin, ano ang gamit ng serialVersionUID 1l? Ang serialVersionUID ay isang unibersal na identifier ng bersyon para sa isang Serializable na klase. Deserialization gamit ang numerong ito upang matiyak na ang isang na-load na klase ay eksaktong tumutugma sa isang serialized na bagay. Kung walang nakitang tugma, itatapon ang isang InvalidClassException.

Katulad nito, ito ay tinatanong, kailangan ba ng serialVersionUID?

ang default serialVersionUID ang computation ay lubhang sensitibo sa mga detalye ng klase na maaaring mag-iba depende sa mga pagpapatupad ng compiler, at pwede kaya nagreresulta sa hindi inaasahang InvalidClassException s sa panahon ng deserialization. Samakatuwid, dapat mong ipahayag serialVersionUID dahil binibigyan tayo nito ng higit na kontrol.

Ano ang papel ng serialVersionUID sa proseso ng serialization?

Sa panahon ng serialization , nag-uugnay ang java runtime ng numero ng bersyon sa bawat isa serializable klase. Tumawag ang numerong ito serialVersionUID , na ginagamit sa panahon ng deserialization para i-verify na ang nagpadala at tumatanggap ng a serialized object ay nag-load ng mga klase para sa object na iyon na katugma sa paggalang sa serialization.

Inirerekumendang: