我在高中进行了Java测试。有一个问题太困扰了我,因为我是空白的,我将如何解决它。
考虑以下Java代码:
interface Pingable {
public void ping();
}
class Counter implements Pingable {
int count=0;
public void ping(){++count;}
public int val(){return count;}
}
public class Ping {
public static void main(string args[])
{
Counter c=new Counter();
c.ping();c.ping();
int v=c.val();
System.out.println(v);
}
}
假设在具有4字节地址的计算机上将其编译为本机代码。在计数器对象的内存中绘制布局图。显示所有虚函数表。
答案 0 :(得分:1)
一些重要的细节,都完全依赖于JVM。这适用于OpenJDK / HotSpot。
答案 1 :(得分:0)
对于以下代码,如果您尝试在32位操作系统中执行它,并且int也使用4字节内存,那么简单计数将消耗单个4字节内存。