对JAVA程序来说,哪些资源是垃圾回收线程不能回收的?(200分)

  • 主题发起人 主题发起人 吴剑明
  • 开始时间 开始时间

吴剑明

Unregistered / Unconfirmed
GUEST, unregistred user!
虽然SUN把JAVA的垃圾回收吹的很响。但总有写资源它是无法自动回收的吧?
哪些是?
哪位还能顺便讲讲JAVA的垃圾回收机制?
 
好像io资源不能正确回收,所以要求每打开一个io流必须自己关闭。
以前看一本书上讲过java的回收机制,一般是两种,引用计数和查询引用链。
具体的我记不清了,而且好像对于采用其中一种机制的jdk,某种特别的代码
结构会造成内存泄漏。
 
如果A流已经建立,另有一个B流在不断的:
b = new bstream.create(a)
那么这个B流需不需要被关闭呢?我觉得应该不能关闭B流。否则A流也会被关闭。
在这个B流创建时,其实只是指向了A流而已。所以B流不需要释放?
对不对啊?老大?
 
如果一个类的构造方法支持用类本身构造,那么它应该是
传入的类的一个副本而不仅仅是指向该类的一个引用,否则,
这会造成混乱的,我是这样理解的。如果你只需要一个引用,
我想你应该是这样的:
b=a;
 
但是我试过,如果把B流关了,A流也没了。:(
 
还有象socket,数据库连接等等
 
database, socket, stream这种资源都会自动关闭的吧。
倒是有一些情况下会出现内存泄漏,举个例子:
一个Hashtable中put进去了一些值,如果这个Hashtable已经没有引用了,就会被回收,但
里面的值(都是Object)就可能无法被回收。
IBM DW上有一篇文章讲过的,还提到一个工具来检查分析内存的,可惜不记得了。
 
>一个Hashtable中put进去了一些值,如果这个Hashtable已经没有引用了,就会被回收,但
>里面的值(都是Object)就可能无法被回收。
哦,是么?
 
检查内存泄漏的工具很多。比如Numega就有关于Java的一个套件。具体名字我也忘了。
他的Dev Studio中就有。
 
曹兄,能否告诉我下在地址
 
最近warez打击的很厉害,差不多都关闭了....
你在哪个城市?要的话我可以email给你。
200M左右吧?
 
200m?? 这么大阿 ? 哪个邮箱收的下?? :(
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
I
回复
0
查看
625
import
I
后退
顶部