Java 接口(interface)和内存分配

标签 java memory-management interface object-reference

考虑:

public SomeClass implements SomeInterface{...}

SomeClass obj = new SomeClass();

SomeInterface x = obj;

我试图将第 3 行与我对内存管理的基本理解联系起来。 我知道“obj”表示的内存位置只包含一个指向 SomeClass 内存位置的指针。假设我使用的是 64 位 JVM,则最多为“obj”指针分配 64 位。当 JRE 实现 x 时在内存中创建了什么?它只是指向 SomeClass 的 64 位指针吗?

最佳答案

无论您如何声明,每个对象引用都占用相同数量的内存。

所以 xobj 是两个不同的引用,它们恰好指向同一事物。

关于Java 接口(interface)和内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13765458/

相关文章:

java - Java接口(interface)中的重载方法

java - Togglz: JDBCStateRepository.Builder 中的 noCommit 选项,它有什么作用?

javascript - Node.js:1D 与 2D 数组中的 100M 个元素——意外的内存问题

没有清除命令的 MATLAB 释放内存

c# - 获取返回值Interface后面的Type

C# LINQ 筛选 IEnumerable<IX> 并表示为 IEnumerable<X :IX>

java - Java Cplex 中的最优解

java - 结果集中的结果集

java - 如何在 FitNesse fixtures 中使用 unicode 字符?

iphone - 制作 UIImage 的深拷贝