【发布时间】:2013-06-26 11:29:50
【问题描述】:
在这段代码中,我正在从流中读取一个值。但是 readline() 方法占用了更多的 CPU。你能帮我解释一下为什么会这样,并给我建议以尽量减少 CPU 使用率。
HttpURLConnection request = (HttpURLConnection) url.openConnection();
request.setRequestMethod("POST");
request.setRequestProperty("Content-Length", "0");
request.setUseCaches(false);
InputStreamReader in = new InputStreamReader((InputStream) request.getContent());
BufferedReader buff = new BufferedReader(in);
while(line = buff.readLine() != null) {
System.out.print("hello");
}
【问题讨论】:
-
为什么你想让你的程序运行得更慢?
-
“消耗 99% CPU”持续多长时间?
-
从我启动我的应用程序并消耗 99% 的 CPU 直到我关闭我的应用程序
-
您是否尝试过
jstack来查看问题出在哪里? -
当我遇到性能问题时,我更喜欢
jvisualvm。