非托管内存和托管内存

Nar*_*uto 24 memory ram unmanaged managed

究竟是什么un-managedmanaged memory?任何人都能简单解释一下吗?

此外,当托管内存概念被用于RAM,调用托管RAM时,究竟意味着什么.有关"托管RAM"和"非托管RAM"的具体细节是什么?

adr*_*anm 43

它是完全相同的物理内存.不同之处在于谁在控制它.

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

非托管内存由其他东西清理,例如您的程序或操作系统.

"非管理记忆"这个术语有点像第一次世界大战,直到第二次世界大战之后才被称为这种记忆.以前它只是记忆.

  • 在幕后,.NET运行时/ JVM也使用非托管内存.它是从操作系统的内存管理器分配的 - 就像任何非托管程序一样.简单来说,它会根据需要分配更大的内存,并称之为"托管堆".然后,在运行时(GC)的帮助下,由托管对象"管理"该块.运行时还会考虑缩小/缩小大小,并在完成后将内存返回给操作系统.因此,我宁愿将"托管"内存称为"非托管"内存的虚拟部分. (4认同)