Java程序占CPU多怎么办?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java程序占CPU多怎么办?相关的知识,希望对你有一定的参考价值。
我开了个程序,在任务管理器中显示的是java但最近几天突然占用CPU很多,在网上找了很多解决办法,有的太专业看不懂,请问有没有简单点的解决办法,或者说的详细点,谢谢!
把jdk卸载掉,控制面板——添加删除程序——找到jdk删除就可以卸载了。或者去开始——程序——找到jdk,卸载掉就行了。
或者找到jdk安装文件夹。里面有卸载文件的。java是在此环境上运行的,只要没了运行环境它是启动不了的追问
我用一个软件出来的JAVA,如果我把那个jdk删了,那我那个程序还能正常用吗?
追答那肯定不行了
参考技术A 直接下个鲁大师,检测下CPU温度变化情况,如果温度变化幅度很大,达到70度以上看了,一般就是CPU散热器的问题换了就OK,我遇到过同样的情况。 参考技术B 你看看你的java任务是哪个?追问我知道是哪个,但那个程序我必须要用,以前用都没有过这种情况
追答你的程序时哪个 贴出来看看先
java 多线程 cpu 占用率高的问题
我写了一个多线程下载的小程序,我创建了10个线程同时下载,cpu占用率很高,不知道是什么原因,请大家帮忙,主要代码如下
public class test implements Runnable
public InputStream in=null;
public FileOutputStream out=null;
@Override
public void run()
//打开网络连接获取 inputstream 对象
//略........
this.out = new FileOutputStream(this.filepath,true);
byte[] bytes = new byte[4096];
while((c = this.in.read(bytes))!= -1) // c 是从网络连接取得的inputstream
this.out.write(bytes,0,c);
this.out.close();
this.in.close();
另外问一下, bytes为4096字节 会不会溢出,如何避免溢出?
几位有没有办法让CPU占用率降下来,用buffered的文件流可以让cpu降下来吗,我试一下,别的地方还有什么要改的,请大家多指导?
楼主有没有使用线程池,如果没有你是不是使用固定数量的线程还是不定数量的线程。
使用BUFFER可以提高读写效率 参考技术A CPU 占用率高是很正常的事情,个人觉得(饿,我是老白...不是高手..)
我也不知道你这个CPU占用率具体”多高“,因此也不好判断你这么高是不是正常
其次,溢出问题。
4096一般够用了,你可以想象一下一般的键盘输入缓存是多大就知道了
你不放心的话可以加一个try catch语句。本回答被提问者采纳 参考技术B cpu占用高很正常,十个线程而且你while里只是写入。cpu开销当然会很大
4096 4K,十个40K 输入输出流 对内存来说可以忽略不计 参考技术C I see a potential problem of your implementation. It might unnecessarily invoke too many times the underlying file system's write method which is expensive. You can use buffered output stream to avoid it:
...
public OutputStream out=null;
...
this.out = new BufferedOutputStream(new FileOutputStream(this.filepath,true));
以上是关于Java程序占CPU多怎么办?的主要内容,如果未能解决你的问题,请参考以下文章