java编程 java什么时候该写.close()释放资源,不写可以吗?
java什么时候该写.close()释放资源,不写可以吗?虽然Java有自动内存恢复机制,但如果是数据库连接、网络连接、文件操作等,不关闭不会被回收,这是不正确的代码。换句话说,如果有close方法,
java什么时候该写.close()释放资源,不写可以吗?
虽然Java有自动内存恢复机制,但如果是数据库连接、网络连接、文件操作等,不关闭不会被回收,这是不正确的代码。
换句话说,如果有close方法,您必须自己调用它。
垃圾回收机制仅在Java虚拟机控制的范围内释放资源。
对于数据库连接、套接字、文件操作等
如果有close方法,请在完成任务后执行
最好在finally块中关闭,因为即使有异常,也可以调用这些代码。
对于已用对象,Java不建议使用类似于C的析构函数来释放内存(在C中删除new之后的内容,并在Java中设置为null new之后的内容),因为GC将调整最合适的时间来释放内存。在程序中滥用delete将降低Java程序的性能(但不应导致额外的错误)。