【288期】面试官问:如何解决打开 IDEA 对 CPU 占用率超高的问题?

点击上方“Java精选”,选择“设为星标”

别问别人为什么,多问自己凭什么!

下方有惊喜,留言必回,有问必答!

每一天进步一点点,是成功的开始...

背景

昨晚有一次敲完代码运行完程序后,idea非常卡顿,连输入代码都不能进行,因为有点晚并且累了,所有就关了电脑,今天早上再次打开idea,还是一样卡顿。

因为idea的试用期明天就到期了,所有就先破解了idea,破解完之后,还是非常流畅的,但是一运行程序就拉胯了,就先百度看一下解决方案,以下几个解决方案试了,基本问题还是没有解决,就在群里问了几个大佬,方案不是重装系统就是换电脑,同时开始了电脑的配置讨论,重装系统和换电脑的什么是不可能的,所有只有自己慢慢摸索了。

cbf46a9c089daef0361e394b0a29b634.png fe4c9702a567da2233c603794a018e2c.png

1、修改idea配置文件安装目录下的bin\idea.exe.vmoptions

如图:

37aebb14c878ad4b8946b70884684c9b.png

结果:配置改完之后,打开项目确实快了点,但是CPU占用率居高不下的问题还是没有解决。

2、关掉代码检查

setting -> Editor -> Inspections,把右面方框框里的对勾全去掉,或者根据需要去掉。原理是关闭不必要的代码检查,提高速度。结果:没啥用!

3、卸载多余的插件

55556ab7a32f9834cf92f871fdcf4347.png

结果:我才刚开始学,都没有用过啥插件,如果选择custom模式,都不明白那些插件是必须的,而且怕万一搞出更大的麻烦,这个方案pass。

4、选择合适的jdk版本

刚开始我配置的时候就是选择官方的1.8jdk版本,并不是idea自带的,而且我关掉这个项目重新打开另一个项目,另一个项目和这个项目的规模大小差不多,都是10个Module左右。

结果:这个方案pass。

这个时候,我看到网上一个方案说可能是内存泄漏,我觉得有点道理,因为我这是昨晚突然CPU占用率过大,电脑自带的风扇呼呼的响,但是我没有使用指针之类的呀,就是练习的多线程。

问题可能就出在这个多线程这里,于是乎我去看了看代码,和视频里老师的代码是一模一样的,我在看了看任务管理器,Intellij IDEA,如图:

94bf895191595130e1d579f0e741649c.png

没弄好之前,控制台窗口主进程有三个,Java™ Platform SE binary 有两个,其中一个的CPU占用率高达80%多,于是我搜了一下,发现就是多线程中的while(true)的原因。当时视频里老师的代码如图:

8d3a28f8a24639b80d5a061cc46020bf.png 3207dc987021b8ad631796839072c35f.png

我后来设置了一个flag标志,当ticket小于0的时候,就令flag = true;问题完美解决。

现在程序运行时IDEA的资源占用率如下:

e3042b856c52fbcbbd67ad5fa48c2f89.png

结语

问题解决了,心情就舒畅多了,就像bug一样,解决的bug愈多,能力和经验就会增加,但是一旦没有得到合理的解决,手里的肉粽子就不香了!

作者:谢晓永

https://blog.csdn.net/xiaoyong5854/article/details/106941975

公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!

------ THE END ------

b3dea8ccca2d107f073e1bdb981b5dff.png精品资料,超赞福利!4f868389daca6b1c928a854d776cd694.png

>Java精选面试题<
3000+ 道面试题在线刷,最新、最全 Java 面试题!

701c3fa2bda926f67e7525a12ee111f6.png

5b45c458a11f1e9b8b53ae7a8bdb6db7.png

期往精选  点击标题可跳转

【280期】Spring Boot 利用 Redis 实现接口限流

【281期】面试官问:淘宝七天自动确认收货,可以怎么实现?

【282期】Spring Boot 项目使用 Disruptor 做内部消息队列,没看错!

【283期】面试官问:高并发场景下,如何保证全局唯一分布式 ID 生成?

【284期】高逼格的别样 SQL 写法:行行比较!

【285期】JDK9 为何要将 String 的底层实现由 char[] 改成了 byte[]?

【286期】领域驱动设计(DDD)架构演进和DDD的几种典型架构介绍(图文详解)

【287期】5 款免费又好用的 Docker 管理神器!酷炫到没朋友!

c63894b8b9e91e76f140cc2b844bd271.png 技术交流群!7c82bfb4bdbbc70c71ba52a2b4c76804.png

最近有很多人问,有没有读者交流群!想知道如何加入?方式很简单,兴趣相投的朋友,只需要点击下方卡片,回复“加群”,即可无套路入交流群!

文章有帮助的话,在看,转发吧!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值