当前位置: 首页 > 知识库问答 >
问题:

Eclipse中的资源泄漏问题?

施飞鸿
2023-03-14
    public void extISImReturnNoWarning() {
    InputStream is = null;
    try {
        is = new FileInputStream("A");
        is.available();
    } catch (IOException e) {
    }
}
public void locISImReturnHasWarning() {
    try {
        InputStream is = new FileInputStream("A");
        is.available();
    } catch (IOException e) {
    }
}

public void extISExReturnHasWarning() {
    InputStream is = null;
    try {
        is = new FileInputStream("A");
        is.available();
    } catch (IOException e) {
        return;
    }
}

共有1个答案

谷梁智
2023-03-14

经过一些研究,我得出的结论是这是一个Eclipse bug。我在Eclipse下载站点(Kepler M3)上找到的最新版本中测试了它,但问题仍然存在。我还在Eclipse项目中发现了5-6个类似问题的bug报告,报告时间为过去30天。在研究过程中,我还发现了另一个奇特的行为:

    public void makeConnection() throws SQLException {
    Connection connection = null;
    try {
        connection = DriverManager.getConnection("localhost");
        for (int i = 0; i < 1; i++)
            if (i < 1)
                throw new SQLException("Foo");
        connection.commit();
    } finally {
        close(connection);
    }
}

public void close(Connection c) {
}

此代码将生成资源泄漏警告。但是,通过移除其中一个

  • 关闭(连接)的调用
  • for循环
 类似资料:
  • Eclipse Java警告:资源泄漏:“Unassigned Closeable Value”从不关闭 漏在哪里?

  • 在中,我收到了一个警告,我不明白这一点。 这是理解问题还是java/eclipse问题?

  • 我使用一个用不同长度的不同值填充字节数组。我使用方法。由于此方法继承自,因此可能会引发IOException。在中有一个方法不会引发IOException,因此我扩展了并覆盖方法,该方法现在也不会引发IOException: 对于扩展类,我在eclipse 4.5.1中得到了资源泄漏的警告,因为我没有关闭代码中的流。的情况并非如此。我的扩展类有什么问题,或者我需要添加什么来删除警告?我知道我可以将

  • 大家晚上好。我是一个使用Java编程的完全初学者,我正在学习“扫描仪”,但是当我在Eclipse中键入这个基本代码时,我收到一条消息说“资源泄漏:‘扫描仪’永远不会关闭。 我做错了什么?

  • 我试图理解不对任何流调用close()会如何影响系统的性能和功能。为了做到这一点,我创建了下面的测试类。