2

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

据我所知,这个特殊的构造函数叫做“munged”。这个词是从哪里来的?我在任何字典中都找不到它。

4

3 回答 3

2

我相信它是在以下意义上使用的,因为您通过跳过构造函数以某种方式绕过/伪造了正常的对象创建周期:

(计算)修改或伪造电子邮件(或其他互联网)地址,使其无法自动获取,尤其是。避免垃圾邮件机器人

(计算)更改文件;做出不可撤销的改变,破坏,混淆

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

于 2009-09-15T09:31:22.683 回答
0

来自维基词典:

以未定义或无法解释的方式转换数据。

反序列化的构造函数不会[必然]调用超类构造函数,并且不是原始类的一部分。从 JVM 规范的角度来看,它是非法的 - 合法构造函数的修改版本。

于 2009-09-15T09:39:11.703 回答
0

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

于 2009-09-15T10:09:39.287 回答