java 什么资源需要手动释放

来源:百度知道 编辑:UC知道 时间:2024/09/27 19:26:56
最好能结合原因来谈一谈,满意的可加分

To:mhoudg
按你这么说,垃圾回收还有什么用。

1、文件流要释放
2、数据库连接资源要释放
3、在结合使用hibernate时,session要释放
在使用的时候,java的垃圾回收一般不用手动释放,但是可以调用方法进行调用以实现垃圾回收,在某种特定情况下会使用到

1、文件流要释放
2、数据库连接资源要释放
3、在结合使用hibernate时,session要释放

在使用的时候,java的垃圾回收一般不用手动释放,但是可以调用方法进行调用以实现垃圾回收,在某种特定情况下会使用到

内存资源什么都不需要手动释放

数据库链接一类的当然必须要释放

原因?
原因就是JAVA虚拟机直接控制了内存的回收
所以不需要主动回收(也不可能主动回收)

数据库链接一类的,包括文件操作,这种链接也是手动建立的,也必须手动释放
因为JAVA虚拟机不会帮忙回收这些东西的,因为不知道什么时候需要什么时候不需要了

PS:mhoudg你有方法强制让JAVA虚拟机回收内存?

视情况而定啦,我在网络编程时用过,不用还不行(特殊情况)。

几乎所有资源都要手动释放
只有内存可以在一定程度上垃圾回收,但是还是有循环引用之类的情况可能造成内存泄露
所以是不是要手动释放与资源类型无关,可以认为所有硬件资源都要手动释放的
内存也是只有在确定会被GC回收的情况下,才可以不用明确写释放代码