欢迎关注方志朋的博客,回复”666“获面试宝典
来源:blog.csdn.net/xiaoyong5854/article/details/106941975
背景
昨晚有一次敲完代码运行完程序后,idea非常卡顿,连输入代码都不能进行,因为有点晚并且累了,所有就关了电脑,今天早上再次打开idea,还是一样卡顿。
因为idea的试用期明天就到期了,所有就先破解了idea,破解完之后,还是非常流畅的,但是一运行程序就拉胯了,就先百度看一下解决方案,以下几个解决方案试了,基本问题还是没有解决,就在群里问了几个大佬,方案不是重装系统就是换电脑,同时开始了电脑的配置讨论,重装系统和换电脑的什么是不可能的,所有只有自己慢慢摸索了。
![2261d0e693e75859cc36048f04c72af9.png](https://i-blog.csdnimg.cn/blog_migrate/003ea4ec5978dc239fe301f93a7fef82.png)
![282c2b2b981a56ef2753ca3d8d1236a2.png](https://i-blog.csdnimg.cn/blog_migrate/ac255ad8dbff607d8f5f0aba0b53e83c.png)
1 修改idea配置文件安装目录下的bin\idea.exe.vmoptions
如图:
![151613d4e2d656e36b882ab98e7865db.png](https://i-blog.csdnimg.cn/blog_migrate/7a1f8b7045882bf9cc077d71fbe15130.png)
结果:配置改完之后,打开项目确实快了点,但是CPU占用率居高不下的问题还是没有解决。
2 关掉代码检查
setting -> Editor -> Inspections
,把右面方框框里的对勾全去掉,或者根据需要去掉。原理是关闭不必要的代码检查,提高速度。结果:没啥用!
3 卸载多余的插件
![5b731ebe38e8de4cf0672cab0062d7b5.png](https://i-blog.csdnimg.cn/blog_migrate/6ec61a97c41af6799efed6be554f1a3b.png)
结果:我才刚开始学,都没有用过啥插件,如果选择custom模式,都不明白那些插件是必须的,而且怕万一搞出更大的麻烦,这个方案pass。
4 选择合适的jdk版本
刚开始我配置的时候就是选择官方的1.8jdk版本,并不是idea自带的,而且我关掉这个项目重新打开另一个项目,另一个项目和这个项目的规模大小差不多,都是10个Module左右。
结果:这个方案pass。
这个时候,我看到网上一个方案说可能是内存泄漏,我觉得有点道理,因为我这是昨晚突然CPU占用率过大,电脑自带的风扇呼呼的响,但是我没有使用指针之类的呀,就是练习的多线程。
问题可能就出在这个多线程这里,于是乎我去看了看代码,和视频里老师的代码是一模一样的,我在看了看任务管理器,Intellij IDEA,如图:
![0a187c791a0627a3bd4bea0ebec72ef3.png](https://i-blog.csdnimg.cn/blog_migrate/836904550cfd395a9ea13ee9a55155b1.png)
没弄好之前,控制台窗口主进程有三个,Java™ Platform SE binary
有两个,其中一个的CPU占用率高达80%多,于是我搜了一下,发现就是多线程中的while(true)的原因。当时视频里老师的代码如图:
![b0dbd24359adc8fb77d3ead0662fb0a9.png](https://i-blog.csdnimg.cn/blog_migrate/d32a1a34f45144eb1f920ad4a06ffbff.png)
![849795c4c7d27680a3268a672222fed4.png](https://i-blog.csdnimg.cn/blog_migrate/757bf84bb351970147e5488a02f93411.png)
我后来设置了一个flag标志,当ticket小于0的时候,就令flag = true;
问题完美解决。
现在程序运行时IDEA的资源占用率如下:
![7a219f9701c3f6279fa64e96d438299a.png](https://i-blog.csdnimg.cn/blog_migrate/915e41142a0ec6a3e61a077bd84f0b89.png)
结语
问题解决了,心情就舒畅多了,就像bug一样,解决的bug愈多,能力和经验就会增加,但是一旦没有得到合理的解决,手里的肉粽子就不香了!
热门内容:
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。
明天见(。・ω・。)ノ♡