社区
Java SE
帖子详情
int 变量会否被gc()回收
iinbase
2012-09-07 11:14:22
RT
面试的时候 被问到这个问题
我知道 static 不会被回收, 但 int 等原始变量 比如 short long 等
...全文
665
36
打赏
收藏
int 变量会否被gc()回收
RT 面试的时候 被问到这个问题 我知道 static 不会被回收, 但 int 等原始变量 比如 short long 等
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
//TestStatic
Gc
.javapublicclassTestStatic
Gc
{//ia是一个静态
变量
,在这里它作为一个
int
数组的引用。sta...
java static
GC
回收
问题
1)静态
变量
本身不会被
回收
2)静态
变量
所引用的对象是可以
回收
的。 第一点大家应该没有疑问,下面我证明第2点: 看下面的例子及注释。自己可以运行试一下, 注意加上-verbose:
gc
参数 java -verbose:
gc
TestStatic
Gc
// TestStatic
Gc
.java public class TestStatic
Gc
{ // ia是一个静态
变量
,在这里它作为一个i
Java -
GC
垃圾
回收
GC
垃圾
回收
GC
Roots的对象,以及对java类中的成员
变量
,局部
变量
,静态
变量
和常量的不同
回收
时机的解析
1.作为
GC
Roots的对象有以下几种 虚拟机栈(栈帧中的局部
变量
区,也叫局部
变量
表)中引用的对象。 方法区中的类静态属性引用的对象。 方法区中常量引用的对象。 本地方法栈中JNI(Native)方法引用的对象。 2.成员
变量
(实例
变量
)&局部
变量
&静态
变量
(类
变量
)的区别 成员
变量
(实例
变量
)&局部
变量
区别: 作用域 成员
变量
:针对整个类有效。 局部
变量
:只在...
java 强制
gc
_如何强制
GC
回收
垃圾
Java垃圾
回收
机制(
GC
)详解简介:垃圾
回收
GC
(Garbage Collection)是Java语言的核心技术之一,之前我们曾专门探讨过Java 7新增的垃圾
回收
器G1的新特性,但在JVM的内部运行机制上看,Java的垃圾
回收
原理与机制并未改变。垃圾收集的目的在于清除不再使用的对象。
GC
通过确定对象是否被活动对象引用来确定是否收集该对象。
GC
首先要判断该对象是否是时候可以收集。两种常用的方法是...
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章