java反序列化时如何动态创建序列化类的对象而不调用构造函数? JVM 使用什么机制来创建对象实例?
最佳答案
取决于JVM,但Sun/Oracle/OpenJDK使用sun.misc.Unsafe.allocateInstance(Class)
/** Allocate an instance but do not run any constructor.
Initializes the class if it has not yet been. */
public native Object allocateInstance(Class cls)
throws InstantiationException;
http://www.docjar.com/html/api/sun/misc/Unsafe.java.html
这允许您创建几乎任何东西的新实例,例如枚举,但不是类的新实例。
关于java - java反序列化时如何动态创建序列化类的对象而不调用构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9868447/