解决打开IDEA 对 CPU占用率巨大的问题

2022-04-06 11:19:15 浏览数 (1)

点击上方“芋道源码”,选择“设为星标”

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 10:33 更新文章,每天掉亿点点头发...

源码精品专栏

  • 原创 | Java 2021 超神之路,很肝~
  • 中文详细注释的开源项目
  • RPC 框架 Dubbo 源码解析
  • 网络应用框架 Netty 源码解析
  • 消息中间件 RocketMQ 源码解析
  • 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析
  • 作业调度中间件 Elastic-Job 源码解析
  • 分布式事务中间件 TCC-Transaction 源码解析
  • Eureka 和 Hystrix 源码解析
  • Java 并发源码

来源:blog.csdn.net/xiaoyong5854/

article/details/106941975/

  • 背景
  • 1 修改idea配置文件安装目录下的binidea.exe.vmoptions
  • 2 关掉代码检查
  • 3 卸载多余的插件
  • 4 选择合适的jdk版本
  • 结语

背景

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

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

基于 Spring Boot MyBatis Plus Vue & Element 实现的后台管理系统 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能。 项目地址:https://github.com/YunaiV/ruoyi-vue-pro

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

如图:

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

基于微服务的思想,构建在 B2C 电商场景下的项目实战。核心技术栈,是 Spring Boot Dubbo 。未来,会重构成 Spring Cloud Alibaba 。 项目地址:https://github.com/YunaiV/onemall

2 关掉代码检查

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

3 卸载多余的插件

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

4 选择合适的jdk版本

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

结果:这个方案pass。

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

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

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

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

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

结语

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



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 101 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

代码语言:javascript复制
文章有帮助的话,在看,转发吧。谢谢支持哟 (*^__^*)

0 人点赞