kakakovic
2017-03-11 07:38Java执行Linux命令导致内存泄漏
问题解决了,从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条回答
为你推荐
- 去httpClient内存泄漏
- http
- memory-leaks
- 1个回答
- 静态方法会导致内存泄漏吗?
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 0个回答
- 使用 Java 创建内存泄漏
- java
- memory
- memory-leaks
- 0个回答
- python os.system 内存泄漏问题
- python
- 内存泄露
- 测试
- 1个回答
- ArrayList 扩容时如何出现内存溢出的情况
- java
- arraylist
- 7个回答