【问题标题】:Why Java/JVM implementation chooses the HEAP datastructure for storing objects in memory? [duplicate]为什么 Java/JVM 实现选择 HEAP 数据结构在内存中存储对象? [复制]
【发布时间】:2019-08-02 21:45:39
【问题描述】:

堆抽象数据结构和存储对象的Java内存区域(堆)之间是否有任何关系。

如果是,为什么 JVM 实现选择堆数据结构将对象存储在内存中。与其他数据结构相比有什么好处?

【问题讨论】:

标签: java garbage-collection jvm heap heap-memory


【解决方案1】:

在这种情况下,“堆”是指为动态内存分配保留的内存区域,而不是数据结构。它们是两个完全不同的概念,它们之间没有任何关系。

【讨论】:

  • 所以jvm栈不是数据结构栈?但都是后进先出的。
  • @LiLi 另一方面,JVM 堆栈实际上是 LIFO 数据结构堆栈。另请注意,每个 JVM 线程都有一个私有的“JVM 堆栈”,每个帧(在调用方法时创建)都有自己的“操作数堆栈”,同时“堆”在所有 JVM 线程之间共享。您可以在 JVM 规范 docs.oracle.com/javase/specs/jvms/se13/html/jvms-2.html 阅读更多信息
猜你喜欢
  • 2013-03-11
  • 2011-05-03
  • 2010-10-01
  • 2017-01-25
  • 2014-06-26
  • 2011-06-15
  • 2021-10-15
  • 2023-02-21
  • 1970-01-01
相关资源
最近更新 更多