java中的实例方法 1 周,4 日 Questions & Answers 101 的确,每个对象都有自己的实例变量副本。但和静态成员一样,实例方法只有一个副本,这是真的吗?如果是,那么它在内存中的位置是什么
# 1 楼答案 对。 从逻辑上讲,一个类的每个实例中的一个方法共享一个算法。记忆的行为方式类似。每个对象调用一个方法算法,在方法调用期间,所需的值被临时推送到堆栈中 方法是一组要遵循的指令,而不是数据结构。它不应该专门分配内存 方法调用指令与其他应用程序指令一样,分别存储在RAM中。这不是Java内存分配过程的一部分
# 2 楼答案 内存中只需要实例方法的一个副本。调用实例方法时,堆栈中将隐式包含一个“this”变量。“this”变量允许实例方法访问调用它的对象实例的实例变量 类,包括它们的方法,通常会在长寿命堆中结束,因为它们很少被垃圾收集
# 3 楼答案 But is it true that like static members, there is only one copy of instance methods? 是的,不管实例的数量和方法是否是静态的,所有对象都只有一个副本 If yes, then where it resides in memory? 堆
# 1 楼答案
对。 从逻辑上讲,一个类的每个实例中的一个方法共享一个算法。记忆的行为方式类似。每个对象调用一个方法算法,在方法调用期间,所需的值被临时推送到堆栈中
方法是一组要遵循的指令,而不是数据结构。它不应该专门分配内存
方法调用指令与其他应用程序指令一样,分别存储在RAM中。这不是Java内存分配过程的一部分
# 2 楼答案
内存中只需要实例方法的一个副本。调用实例方法时,堆栈中将隐式包含一个“this”变量。“this”变量允许实例方法访问调用它的对象实例的实例变量
类,包括它们的方法,通常会在长寿命堆中结束,因为它们很少被垃圾收集
# 3 楼答案
是的,不管实例的数量和方法是否是静态的,所有对象都只有一个副本
堆