Სარჩევი:

რატომ ვამატებთ serialVersionUID?
რატომ ვამატებთ serialVersionUID?

ვიდეო: რატომ ვამატებთ serialVersionUID?

ვიდეო: რატომ ვამატებთ serialVersionUID?
ვიდეო: SerialVersionUID And Versioning in Java Serialization 2024, ნოემბერი
Anonim

Რატომ ასე ჩვენ ვიყენებთ SerialVersionUID : SerialVersionUID არის გამოიყენება იმის უზრუნველსაყოფად, რომ დესერიალიზაციის დროს იგივე კლასი (რომელიც გამოყენებული იყო სერიული პროცესის დროს) არის დატვირთული. სერიალიზაცია: სერიალიზაციის დროს, ყველა ობიექტის გამგზავნი JVM მხარეს ნება შეინახეთ უნიკალური იდენტიფიკატორი.

გარდა ამისა, რატომ ვიყენებთ serialVersionUID?

მარტივად რომ ვთქვათ, serialVersionUID არის უნიკალური იდენტიფიკატორი Serializable კლასებისთვის. Ეს არის გამოყენებული ობიექტის დესერიალიზაციის დროს, იმის უზრუნველსაყოფად, რომ დატვირთული კლასი თავსებადია სერიულ ობიექტთან. თუ შესატყვისი კლასი არ მოიძებნა, იგზავნება InvalidClassException.

ზემოაღნიშნულის გარდა, საჭიროა თუ არა serialVersionUID? ნაგულისხმევი serialVersionUID გამოთვლა ძალიან მგრძნობიარეა კლასის დეტალების მიმართ, რომლებიც შეიძლება განსხვავდებოდეს შემდგენელის დანერგვის მიხედვით და შეუძლია ამგვარად, იწვევს მოულოდნელ InvalidClassException-ებს დესერიალიზაციის დროს. ამიტომ, თქვენ უნდა განაცხადოთ serialVersionUID რადგან ეს გვაძლევს მეტ კონტროლს.

ამას გარდა, რა სარგებლობა მოაქვს serialVersionUID 1l-ს?

The serialVersionUID არის უნივერსალური ვერსიის იდენტიფიკატორი Serializable კლასისთვის. დესერიალიზაცია იყენებს ეს რიცხვი იმის უზრუნველსაყოფად, რომ დატვირთული კლასი ზუსტად შეესაბამება სერიულ ობიექტს. თუ შესატყვისი ვერ მოიძებნა, მაშინ იყრება InvalidClassException.

რა იგულისხმება serialVersionUID-ში?

Java: როგორ გენერირება serialVersionUID

  1. სერიული ბრძანება. JDK-ს აქვს build-ის ბრძანება სახელწოდებით “serialver”, რომ ავტომატურად გენერირება serialVersionUID.
  2. გამოიყენეთ Eclispe IDE. თუ იყენებთ Eclipse-ს, გადაიტანეთ მაუსი სერიალიზაციის კლასზე.
  3. რაც გინდა. უბრალოდ მიუთითეთ თქვენი საკუთარი serialVersionUID, მიეცით ნომერი და დაუმატეთ "L" უკან.

გირჩევთ: