java.exe高cpu使用率

java.exe高cpu使用率,java,netbeans,jframe,cpu,Java,Netbeans,Jframe,Cpu,我正在使用Netbeans 8.0.2开发一个Java GUI,它在JFrame中有一个登录表单和一些其他JinternalFrame。Netbeans不使用高CPU,但每当我运行项目并打开windows时,CPU就会上升到90-93%。有人能告诉我这是什么原因吗?您的代码有一些严重问题,但CPU使用率高的直接原因是: while(!AccountoBot.loggedIn) { jl.setText("LOG IN TO VIEW THIS SECTION");

我正在使用Netbeans 8.0.2开发一个Java GUI,它在JFrame中有一个登录表单和一些其他JinternalFrame。Netbeans不使用高CPU,但每当我运行项目并打开windows时,CPU就会上升到90-93%。有人能告诉我这是什么原因吗?

您的代码有一些严重问题,但CPU使用率高的直接原因是:

while(!AccountoBot.loggedIn)
    {
        jl.setText("LOG IN TO VIEW THIS SECTION");
        jl.setHorizontalAlignment(CENTER);
        add(jl);
    } 
您正处于无限循环中(至少在有人登录之前)设置UI元素。它不会阻塞UI(因为您是在另一个线程中启动的),但会导致非常高的CPU消耗


您应该查看上的官方教程,也许在您改进了一点之后,可以继续发布,以获得更详细的代码反馈。

我查看了task manager,它显示Java Platform SE Binary是罪魁祸首。您是否检查了代码,寻找无限循环?使用探查器并检查应用程序大部分时间在哪里工作。我打赌你会在(!somecondition){Thread.sleep(100);}的时候来一些
。。。或者类似的东西。@bcaceiro你是怎么做到的?@Fildor我真的很抱歉,但我几乎是个傻瓜,不知道这是什么,也不知道怎么做。你能帮帮我吗?谢谢你!这真的很有帮助。我注释掉了你提到的部分,然后运行了三次项目,但是cpu使用率没有超过4%!!同样的事情早些时候会使cpu崩溃。如果可能的话,你能建议我如何解决登录问题吗?它基本上是一个检查是否有有效用户登录的页面。@sumithakraborty理想情况下,您可以创建具有“注销”状态的UI,并实现某种侦听器,以便在用户(例如)单击“登录”按钮时进行更新,而无需继续检查用户是否登录。TBH,您可能根本不需要自定义线程。再次感谢您的快速回复:)我是一个试图解决所有这些问题的noob,所以感谢您如此快速地帮助我。