Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
А самую большую проблему сериализации так и не указали: уязвимость удалённого выполнения произвольного кода, которую для того-же EJB даже исправить невозможно.
уязвимость удалённого выполнения произвольного кода— а в чем уязвимость? не понял Вашу мысль
наследуется от java.io.Serializable и получает некую неявную магию
Она ставит себе задачу уметь сериализовать любой произвольный граф объектов
а потом пришёл другой и добавил в него
а потом пришёл другой и добавил в него
Возможность сериализовать граф с циклами — ошибка? Нуок.
Слово pattern будет введено в язык в независимости от появления новой сериализации, когда появится паттерн-матчинг.
private open pattern serialize(InternalState is)
@Serializer
public pattern Range(int lo, int hi) {
lo = this.lo;
hi = this.hi;
}
Range range = new Range(0, 10);
let Range(lo, hi) = range;
System.out.println("low=" + lo + ", high=" + hi);
switch (range) {
case Range(lo, hi) -> System.out.println("low=" + lo + ", high=" + hi);
...
}А чем не подходит схема с явным конструктором, принимающим хранилище-источник, и методом serialize, принимающим хранилище-приёмник?
В Java может появиться новая сериализация