Хоёр анги ижил serialVersionUID-тэй байж болох уу?
Хоёр анги ижил serialVersionUID-тэй байж болох уу?

Видео: Хоёр анги ижил serialVersionUID-тэй байж болох уу?

Видео: Хоёр анги ижил serialVersionUID-тэй байж болох уу?
Видео: unnamed 2024, Арванхоёрдугаар сар
Anonim

Тийм ээ, энэ нь боломжтой юм хоёр өөр ангиуд байж болно нь ижил serialVersionUID үнэ цэнэ. Гэхдээ тус бүрт өвөрмөц нэгийг ашиглахыг илүүд үздэг анги . Мөн утга болгон 1-ээс илүү 8-10 оронтой урт нэгийг ашиглана.

Тиймээс serialVersionUID гэж юу вэ?

Энгийнээр хэлбэл, serialVersionUID нь цувралаар ангилагдах боломжтой ангиудын өвөрмөц танигч юм. Энэ нь ачаалагдсан анги нь цуваажсан объекттой нийцэж байгаа эсэхийг баталгаажуулахын тулд объектыг цувралаас гаргах үед ашиглагддаг.

Үүний нэгэн адил serialVersionUID 1l-ийн хэрэглээ юу вэ? The serialVersionUID нь Serializable классын бүх нийтийн хувилбар танигч юм. Цувралгүй болгох ашигладаг ачаалагдсан анги нь цуваажсан объекттой яг таарч байгаа эсэхийг баталгаажуулахын тулд энэ дугаар. Хэрэв тохирох зүйл олдохгүй бол InvalidClassException хаяглагдсан болно.

Үүнтэй адилаар, serialVersionUID хэрэгтэй юу?

анхдагч serialVersionUID Тооцоолол нь хөрвүүлэгчийн хэрэгжилтээс хамаарч өөр өөр байж болох ангийн дэлгэрэнгүй мэдээлэлд маш мэдрэмтгий байдаг ба чадна Иймээс цуваа салгах үед гэнэтийн InvalidClassException үүснэ. Тиймээс та мэдүүлэх ёстой serialVersionUID Учир нь энэ нь бидэнд илүү их хяналтыг өгдөг.

Цуваачлалын процесст serialVersionUID ямар үүрэг гүйцэтгэдэг вэ?

үед цуваа болгох , java runtime нь хувилбарын дугаарыг тус бүртэй холбодог цуваа болгох боломжтой анги. Энэ дугаар руу залгасан serialVersionUID , энэ нь илгээгч болон хүлээн авагч нь a цуваа болсон объект нь тухайн объектод тохирох ангиллыг ачаалсан байна цуваа болгох.

Зөвлөмж болгож буй: