qq_29791809
kakakovic
2017-03-11 07:38

Java执行Linux命令导致内存泄漏

  • 内存泄露
  • java

问题解决了,从JDK1.7升级到JDK8就好了。这个是JDK自己的bug,可以查JDK的buglist

执行下面的代码会导致内存泄漏,实在不知道为啥了,求助
if(SystemUtils.IS_OS_LINUX){
Process process = Runtime.getRuntime().exec(cmd);
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
StringBuilder buf = new StringBuilder();
try {

String line;
while ((line = br.readLine()) != null) {
buf.append(line).append("\n");
}
if (process.waitFor() != 0) {
return "CMD1 Error";
}
return buf.toString();
} catch (java.io.IOException e) {
e.printStackTrace();
return "CMD1 Error";
} finally{
is.close();
isr.close();
br.close();
process.destroy();
}
}

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

4条回答

为你推荐

换一换