Memory 非托管内存和托管内存

Memory 非托管内存和托管内存,memory,ram,unmanaged,managed,Memory,Ram,Unmanaged,Managed,什么是未管理的和管理的内存? 有人能简单地给我解释一下吗 另外,当托管内存概念被引入RAM时,调用托管RAM究竟意味着什么。“受管RAM”和“非受管RAM”的一些细节是什么?都是相同的物理内存。区别在于谁在控制它 Microsoft的定义是,托管内存由垃圾收集器(GC)清理,即定期确定物理内存中哪些部分正在使用,哪些部分未使用的某个进程 非托管内存由其他程序或操作系统等清理 非托管内存这个术语有点像第一次世界大战,直到第二次世界大战之后才被称为非托管内存。以前只是内存。adrianm,感谢幕后的

什么是
未管理的
管理的内存
? 有人能简单地给我解释一下吗


另外,当托管内存概念被引入RAM时,调用托管RAM究竟意味着什么。“受管RAM”和“非受管RAM”的一些细节是什么?

都是相同的物理内存。区别在于谁在控制它

Microsoft的定义是,托管内存由垃圾收集器(GC)清理,即定期确定物理内存中哪些部分正在使用,哪些部分未使用的某个进程

非托管内存由其他程序或操作系统等清理


非托管内存这个术语有点像第一次世界大战,直到第二次世界大战之后才被称为非托管内存。以前只是内存。

adrianm,感谢幕后的回答,.NET运行时/JVM也使用非托管内存。它是从操作系统的内存管理器分配的,就像任何非托管程序一样。简单地说,它根据需要分配更大的内存,并将其称为“托管堆”。然后,在运行时(GC)的帮助下,该块由托管对象“管理”以供使用。运行时还负责减小大小,并在完成时将内存返回给操作系统。因此,我宁愿将“托管”内存称为“非托管”内存的虚拟部分。