社区
Java SE
帖子详情
int 变量会否被gc()回收
iinbase
2012-09-07 11:14:22
RT
面试的时候 被问到这个问题
我知道 static 不会被回收, 但 int 等原始变量 比如 short long 等
...全文
694
36
打赏
收藏
int 变量会否被gc()回收
RT 面试的时候 被问到这个问题 我知道 static 不会被回收, 但 int 等原始变量 比如 short long 等
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
36 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
meichen8050753
2013-01-04
打赏
举报
回复
int 不会被回收,在堆中的对象才会被回收
student-ai
2013-01-01
打赏
举报
回复
引用 14 楼 zqfddqr 的回复:
出了作用域就没了吧
感觉这个靠谱一些。
wangyongtao_963
2013-01-01
打赏
举报
回复
错了 :超脱总结为21楼 sorry
wangyongtao_963
2013-01-01
打赏
举报
回复
超脱总结 14楼 bs :傻逼出个这个垃圾问题 赞15楼原理+耐心
iinbase
2012-09-13
打赏
举报
回复
大伙看了那篇文章没
aikaibo
2012-09-12
打赏
举报
回复
[Quote=引用 21 楼 的回复:]
1 变量属于类,那么永远不会被回收
2 变量属于实例,则实例被回收才会被顺便回收
3 变量属于实例的方法,那么他是在堆栈中临时的,方法结束了,堆栈自动释放了,无需回收。
[/Quote]
学习啦...
赏金--猎人
2012-09-12
打赏
举报
回复
顶21楼!!!
iinbase
2012-09-11
打赏
举报
回复
http://yiliner.iteye.com/blog/207723
大伙都看看这文章吧
ZangXT
2012-09-11
打赏
举报
回复
[Quote=引用 13 楼 的回复:]
哪家 SB 公司问这种东西?
[/Quote]
你也这么彪悍。
菩提树下小沙弥
2012-09-11
打赏
举报
回复
[Quote=引用 4 楼 的回复:]
基本类型变量和静态元素都是存在栈里的,但静态元素不会失去引用,而基本类型变量会失去引用。
[/Quote]
正解
ddplayer12
2012-09-11
打赏
举报
回复
[Quote=引用 21 楼 的回复:]
1 变量属于类,那么永远不会被回收
2 变量属于实例,则实例被回收才会被顺便回收
3 变量属于实例的方法,那么他是在堆栈中临时的,方法结束了,堆栈自动释放了,无需回收。
[/Quote]
讲解的很透彻!
bigbro001
2012-09-10
打赏
举报
回复
[Quote=引用 21 楼 的回复:]
1 变量属于类,那么永远不会被回收
2 变量属于实例,则实例被回收才会被顺便回收
3 变量属于实例的方法,那么他是在堆栈中临时的,方法结束了,堆栈自动释放了,无需回收。
[/Quote]
老紫竹才是真正的正解!!!
bigbro001
2012-09-10
打赏
举报
回复
楼上错了一大排,谁说int变量就一定是在栈里的?int类型的类成员变量跟对象一起保存在堆里!
老紫竹
2012-09-10
打赏
举报
回复
1 变量属于类,那么永远不会被回收
2 变量属于实例,则实例被回收才会被顺便回收
3 变量属于实例的方法,那么他是在堆栈中临时的,方法结束了,堆栈自动释放了,无需回收。
迷迷佛
2012-09-10
打赏
举报
回复
int类型变量是不会被GC回收的,只是JVM会管理栈,当因各种原因进行出栈操作时,这种类型变量会被自动释放。
QQ326237796
2012-09-10
打赏
举报
回复
不懂绑定咯
iinbase
2012-09-10
打赏
举报
回复
[Quote=引用 10 楼 的回复:]
gc只会回收堆上的内存,栈里面情况完全不同,谈不上回收
[/Quote]
如果 一个类的里面的int 属性 , 那个类用完了 之后 那个int 会回收么 还是那个值不会回收?
火龙果被占用了
2012-09-09
打赏
举报
回复
哪家 SB 公司问这种东西?
旭子
2012-09-09
打赏
举报
回复
修正一下
gc只会回收
java堆
上的内存,
java栈
里面情况完全不同,谈不上回收,java堆和堆、java栈和栈分别是2个不同的概念。
另 楼主你想表述的意思是
class MyClass {
public static Object sObject = new Object();
};
sObject 这个引用的本体sObject本身被回收吧?它是不会被回收的,但是new Object()这个本体是可以被回收的,只要sObject被修改的引用或者sObject = null;时 它原先的引用的对象就会到java堆中被回收。
[Quote=引用 10 楼 的回复:]
gc只会回收堆上的内存,栈里面情况完全不同,谈不上回收
[/Quote]
jiakai0419
2012-09-09
打赏
举报
回复
这个应该是分情况吧。
如果这个int在堆那么有可能会被gc()回收。
如果在栈,那就不会被会gc()回收,会随着栈帧出栈而自然就被回收掉了。
加载更多回复(15)
Java 垃圾
回收
机制(以及怎么减少调用
GC
,提高性能)
本文详细介绍了Java垃圾
回收
的原理、算法、触发条件以及减少
GC
开销的措施,包括垃圾收集的意义、引用计数法、tracing算法、compacting算法、copying算法、generation算法、adaptive算法、System.
gc
()方法、finalize()方法、触发主
GC
的条件和减少
GC
开销的措施。
android模拟
gc
回收
,c++ 模拟
gc
垃圾
回收
本文详细介绍了如何在动态类型的小语言解释器中实现标记-清除法的垃圾
回收
机制。通过创建虚拟机,维护栈和对象图,讲解了标记对象、释放未标记对象以及
GC
策略的过程。
long和
int
到底会对
GC
做什么
本文探讨了Java中
int
和long循环对程序执行的影响,特别是它们如何影响垃圾
回收
(safepo
int
)时机。通过实例对比,揭示了长循环导致的频繁safepo
int
对性能的影响,并建议根据循环次数选择适当的数据类型以优化性能。
Go语言之
变量
区分以及new()和make()的差异
博客介绍了Go语言
变量
分为值类型和引用类型。值类型如
int
、float等,存于栈区,函数调用完自动释放;引用类型如slice、map等,存于堆区,通过
GC
回收
。还对比了new()和make(),new为值类型分配内存并初始化,make用于特定引用类型内存创建。
垃圾
回收
机制:从判断对象可
回收
到生产级
GC
调优
本文系统讲解JVM垃圾
回收
核心机制:从对象可达性分析、
GC
Roots底层原理(OopMap与安全点)、四种引用类型,到标记-清除/复制/整理算法、分代收集理论及对象晋升规则;重点剖析G1
回收
器的Region分区、RSet机制和混合
GC
流程,并涵盖CMS、Z
GC
等演进方案;同时提供内存泄漏排查方法、ThreadLocal弱引用陷阱及生产级
GC
日志分析与调优策略。
Java SE
62,622
社区成员
307,256
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章