Эки класста бирдей serialVersionUID болушу мүмкүнбү?
Эки класста бирдей serialVersionUID болушу мүмкүнбү?

Video: Эки класста бирдей serialVersionUID болушу мүмкүнбү?

Video: Эки класста бирдей serialVersionUID болушу мүмкүнбү?
Video: Бирдей кошулуучуларга карата маселелер | Бирдей кошулуучулар | Башталгыч математика | Хан Академия 2024, Апрель
Anonim

Ооба, ошондой болушу мүмкүн эки башкача класстар болушу мүмкүн the ошол эле serialVersionUID баалуулук. Бирок ар бири үчүн уникалдуу колдонууну артык көрүшөт класс . Ошондой эле маани катары 1 эмес, 8ден 10го чейин узунураак бир цифраны колдонуңуз.

Демек, serialVersionUID деген эмне?

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

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

Ошо сыяктуу эле, суралат: serialVersionUID керекпи?

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

Сериялаштыруу процессинде serialVersionUIDдин ролу кандай?

учурунда сериялаштыруу , Java Runtime ар бири менен версия номерин байланыштырат сериялаштырылышы мүмкүн класс. Ушул номерге чалды serialVersionUID , ал жөнөтүүчү жана кабыл алуучу а сериялаштырылган объектиде ошол объект үчүн шайкеш келген класстар жүктөлгөн сериялаштыруу.

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