16
回答
java,禁止对象被自动回收,怎么设置?
滴滴云服务器,限时包月0.9元,为开发者而生>>>   

1、我在servlet里new了一个对象,长时间不用会被回收吗?

2、ssh里,service注入到action里,长时间不用也没被回收,怎么做到的?


举报
jack_jones
发帖于4年前 16回/2K+阅
共有16个答案 最后回答: 4年前

难怪java老被人喷,都是你这水平的人在用。

java对象会不会回收,决定于是否还被引用,不被引用了就有可能被GC回收,一直被引用着就不会被回收,和你在代码里用不用没关系。打个比方,你把茶杯放在办公桌上,一年不用也不会被保洁阿姨清走;如果你把茶杯随便扔在墙角,哪怕5分钟也可能被保洁阿姨打扫掉。

总结,“引用”和“使用”是两个完全不同的概念。你没有使用,不代表java对象没有被引用,反过来,如果在使用,那就一定有引用,因为java除了int,long等简单数据类型其他类型都是通过“引用”来使用。

引用来自“jingshishengxu”的答案

难怪java老被人喷,都是你这水平的人在用。

java对象会不会回收,决定于是否还被引用,不被引用了就有可能被GC回收,一直被引用着就不会被回收,和你在代码里用不用没关系。打个比方,你把茶杯放在办公桌上,一年不用也不会被保洁阿姨清走;如果你把茶杯随便扔在墙角,哪怕5分钟也可能被保洁阿姨打扫掉。

总结,“引用”和“使用”是两个完全不同的概念。你没有使用,不代表java对象没有被引用,反过来,如果在使用,那就一定有引用,因为java除了int,long等简单数据类型其他类型都是通过“引用”来使用。

说的好
把这个对象设置为servlet的静态类对象,那么servlet不销毁则这个对象也不销毁
--- 共有 2 条评论 ---
首席打酱油回复 @丨丨丨 : 虽然上面有说话冲了点的,但都是从原理上解释这个问题, 你现在告诉他答案,下次碰到了继续问?永远都不懂? 基本的JavaSe还没打牢基础,就玩JavaEE,你不觉得步子太大容易扯着蛋吗? 4年前 回复
丨丨丨看了半天,就这一个靠谱的,别的不是在扯淡,就是在喷。 4年前 回复
顶部