gpt4 book ai didi

java - Stack 和 Heap 是否都存在于您的系统 RAM 中?

转载 作者:可可西里 更新时间:2023-11-01 11:12:39 25 4
gpt4 key购买 nike

问题和题目差不多,栈和堆是否一直存在于内存中?假设 Windows 是相关机器的操作系统。

另外,如果上述问题的答案是肯定的,是否可以告诉 JVM 在不同的位置创建特定的应用程序 Stack 和 Heap,例如外部 micro SD 卡?或者只是将默认堆栈/堆创建位置设置为 RAM 以外的某个位置?

最佳答案

嗯,它们可能不会在 所有 时间都在 RAM 中。栈和堆只是分配在内存中的数据结构。当您的程序实际使用 CPU 时,它们都将(至少部分)存在于 RAM 中。但是,当程序不运行时,操作系统可能会换出堆栈和堆所在的页面。然后可以将部分(或全部)堆栈和堆写入磁盘。

我猜你无法告诉 JVM 将这些数据结构分配到其他任何地方。我无法想象您想要的场景;这将非常缓慢。我确信它们是通过 malloc() 或系统调用分配的,并且 JVM 不太可能为这种类型的分配提供任何条件代码。

关于java - Stack 和 Heap 是否都存在于您的系统 RAM 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25250808/

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