ПредишенСледващото

Преходно (чуждестранно) - клас полета модифициращите в Java. Маркирано този модификатор полета са записани в байт поток при прилагане стандартен алгоритъм сериализация. Когато десериализиране обект, такива полета се инициализират с тяхната стойност по подразбиране.

Има няколко ситуации, в които искате да използвате този модификатор. Ето някои от тях.

  • Клас Clazz област. белязан маркер интерфейс Serializable. е Serializable обект клас (например, java.lang.Thread или java.sql.ResultSet). В този случай, опит да се сериализира обект клас Clazz java.io.NotSerializableException да доведе до изключване. За правилно сериализация трябва да бъдат маркирани neserailizuemoe поле като преходно.
  • стойност клас поле може да се изчислява след deserialization въз основа на стойностите на други области. Пример за това е обект, който резултатите от вътрешните изчислителни кеш. В този случай, от съображения за пестене на време и трафик че има смисъл да се въздържат от област сериализация.
  • Стойността на областта е валидна само в настоящия контекст. Например, една област, която има връзка с майчиното растение е понякога си струва да маркира като преходно.
  • Някои полета не могат да бъдат сериализирани, от съображения за сигурност, например, полето за парола от един клас на потребителя.

Защото поле статичен клас не е поредица, няма смисъл едновременното използване на модификатори на статични и преходно. Въпреки това, компилаторът смята комбинацията вярна.

Ако използвате вашия собствен алгоритъм сериализация (изпълнение Externalizable UI) логика е описан от възложителя, така че в този случай, преходно модификатора е безполезна.

Местна променлива не съхранява състоянието на обекта и не участват в сериализация, така че не могат да бъдат етикетирани модификатор преходно.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!