执行栈和堆您的系统RAM中同时存在?(Do the Stack and Heap both exis

2019-10-20 16:37发布

现在的问题是几乎相同的标题,做栈和堆在所有时间内RAM存在? 假设Windows是问题的机器的操作系统。

此外,如果回答上述问题是肯定的,是可以告诉JVM创建一个特定的应用程序栈和堆在不同的位置,如外接micro SD卡? 或者仅仅设置默认的堆栈/堆创建位置比其他RAM的某个位置?

Answer 1:

那么,他们可能不会在RAM在任何时候。 栈和堆在RAM中分配的仅仅是数据结构。 当你的程序实际上是使用CPU,他们都将在RAM存在(至少部分地)。 然而,这是可能的OS将换出的栈和堆是程序不运行时在页面上。 堆和栈的一部分,然后(或全部)可被写入磁盘。

我猜,你将无法告诉JVM到别的分配这些数据结构的任何地方。 我无法想象这样一个场景,你会想; 这将是极其可怕缓慢。 我相信他们与malloc()函数或系统调用分配,这是不可能的JVM将有该类型分配的任何条件代码。



文章来源: Do the Stack and Heap both exist within your systems RAM?