gpt4 book ai didi

java和内存布局

转载 作者:行者123 更新时间:2023-12-01 19:25:05 25 4
gpt4 key购买 nike

嘿伙计们,我正在复习一些问题,但我真的无法弄清楚,我浏览了教科书,但我不确定在哪里可以找到答案......

我知道在没有图片的情况下绘制内存图会很困难,但请耐心等待。

interface Lovable
public void love();

class Foo implements Lovable
public void love();
// something
public int val()
// return something1

public class Love
public static void main(String args [])
Foo foo = new Foo()
foo.love()
foo.love()
int bar = =foo.val()
System.out.print(v)

现在,我看到 foo 是用 new 声明的,所以我知道实际的 Foo 类信息存储在堆中,并且有一个框架?指针?指向堆栈顶部堆中的内存空间(在 foo 调用任何方法之前)。那么界面呢?它也会存储在堆中吗?

所以堆栈底部将是 Love 类(也包含 int bar),一个指向堆中 Foo foo 的指针,一个 foo.love() 的框架,另一个框架 foo.love(),一个foo.val() 的 fram,打印的框架?

我明白了吗?还是我真的离得很远?如果您知道我可以在哪里获得更多信息,请告诉我。我很感激任何意见..

最佳答案

一般来说,对象存储在heap上由垃圾收集器管理。

latest release of Java 6具有逃逸分析功能,如果对象没有逃逸,则将其存储在堆栈上。

类信息存储在perm space中.

关于java和内存布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1714674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com