当前位置: 首页 > 知识库问答 >
问题:

接口的默认方法存储在内存中的哪里?

孙经艺
2023-03-14

方法存储在内存中的何处?

Java中静态方法和静态变量存储在哪里?

共有1个答案

爱海
2023-03-14

就JVM内存中的存储而言,缺省方法没有什么特别之处。与其他类方法一样,它们也是方法区域的一部分。

考虑到实现类没有覆盖接口中默认方法的实现,并且不存在菱形问题,如果默认方法被调用后也分配给堆栈帧,我会感到困惑。

在调用方法时分配堆栈帧,同样不考虑方法的类型(静态、默认等)。不要将它们在运行时调用期间的使用与方法代码(和其他类元数据)的存储位置混淆。

 类似资料:
  • 我试图使用以下代码理解Java接口中的默认方法,但我无法编译它: 编译器生成了以下输出: 我无法理解这些错误。我如何更正代码中的问题?

  • 本文向大家介绍对象,方法和变量在Java的内存中存储在哪里?,包括了对象,方法和变量在Java的内存中存储在哪里?的使用技巧和注意事项,需要的朋友参考一下 有五个主要内存区域,用于各种Java元素。以下是相同的列表。 类区域-该区域包含类的静态成员。 方法区域-此区域包含方法定义和可执行代码。 堆区域-该区域包含动态分配/取消分配的对象。如果某个对象不再被任何实时引用引用,则将其释放。 堆栈区域-

  • 我想通过创建一个具体实现类的对象来执行接口中默认方法的定义体,该对象也覆盖了该方法。无论我是直接创建具体实现类的对象,还是通过动态绑定/多态,实现类中定义/重写的主体都只是得到执行。请看下面的代码 我想知道如何在控制台内部界面银行打印以下内容--loan()

  • 问题内容: 考虑以下情况, 在上面的例子中我得到以下输出这是 相当 期待。 我一直在阅读有关默认方法的信息, 尤其是 关于扩展包含默认方法的接口的信息 2 第二子弹:重新声明的默认方法,这使得它的抽象。 在上面的示例中,我有两个接口的默认方法具有相同的名称,并且当我实现这两个接口时,我只能实现对的引用。 我对此几乎没有疑问, 我怎样才能 到达 的方法 和 如果我不能比,为什么? 没有这种行为从本质

  • 我正在学习虚拟内存和自由空间管理。 我知道我们使用malloc分配的指针将请求堆中的一块内存。但是当我们调用malloc()系统调用时,它将返回一个整数作为专用内存块的地址,但是这个地址本身将存储在哪里呢? 假设 返回我的4008地址。它从4008到4022开始。这个块在堆中。但是4008本身在哪里? 它存储在堆栈中吗?

  • 本文向大家介绍MySQL修改默认存储引擎的实现方法,包括了MySQL修改默认存储引擎的实现方法的使用技巧和注意事项,需要的朋友参考一下 mysql存储引擎: MySQL服务器采用了模块化风格,各部分之间保持相对独立,尤其体现在存储架构上。存储引擎负责管理数据存储,以及MySQL的索引管理。通过定义的API,MySQL服务器能够与存储引擎进行通信。目前使用最多的是MyISAM和InnoDB。Inno