关于close的问题 今天有一小伙伴问我,javaSE中,有哪些东西是需要关闭的? 我瞬间茫然了,我只记得jdbc中的Connection是需要关闭的,还有其他的呢?Scanner?还有什么?求小伙伴们的帮助啊 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 很无赖的解决方案:每次联想一下 看看是否有close 方法,如果有肯定需要关闭,没有自然不需要。这种投机取巧的方式很有必要,因为学习新的类根本不知道是否需要关闭等等之类的。 所有implements closable 的都需要CLOSE。 最明显的就是JAVA.IO里面的CLASSES. 除了PRINTSTREAM 不依赖java语言自己实现的一般需要关闭。如java在windows平台上操作io时,实际上时java调用了c语言的api,而c语言是不能自己回收内存的。所以这个时候如果不关闭,则会造成内存泄露。java虽然语法级别上没有内存泄露,但是内存泄露可以是由java 引起的。 一般这样的资源就需要关闭。一般用得多的也就io操作和数据库操作时需要关闭了。 如果是1.6,可以总结为流,连接需要关闭,1.7,新增AutoCloseable接口,所有需要关闭的对象都直接或间接实现它,有close()方法,新增下面语法public static void main(String[] args) { try(FileInputStream in=new FileInputStream(new File("d:/a"))){ //TODO operation }catch (IOException | RuntimeException e) { //不能有继承关系,否则编译错误 }//不需要finally,自动回调close()方法} 关闭了省内存,不关闭的端口多了容易出故障。IO,SOCKET,Connection等等 什么原因呢? java里面怎么得到纳秒?很急※谢谢了 请问这段代码错在哪里 请问如何实现该功能:当单元格处于可编辑状态时生成一个combobox? 有一个算法问题搞得我很郁闷!(我真是猪脑子,这么简单的居然想不出来!!!) 高分求java书 如何配置多个servlet?小女子先谢过了:) 很急很急的问题,关于构造类似Jbuilder编译环境的问题 急!!!!!!!!!!!!!1 请问我下了一个jbuilder6.bin(600多m)不知道怎么打开。 一个JAVA学习资源的索引网站,正在不断完善中。。 关于return的使用
如java在windows平台上操作io时,实际上时java调用了c语言的api,而c语言是不能自己回收内存的。所以这个时候如果不关闭,则会造成内存泄露。java虽然语法级别上没有内存泄露,但是内存泄露可以是由java 引起的。 一般这样的资源就需要关闭。一般用得多的也就io操作和数据库操作时需要关闭了。
public static void main(String[] args) {
try(FileInputStream in=new FileInputStream(new File("d:/a"))){
//TODO operation
}catch (IOException | RuntimeException e) { //不能有继承关系,否则编译错误
}//不需要finally,自动回调close()方法
}