全局变量,静态变量,局部变量和new的变量 系统处理垃圾的机制是什么

或者说,哪些是系统自动销毁从而释放内存,哪些是需要程序员销毁?

在类的内部,也就是第一层大括号内声明的变量,在C语言中叫全局变量,在C# Java 中叫成员变量,他是对象的属性,可同时赋值也可不赋,有默认值,在new 一个新对象时会在栈内存中申请一块内存 ,在 . 调用时会在堆内存声明一块内存,里面会有你点调用时的属性也就是全局变量(成员变量)调几个有几个,栈中的对象占有的内存 有地址 会指向该对象在堆中声明的内存空间,所以new出来的对象占两块内存。
静态变量是在data segment( 数据内存)只有一个,直接调用,类名.变量名。

方法里声明的变量是局部变量,必须同时赋值,只在栈内存中咱一块空间名和值在一块。

c语言的话得您亲自释放内存,不能释放多,也不能不释放(我没学过,不太清楚),C和Java 里 在方法执行完后new 的对象 会立刻消失,所以指向也消失,原先对象在堆中内存里声明指向的东西也就没用了,垃圾回收器会定期回收这些玩意,您大可不必管!
我也是初学,自己的分析,有说错的地方请多多包涵!!!!谢谢!
仅供参考!!

参考资料:Myself

温馨提示:答案为网友推荐,仅供参考
相似回答