Это потому, что Java выполняет статический раздел в порядке его объявления. В вашем случае последовательность
Когда выполняется # 1, объект obj все еще не инициализирован, поэтому он печатает ноль. Попробуйте следующее, и вы увидите разницу:
class MyClass {
private static final Object obj = new Object();
private static MyClass myClass = new MyClass();
public MyClass() {
System.out.println(obj); // will print null once
}
}
Вообще говоря, лучше избегать такой конструкции все вместе. Если вы пытаетесь создать синглтон, вот как должен выглядеть этот фрагмент кода:
class MyClass {
private static final MyClass myClass = new MyClass();
private Object obj = new Object();
private MyClass() {
System.out.println(obj); // will print null once
}
}
Сериализация . Дефляция. Сочинение. Хранение. Замораживание. Сохранение.
Маршаллинг представляет собой аналогичную концепцию, но может быть поучительно узнать о различиях. .
В объективном-c сериализация известна как архивирование .
Python соленья .
Сериализация - это процесс преобразования дерева DOM во что-то для вывода (текст, файл и т. Д.).
Я слышал, что композиция, генерация и конструкция как термины для фактического «построения» нового дерева DOM.
Анализ, также называемый загрузка , является синонимом десериализации , т. е. преобразования произвольного ввод в легко читаемую / управляемую форму.
Следовательно, вы не можете создать новый документ с помощью парсера DOM. Однако полные реализации DOM содержат механизмы для генерации (или конструкции ) и сериализации (или сохранения ) XML-документов.