社区
Java SE
帖子详情
int 变量会否被gc()回收
iinbase
2012-09-07 11:14:22
RT
面试的时候 被问到这个问题
我知道 static 不会被回收, 但 int 等原始变量 比如 short long 等
...全文
668
36
打赏
收藏
int 变量会否被gc()回收
RT 面试的时候 被问到这个问题 我知道 static 不会被回收, 但 int 等原始变量 比如 short long 等
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
36 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
meichen8050753
2013-01-04
打赏
举报
回复
int 不会被回收,在堆中的对象才会被回收
JPF1024
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
回收
static_java static
GC
回收
问题 | 学步园
1)静态
变量
本身不会被
回收
2)静态
变量
所引用的对象是可以
回收
的。第一点大家应该没有疑问,下面我证明第2点:看下面的例子及注释。自己可以运行试一下, 注意加上-verbose:
gc
参数java-verbose:
gc
TestStatic
Gc
//...
java static
GC
回收
问题
1)静态
变量
本身不会被
回收
2)静态
变量
所引用的对象是可以
回收
的。 第一点大家应该没有疑问,下面我证明第2点: 看下面的例子及注释。自己可以运行试一下, 注意加上-verbose:
gc
参数 java -verbose:
gc
...
java
回收
static,java static
GC
回收
问题
java static
GC
回收
问题1)静态
变量
本身不会被
回收
2)静态
变量
所引用的对象是可以
回收
的。第一点大家应该没有疑问,下面我证明第2点:看下面的例子及注释。自己可以运行试一下, 注意加上-verbose:
gc
参数java-...
Java -
GC
垃圾
回收
GC
垃圾
回收
static
变量
的
回收
问题
一个对象会不会被
回收
,主要看垃圾
回收
器引用遍历的时候能不能访问到这个...如果一个类的 class文件被装载,那么它的静态成员
变量
便会被初始化,除非unloader这个类的class对象,他的静态成员
变量
是不会被
gc
回收
的。
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章