3

据我了解JVM,调用一个方法(即分配一个新的堆栈帧等)通常应该比创建一个新对象更便宜。

但是,假设方法和对象都声明了相同数量的相同类型的本地/实例变量并将它们实例化为相同的值,我们能否估计两者之间的开销差异通常有多大?

4

2 回答 2

1

在现代 JVM 中,对象创建是极其快速的操作。例如,请参阅这篇文章。它说:“Sun 估计大约十个机器指令的分配成本”。

于 2013-02-08T12:41:21.173 回答
0

即使在那种情况下 method() 需要被脚手架成一个类??

并且在 JVM 堆中注册类本身包括成员 (method()) meme 分配。

所以,无论如何,对象创建有点偏高。

于 2013-02-08T12:00:51.640 回答