当我们写一个Foo f = new Foo();
我们知道JVM调用Defaut的语句时ClassLoader.loadClass()
,它返回实例Class
,现在我们如何获取我们的Foo
实例Class
呢?
问问题
451 次
1 回答
4
我不完全确定你在问什么,但是如果你问的是当你创建一个类的新实例时执行了什么代码,那么答案是这是 Java 虚拟机的原始操作,并且不涉及任何Java代码。
实例创建的行为由12.5 节指定。创建 Java 语言规范的新类实例。
还有一个关于4.10.2.4 的部分。Java 虚拟机规范中的实例初始化方法和新创建的对象,但这并不是那么有趣。
要了解创建对象时实际发生的情况,您需要选择一个 JVM 实现并阅读其源代码。或者,您可能会做大多数 Java 程序员所做的事情,并将其视为一种真正有效的神奇操作!
于 2013-06-28T08:24:59.863 回答