据我了解JVM,调用方法(即分配新的堆栈帧等)通常比创建新对象更便宜。
但是,我们能否估计两者之间的开销差异有多大,假设方法和对象都声明相同数量的相同类型的本地/实例变量,并将它们实例化为相同的值?
答案 0 :(得分:1)
在现代JVM中,对象创建是非常快速的操作。例如,请参阅此article。它说:“Sun估计大约十台机器指令的分配成本”。
答案 1 :(得分:0)
即使在那种情况下,方法()需要被绑定到一个类??
并在JVM堆中注册类本身包括member(method())meme allocation。
所以,无论如何,对象创建有点偏高。