为什么ReflectionFactor.newConstructorForSerialization()返回的构造函数被称为“munged”?

时间:2009-09-15 09:22:38

标签: java reflection constructor instantiation

在Java中,可以通过sun.reflect.ReflectionFactor.newConstructorForSerialization()检索一个类,而无需实际调用声明的构造函数来创建类的实例。

据我所知,这个特殊的构造函数叫做“munged”。这个术语来自哪里?我无法在任何字典中找到它。

3 个答案:

答案 0 :(得分:2)

我相信它的用法如下,因为你通过跳过构造函数来绕过/伪造正常的对象创建周期:

  

(计算)修改或伪造电子邮件   (或其他互联网)解决这个问题   不能自动收获,   ESP。避免垃圾邮件机器人

     

(计算)改变文件;使   不可改变的变化,破坏,   模糊处理

这两个定义都来自普林斯顿的WordNet。

答案 1 :(得分:0)

来自wiktionary:

  

To transform data in an undefined or unexplained manner.

反序列化的构造函数不一定要调用超类构造函数,也不是原始类的一部分。从JVM规范的角度来看,它是非法的 - 一个合法构造函数的庞大版本。

答案 2 :(得分:0)

此外,sun sun。*中的类不应该直接使用,因为它们可能在其他JDK实现上不可用(因此这个“构造函数”可能与另一个JDK未定义)。