java中静态类变量不使用会被回收吗?

简单表示了一下:publicclasspublicbianliang{publicstaticvoidmain(String[]args){LinkQueue.trans... 简单表示了一下:
public class publicbianliang {
public static void main(String[] args) {
LinkQueue.transfer();//经常调用
}
}
class LinkQueue {
public static LinkedList<Object> queue = new LinkedList<Object>();
public static Set<Object> buffer = new HashSet<Object>();
public static void transfer(){
queue= new LinkedList(buffer);
}
}
就是把缓冲buffer里的数据复制到queue里,会经常调用,队列queue定义是静态的,每次复制完产生的多了那原来的对象会被回收吗?帮忙分析一下
展开
 我来答
woshidaniel
推荐于2017-09-07 · TA获得超过9240个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:954万
展开全部
静态类变量不会被释放。只有等应用结束才释放。
1、静态类只有在内部类的时候才能被应用
2、静态类在应用初始化时就放在静态方法区中,是公共共享,应用结束才能回收静态方法区。
fuhaiwei
推荐于2017-10-14 · TA获得超过3409个赞
知道大有可为答主
回答量:974
采纳率:75%
帮助的人:1387万
展开全部
当调用transfer()方法时,上次queue指向的LinkedList就会变成垃圾,会在某个时间回收的。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f80945b
2014-08-21 · 知道合伙人软件行家
百度网友f80945b
知道合伙人软件行家
采纳数:52 获赞数:209
河北科技大学计算机科学与技术专业,现负责研发金融支付机构反洗钱数据分析系统。

向TA提问 私信TA
展开全部
何为静态?在整个程序运行中,一直保留;当然也会看它所处的位置,成员变量还是局部变量。
追问
那就是之前所有的queue一直都在?java不是没有引用就被回收吗?那运行时间长久了会不会有内存溢出的可能啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式