其中是JIT(C#)创建的堆

其中是JIT(C#)创建的堆,c#,stack,heap,jit,C#,Stack,Heap,Jit,我总是有这样一个问题:堆位于哪里(RAM/硬盘/其他(?) 如果我通过内存中的代码加载一个2GB文件,那么它会去哪里 此外,该“堆栈”位于物理位置的何处?公羊 来自实际实施团队的人能告诉我们这一点吗?因为大多数人说的是它的公羊。但我真的想知道这两者在哪里,如何实现? 如果很难在这里回答,请分享一些好文章。当您运行.NET exe时,它将加载MSCorEE.dll,该dll将承载CLR。CLR将在进程内存中创建堆栈和堆。如果需要,它会为进程请求更多内存 它们将位于RAM中,尽管操作系统将从您那里提

我总是有这样一个问题:堆位于哪里(RAM/硬盘/其他(?)

如果我通过内存中的代码加载一个2GB文件,那么它会去哪里

此外,该“堆栈”位于物理位置的何处?公羊

来自实际实施团队的人能告诉我们这一点吗?因为大多数人说的是它的公羊。但我真的想知道这两者在哪里,如何实现?
如果很难在这里回答,请分享一些好文章。

当您运行.NET exe时,它将加载MSCorEE.dll,该dll将承载CLR。CLR将在进程内存中创建堆栈和堆。如果需要,它会为进程请求更多内存


它们将位于RAM中,尽管操作系统将从您那里提取它(例如,它可能位于交换文件上)。

当您运行.NET exe时,它将加载将承载CLR的MSCorEE.dll。CLR将在进程内存中创建堆栈和堆。如果需要,它会为进程请求更多内存


它们将位于RAM中,尽管操作系统将从您那里提取它(例如,它可能位于交换文件中)。

如果您加载.NET进程的
2GB
文件内存,它将在32位系统上崩溃,因为框架在32位系统上大约保持
1.2GB


您正在谈论的内存位于
.NET托管程序集的RAM中。对于其他人来说,由于操作系统本身在内存较低的情况下可能进行内存交换,可能会在磁盘空间中部分完成。

如果加载.NET进程的
2GB
文件内存,它将在32位系统上崩溃,因为框架在32位系统上大约保持
1.2GB


您正在谈论的内存位于
.NET托管程序集的RAM中。对于其他人来说,由于操作系统本身在内存较低的情况下进行的内存交换,可能会在磁盘空间中部分完成。

我建议阅读以下文章:


NET堆只是应用程序用户地址空间的一部分。因此,它(以及其中分配的所有对象)当前是在RAM中还是在磁盘上取决于整个系统的当前内存压力和VMM的决定。另外,堆的部分可以同时位于RAM和磁盘上的其他部分。

我建议阅读以下文章:

NET堆只是应用程序用户地址空间的一部分。因此,它(以及其中分配的所有对象)当前是在RAM中还是在磁盘上取决于整个系统的当前内存压力和VMM的决定。此外,堆的部分可以同时位于RAM和磁盘上的其他部分。

这个问题及其答案非常详细地解释了这一点。它包括堆栈和堆。如何使用,差异等,它也有很好的图形


这个问题及其答案非常详细地解释了这一点。它包括堆栈和堆。如何使用,差异等,它也有很好的图形

这个进程内存在哪里?内存中。你认为还有什么地方?虽然使用virtual manager,但操作系统可能会决定将其移动到硬盘的交换文件中。该进程内存位于哪里?内存中。你认为还有什么地方?虽然使用虚拟管理器,但操作系统可能会决定将其移动到硬盘中的交换文件中。无需miplementation团队。堆和堆栈是初级问题编程人员必须知道的标准知识,也就是初级汇编风格编程的初学者。不需要MIP实现团队。堆和堆栈是低级问题编程初学者必须知道的标准知识,也就是从事低级汇编风格编程的初学者。