Why are the constructors returned by the ReflectionFactor.newConstructorForSerialization () function called "munged"?

In Java, it is possible to instantiate a class without actually calling the declared constructor by retrieving it via sun.reflect.ReflectionFactor.newConstructorForSerialization ().

As far as I know, this special constructor is called "munged". Where does this term come from? I couldn't find it in any dictionary.

+2


source to share


3 answers


I believe it was used as in the following sense, because you are somehow bypassing / forging the normal object creation loop by skipping the constructor:

(calculations) modify or fake an email (or other internet address) so that it cannot be collected automatically, especially to avoid spam bots

(computation) modify the file; make irrevocable changes, destruction, blackout



Both definitions are taken from Princeton WordNet.

+2


source


From wiktionary:

To convert data to undefined or in an inexplicable way.



The constructor to deserialize does not [necessarily] call the superclass's constructor and is not part of the original class. In terms of the JVM spec, this is illegal - a modified version of the legal constructor.

0


source


In addition, the classes from the sun. * should not be used directly as they might not be available in other JDK implementations (so this "constructor" might be undefined with another JDK).

0


source







All Articles