java,禁止对象被自动回收,怎么设置?

jack_jones 发布于 2013/09/08 18:33
阅读 2K+
收藏 0

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

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


加载中
0
钱扬扬
弄个生命期长的东西引用着
1
jingshishengxu
jingshishengxu

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

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

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

0
杨同学
杨同学
J2EE不懂,不过java不是只有在对象unaccessable(没有指针指向这个对象)的时候才回收的吗?
0
BarryWey
BarryWey
好奇葩的要求,请问下,为什么要这么做?
0
首席打酱油
首席打酱油

引用来自“jingshishengxu”的答案

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

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

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

说的好
0
0
Catelyn
Catelyn
。。先去了解一下java的内存模型把!
0
Altman
Altman
先了解一下java内存回收的算法吧
0
水牛叔叔
水牛叔叔
没指针的东东留着也没用,你根本找不着它。有指针的java 不会回收
0
leh
leh
把这个对象设置为servlet的静态类对象,那么servlet不销毁则这个对象也不销毁
首席打酱油
首席打酱油
回复 @丨丨丨 : 虽然上面有说话冲了点的,但都是从原理上解释这个问题, 你现在告诉他答案,下次碰到了继续问?永远都不懂? 基本的JavaSe还没打牢基础,就玩JavaEE,你不觉得步子太大容易扯着蛋吗?
丨丨丨
看了半天,就这一个靠谱的,别的不是在扯淡,就是在喷。
返回顶部
顶部