比如说流操作结束后, 为什么一定要close掉.
java有垃圾回收器, 这样做不就是多此一举吗.?
java有垃圾回收器, 这样做不就是多此一举吗.?
解决方案 »
- java.net.SocketException: No buffer space available (maximum connections reached?): connect
- 如何定位一个外部文件?
- java安全设置出了问题?
- 【新手提问】我弄了两个窗口,一个主窗口一个副窗口,请问怎么样把副窗口关掉,而不终止整个程序?
- 调到了另一个项目小组,语言从C#变成了JAVA,咨询一下意见
- 怎样用Java实现模拟dos命令行功能?
- 令人费解的一段程序~~~!!!大侠求救啊!!!!
- 请教JAVA高手,小弟不胜感激~
- 学习java需不需要研究Swing!
- 希望得到大虾们的帮助:)
- jxl解析excel文件加载报错
- 当一个流做为参数传入另外一个流,需要关闭吗?例如本题的fo.close();
流不单在内存中分配了空间,也在操作系统占有了资源,java的gc是能从内存中回收不使用的对象,但对操作系统分配的资源是无能为力的,所以就要调用close()方法来通知OS来释放这个资源。
呵~!
流不单在内存中分配了空间,也在操作系统占有了资源,java的gc是能从内存中回收不使用的对象,但对操作系统分配的资源是无能为力的,所以就要调用close()方法来通知OS来释放这个资源。
呵~!受教了
4L受教了
另外gc被调用的时间不确定,甚至在程序结束之前是否调用都不确定。
GC应该是回收堆里的对象吧,回收的也只是Eden space 和 Tenured space中的死亡对象
它还应该包括CPU,硬盘,IO设备,其他进程,等等。我想JVM的GC,应该主要针对的是内存当中,我们创建对象所占用的内存空间。
而其他的资源,还是要我们在代码中显示的释放的。
以便于操作系统的集中管理。所以,GC释放的是对象所占得内存资源。
对象所占用的IO资源,还是要显示的释放滴。
你们老大这么小气....
JVM托管资源会自动回收...
非托管资源...IO,数据库,File,NET,都不在JVM里面...它回收不了..哈哈不过我觉得.非托管资源也可以标记啊?标记回收?为何不行?