关于close的问题

菜鸟的脚印 2013-10-11 08:19:19
今天有一小伙伴问我,javaSE中,有哪些东西是需要关闭的? 我瞬间茫然了,我只记得jdbc中的Connection是需要关闭的,还有其他的呢?Scanner?还有什么?求小伙伴们的帮助啊
...全文
245 14 打赏 收藏 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
朗晴 2013-10-15
  • 打赏
  • 举报
回复
关闭了省内存,不关闭的端口多了容易出故障。IO,SOCKET,Connection等等。。。
郑涛 2013-10-15
  • 打赏
  • 举报
回复
如果是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()方法 }
ego_ecust 2013-10-14
  • 打赏
  • 举报
回复
引用 6 楼 ch656409110 的回复:
很无赖的解决方案:每次联想一下 看看是否有close 方法,如果有肯定需要关闭,没有自然不需要。这种投机取巧的方式很有必要,因为学习新的类根本不知道是否需要关闭等等之类的。
很好,存在自然是有必要的,哈哈
ifvlr 2013-10-14
  • 打赏
  • 举报
回复
不依赖java语言自己实现的一般需要关闭。 如java在windows平台上操作io时,实际上时java调用了c语言的api,而c语言是不能自己回收内存的。所以这个时候如果不关闭,则会造成内存泄露。java虽然语法级别上没有内存泄露,但是内存泄露可以是由java 引起的。 一般这样的资源就需要关闭。一般用得多的也就io操作和数据库操作时需要关闭了。
水暖冰 2013-10-14
  • 打赏
  • 举报
回复
引用 1 楼 xxhhbb1538 的回复:
所有不在虚拟机管理范围内的,操作系统级别的都需要关闭,如文件流,数据库连接等等
正解+1
AJAXHu 2013-10-12
  • 打赏
  • 举报
回复
你最好对照官方文档一个一个看,这个没有笼统的说法的。
蓝阳 2013-10-12
  • 打赏
  • 举报
回复
引用 7 楼 soton_dolphin 的回复:
所有implements closable 的都需要CLOSE。 最明显的就是JAVA.IO里面的CLASSES. 除了PRINTSTREAM
路过学习了
soton_dolphin 2013-10-11
  • 打赏
  • 举报
回复
所有implements closable 的都需要CLOSE。 最明显的就是JAVA.IO里面的CLASSES. 除了PRINTSTREAM
  • 打赏
  • 举报
回复
很无赖的解决方案:每次联想一下 看看是否有close 方法,如果有肯定需要关闭,没有自然不需要。这种投机取巧的方式很有必要,因为学习新的类根本不知道是否需要关闭等等之类的。
  • 打赏
  • 举报
回复
socket,io流
qq_wwwhj 2013-10-11
  • 打赏
  • 举报
回复
这个真说不好,没总结过,不过一般用的时候就知道了
尘缘udbwcso 2013-10-11
  • 打赏
  • 举报
回复
所有有close方法的都需要close
菜鸟的脚印 2013-10-11
  • 打赏
  • 举报
回复
这个不在虚拟机管理范围内,能不能说得具体点呢?
  • 打赏
  • 举报
回复
所有不在虚拟机管理范围内的,操作系统级别的都需要关闭,如文件流,数据库连接等等
代码下载链接: https://pan.quark.cn/s/a8fbca3925b4 《鸿蒙OS开发环境构建》指南系统性地阐述了配置和筹备鸿蒙OS开发所需的各种工具和条件的具体方法。鸿蒙OS,亦称HarmonyOS,是由华为研发的一款面向全场景的分布式操作系统,其目标是提供跨平台、多设备间无缝协作的使用体验。本指南涉及了从Linux服务器到Windows工作站的完整开发流程。指南中提及了MobaXterm,这是一款用于连接Linux源码服务器的软件,使得开发人员能够在Windows环境中远程访问Linux服务器。同时,HiTool作为烧录工具,用于将编译后的系统镜像写入开发板。IPOP.EXE则是一款串口终端软件,用于执行串行通信和调试任务。Embedded Studio用于开发设备驱动程序,而DevEco Studio是华为提供的图形化应用程序开发平台,支持C/C++语言,拥有代码编辑、编译、烧录和调试功能,被视为OpenHarmony智能设备开发者的首选集成开发环境。在硬件配置方面,指南列出了必需的设备,包括Linux服务器(推荐Ubuntu 16.04及以上版本),Windows工作台(兼容XP/7/10),以及Hi3518EV300 IoT Camera单板。开发期间,Windows工作台通过USB线与单板相连接,以实现数据传输。此外,为了开展开发工作,还需要安装putty、IPOP、tftp服务器等辅助软件,以及HiTool用于烧录操作。在软件系统要求方面,Linux服务器需要安装bash、Python3.7+、gn、ninja、LLVM等构建工具,这些工具对于生成和执行编译脚本具有关键作用。在Windows工作台上,建议采用Visual Studi...

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧