Мазмуну:

Эмне үчүн serialVersionUID кошобуз?
Эмне үчүн serialVersionUID кошобуз?

Video: Эмне үчүн serialVersionUID кошобуз?

Video: Эмне үчүн serialVersionUID кошобуз?
Video: Эмне үчүн китеп окуу керек? (Сиз билбеген пайдалар) 2024, Ноябрь
Anonim

Эмнеге андай биз SerialVersionUID колдонобуз : SerialVersionUID болуп саналат Сериялаштыруу учурунда ошол эле класс (сериялаштыруу процессинде колдонулган) болуп саналат жүктөлгөн. Сериялаштыруу: Сериялаштыруу учурунда, ар бир объект жөнөтүүчү тарап JVM менен болот Уникалдуу идентификаторду сактоо.

Андан тышкары, эмне үчүн serialVersionUID колдонобуз?

Жөнөкөй сөз менен айтканда, serialVersionUID Serializable класстары үчүн уникалдуу идентификатор болуп саналат. Бул колдонулган объектти сериядан чыгаруу учурунда, жүктөлгөн класстын серияланган объект менен шайкеш келишин камсыз кылуу. Эгерде эч кандай дал келген класс табылбаса, InvalidClassException ыргытылат.

Жогорудагыдан тышкары, serialVersionUID керекпи? демейки serialVersionUID эсептөө компилятордун ишке ашырылышына жараша өзгөрүшү мүмкүн болгон класстын деталдарына өтө сезгич жана болот Ошентип, сериядан чыгаруу учурунда күтүлбөгөн InvalidClassException пайда болот. Ошондуктан, сиз жарыялашыңыз керек serialVersionUID анткени ал бизге көбүрөөк көзөмөлдү берет.

Мындан тышкары, serialVersionUID 1l эмнеге колдонулат?

The serialVersionUID Serializable классы үчүн универсалдуу версия идентификатору. Сериядан чыгаруу колдонот бул сан жүктөлгөн класстын серияланган объектке дал келишин камсыз кылуу үчүн. Эгерде эч кандай дал келбесе, анда InvalidClassException ыргытылат.

serialVersionUID деген эмнени билдирет?

Java: serialVersionUID кантип түзүүгө болот

  1. serialver буйругу. JDKда serialVersionUIDди автоматтык түрдө түзүү үчүн “serialver” деп аталган куруу буйругу бар.
  2. Eclispe IDE колдонуңуз. Эгер сиз Eclipse колдонуп жатсаңыз, чычканыңызды сериалдаштыруу классынын үстүнө жылдырыңыз.
  3. Сиз каалаган нерсе. Жөн гана өзүңүздүн serialVersionUID көрсөтүңүз, санды бериңиз жана артына "L" тамгасын кошуңуз.

Сунушталууда: