对象的实例化
如果我在代码中使用同一对象的多个实例,每个单独对象的实例方法是否需要内存,或者所有这些对象是否共享相同的实例方法?
它可能会对内存使用产生很大影响。
预先感谢您的任何见解。
约翰·多纳
If I use multiple instances of the same object in my code, do the instance methods for each separate object require memory, or do all of those objects share the same instance methods?
It could have a big effect on memory use.
Thanks in advance for any insights.
John Doner
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这可能取决于您使用的语言;-)
在我所知道的所有语言实现中,这些方法都是共享的。例如,在大多数 C++ 实现中,该方法获取指向对象的特定实例的隐式第一个参数 (this)。
It might depend on the language you are using ;-)
In all language implementations that I'm aware of, the methods are shared. In most C++ implementations, for example, the method gets an implicit first parameter (this) that points to the particular instance of the object.
您没有具体说明您在谈论什么语言。但是,一般来说,单独的实例方法不会占用更多的内存。
说实话,您可能甚至不应该考虑这些细节,因为现代语言设计者已经为您考虑过这一点,并且他们可能选择了最好的东西。因此,如果没有真正的理由保留另一个副本(因为所有方法实际上都是相同的),他们不会保存另一个副本。
You didn't specify what language you're talking about. But, in general, the separate instance methods will not take up more memory.
To tell you the truth, you probably shouldn't even think about these details, as modern language designers have thought about this for you, and they have probably chosen the best thing. So, if there's no real reason to keep another copy (because all of the methods are actually the same), they won't save another copy.