Почему конструкторы, возвращаемые ReflectionFactor.newConstructorForSerialization (), называются munged? - PullRequest
2 голосов
/ 15 сентября 2009

В Java можно создавать экземпляры класса без фактического вызова объявленного конструктора, получая его с помощью sun.reflect.ReflectionFactor.newConstructorForSerialization ().

Насколько я знаю, этот специальный конструктор называется "Munged". Откуда этот термин? Я не смог найти его ни в одном словаре.

Ответы [ 3 ]

2 голосов
/ 15 сентября 2009

Я полагаю, что он используется в следующем смысле, потому что вы каким-то образом обходите / подделываете обычный цикл создания объекта, пропуская конструктор:

(вычисления) изменить или подделать электронную почту (или другой интернет) адрес, так что не может быть автоматически собрана, особенно чтобы избежать спам-ботов

(вычисления) изменить файл; делать безвозвратные изменения, уничтожить, затемнять

Оба определения взяты из WordNet Принстона.

0 голосов
/ 15 сентября 2009

Кроме того, классы из пакета sun. * Не должны использоваться напрямую, поскольку они могут быть недоступны в других реализациях JDK (поэтому этот «конструктор» может быть не определен с другим JDK).

0 голосов
/ 15 сентября 2009

Из викисловаря:

Для преобразования данных в неопределенное или необъяснимым образом.

Конструктор для десериализации [необязательно] не вызывает конструктор суперкласса и не является частью исходного класса. С точки зрения спецификации JVM, это незаконно - ложная версия легального конструктора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...