面向对象语言和C语言之间的内存管理
C语言是最接近汇编的高级语言了,其诸多操作是直接操作硬件进行工作的,内存的申请也有malloc函数,但是此函数申请的内存并不会自动被释放,需要手动来free掉,才可以继续使用这一块内存,否则这一块内存系统永远不会再次使用(重启则会释放全部)。
以c#为例说说面向对象的程序语言,其仍然有自己的垃圾回收机制,底层则是由垃圾回收者来实现自己的垃圾管理,gc为garbage collector 的缩写,其保有一个此次运行时内存中所有相关变量/引用的对象构成的一个池子,在此池子中某一个对象再无引用指向他的时候,gc则会把这个对象剔除,他的空间由其他新建的对象填充或保持为空。