我查阅过很多相关文章,大多数都是分析了托管资源与非托管资源的内存管理,却没有给出一个准确的定义。在此请教各位,谢谢!
(1)托管资源一般是指被CLR控制的内存资源,这些资源的管理可以由CLR来控制,例如程序中分配的对象,作用域内的变量等。
(2)非托管资源是CLR不能控制或者管理的部分,这些资源有很多,比如文件流,数据库的连接,系统的窗口句柄,打印机资源 等,这些资源一般情况下不存在于Heap(内存中用于存储对象实例的地方)中。
托管资源:从文字上看就是托付给别人管理,就像.NET的CLR,java的jvm
非托管资源:直接和os打交道,不知道这么说合理不?
简单的说托管资源有垃圾回收管理,自动管理,最好不要干预
非托管资源不是运行时管理,需要手动管理