網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
背景:昨晚有一次敲完代碼運(yùn)行完程序后,idea非常卡頓,連輸入代碼都不能進(jìn)行,因?yàn)橛悬c(diǎn)晚并且累了,所有就關(guān)了電腦,今天早上再次打開idea,還是一樣卡頓,因?yàn)閕dea的試用期明天就到期了,所有就先破解了idea,破解完之后,還是非常流暢的,但是一運(yùn)行程序就拉胯了,就先百度看一下解決方案,以下幾個(gè)解決方案試了,基本問(wèn)題還是沒(méi)有解決,就在群里問(wèn)了幾個(gè)大佬,方案不是重裝系統(tǒng)就是換電腦,同時(shí)開始了電腦的配置討論,重裝系統(tǒng)和換電腦的什么是不可能的,所有只有自己慢慢摸索了。
1 修改idea配置文件安裝目錄下的bin\idea.exe.vmoptions
如圖:
結(jié)果:配置改完之后,打開項(xiàng)目確實(shí)快了點(diǎn),但是CPU占用率居高不下的問(wèn)題還是沒(méi)有解決。
2 關(guān)掉代碼檢查
setting -> Editor -> Inspections,把右面方框框里的對(duì)勾全去掉,或者根據(jù)需要去掉。原理是關(guān)閉不必要的代碼檢查,提高速度。
結(jié)果: 沒(méi)啥用!
3 卸載多余的插件
結(jié)果:我才剛開始學(xué),都沒(méi)有用過(guò)啥插件,如果選擇custom模式,都不明白那些插件是必須的,而且怕萬(wàn)一搞出更大的麻煩,這個(gè)方案pass。
4 選擇合適的jdk版本
剛開始我配置的時(shí)候就是選擇官方的1.8jdk版本,并不是idea自帶的,而且我關(guān)掉這個(gè)項(xiàng)目重新打開另一個(gè)項(xiàng)目,另一個(gè)項(xiàng)目和這個(gè)項(xiàng)目的規(guī)模大小差不多,都是10個(gè)Module左右。
結(jié)果:這個(gè)方案pass。
這個(gè)時(shí)候,我看到網(wǎng)上一個(gè)方案說(shuō)可能是內(nèi)存泄漏,我覺(jué)得有點(diǎn)道理,因?yàn)槲疫@是昨晚突然CPU占用率過(guò)大,電腦自帶的風(fēng)扇呼呼的響,但是我沒(méi)有使用指針之類的呀,就是練習(xí)的多線程。問(wèn)題可能就出在這個(gè)多線程這里,于是乎我去看了看代碼,和視頻里老師的代碼是一模一樣的,我在看了看任務(wù)管理器,Intellij IDEA,如圖:
沒(méi)弄好之前,控制臺(tái)窗口主進(jìn)程有三個(gè),Java? Platform SE binary 有兩個(gè),其中一個(gè)的CPU占用率高達(dá)80%多,于是我搜了一下,發(fā)現(xiàn)就是多線程中的while(true)的原因。當(dāng)時(shí)視頻里老師的代碼如圖:
我后來(lái)設(shè)置了一個(gè)flag標(biāo)志,當(dāng)ticket小于0的時(shí)候,就令flag = true;問(wèn)題完美解決。
現(xiàn)在程序運(yùn)行時(shí)IDEA的資源占用率如下:
結(jié)語(yǔ):?jiǎn)栴}解決了,心情就舒暢多了,就像bug一樣,解決的bug愈多,能力和經(jīng)驗(yàn)就會(huì)增加,但是一旦沒(méi)有得到合理的解決,手里的肉粽子就不香了!
原文鏈接:https://blog.csdn.net/xiaoyong5854/article/details/106941975
相關(guān)推薦
- 2023-01-10 Docker調(diào)度器Kubernetes使用過(guò)程_docker
- 2022-05-25 Inspinia的version 2.4模板使用的谷歌字體加載很慢問(wèn)題解決
- 2023-04-23 Python實(shí)現(xiàn)讀取csv文件并進(jìn)行排序_python
- 2021-12-08 服務(wù)器并發(fā)量估算公式和計(jì)算方法_服務(wù)器其它
- 2022-12-21 kubernetes?k8s?存儲(chǔ)動(dòng)態(tài)掛載配置詳解_云其它
- 2022-12-09 python中為main方法傳參問(wèn)題_python
- 2022-08-12 python算法加密?pyarmor與docker_python
- 2022-06-07 Sphinx生成python文檔示例圖文解析_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支