Freeing java file handles

后端 未结 3 1572
庸人自扰
庸人自扰 2021-01-25 08:18

We have a rather large and complex application written in Java which is running on top of the Gridgain package. The problem I am having is that this application will sit there p

3条回答
  •  遥遥无期
    2021-01-25 08:46

    Finalizers can't be relied on to be called. It's not a good approach for resource management. The standard construct in Java for this is:

    InputStream in = null;
    try {
      in = ...;
      // do stuff
    } catch (IOException e) {
      // error
    } finally {
      if (in != null) { try { in.close(); } catch (Exception e) { } }
      in = null;
    }
    

    You may want to wrap these handles inside a class but that's not a robust approach.

提交回复
热议问题