电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

如何解決項目中java heap space的問題

瀏覽:5日期:2022-08-29 09:03:35

起因

17年的一個項目出了OOM(java heap space)問題,眼下有個問題:法院項目,不能外網,一連接外網高院會直接定位到計算機,發出警報(檔案的機密性啊)不能遠程,那只能視頻教他們怎么做了,全程和一個文員說代碼,真的很累==!

過程

這個過程對一個不太了解內存的問題的開發無疑是艱難的,搜了一下,知道了是內存溢出導致的,于是著手解決

網上大多數都說調整運行內存,我也跟這個試了,但是不見效果,具體操作過程如下

設置-Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=256M 出現異常,然后調大參數-Xms512m -Xmx1024m 沒有解決,最后調整到2G 還沒有解決 以上均在GUI界面修改java options參數,因為那邊安裝的服務,至于網上說修改注冊表和catalina.bat或者catalina.sh的自行搜索

如何解決項目中java heap space的問題

既然這樣,那就只能通過代碼優化了,開啟項目,監聽堆和內存運行情況,操作如下

先打開jdk下的內存監聽程序(jdk/bin/jvisualvm.exe),這是jdk自帶的,如果你項目已經打開的情況下,工具里面會顯示tomcat運行的情況

如何解決項目中java heap space的問題

只需要監聽CPU和內存這兩個部分,CPU會顯示CPU運行情況和GC處理頻率;內存會顯示運行時堆內數據的變化,如對象實例等。

給出現內存溢出的模塊發一個請求,如果有異常的情況下你就可以監測出來,我的就是一次性加載數據太多,實例化對象太多導致的堆中年輕代和老年代數據占用完

我復現了一下,堆中出現了一個很高的點,那就是在加載樹結構,然后忽然下落,是因為JVM 98% 的時間都用在了GC上,出現了java heap space ,CPU也能直觀的看到,垃圾回收活動出現了一個較高的峰值

如何解決項目中java heap space的問題

我們來看一下堆峰值時的數據,創建了300萬的ArrayList和TreeVO對象

如何解決項目中java heap space的問題

根據這些,知道了代碼中出現的問題,代碼中有一塊調用了這樣的代碼,我們來看一下,這里創建了ArrayList和TreeVO ,而且ArrayList和TreeVO之間是強引用關系,GC不能清除,所以就導致了OOM

如何解決項目中java heap space的問題

知道了問題,那就可以修改了,一步一步追溯到上面的方法,是因為查詢條件的限制,像當于直接把所有文件查詢出來,又因為數據有上萬條,所以就各創建300W的對象,數據庫刪除排序條件,問題解決了 = 。=

這里還不夠理想,TreeVO應該放在循環外面,循環內把對象實例化,最后釋放對象和集合

總結

問題總算解決了,這也是一次難得的真實上手內存的問題,可歌可泣啊 現在的開發人員可以說是上手就能寫代碼,往往忽視了最重要的基礎 看書是必不可少的(因為我最近在看《深入理解java虛擬機》,不然怎么知道jvisualvm查看內存啊) 網上很多講解內存的,但是不夠全面,想要系統的了解還是看書吧

到此這篇關于如何解決項目中java heap space的問題的文章就介紹到這了,更多相關java heap space問題內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Java
相關文章:
主站蜘蛛池模板: 百度爱采购运营研究社社群-店铺托管-爱采购代运营-良言多米网络公司 | 高压油管,液压接头,液压附件-烟台市正诚液压附件 | VOC检测仪-甲醛检测仪-气体报警器-气体检测仪厂家-深恒安科技有限公司 | 热处理炉-退火炉-回火炉设备厂家-丹阳市电炉厂有限公司 | 连续密炼机_双转子连续密炼机_连续式密炼机-南京永睿机械制造有限公司 | 工控机,嵌入式主板,工业主板,arm主板,图像采集卡,poe网卡,朗锐智科 | 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 | 南溪在线-南溪招聘找工作、找房子、找对象,南溪综合生活信息门户! | 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | 医疗仪器模块 健康一体机 多参数监护仪 智慧医疗仪器方案定制 血氧监护 心电监护 -朗锐慧康 | 尾轮组_头轮组_矿用刮板_厢式刮板机_铸石刮板机厂家-双驰机械 | 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 波纹补偿器_不锈钢波纹补偿器_巩义市润达管道设备制造有限公司 | 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 无机纤维喷涂棉-喷涂棉施工工程-山东华泉建筑工程有限公司▲ | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 世界箱包品牌十大排名,女包小众轻奢品牌推荐200元左右,男包十大奢侈品牌排行榜双肩,学生拉杆箱什么品牌好质量好 - Gouwu3.com | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 背压阀|减压器|不锈钢减压器|减压阀|卫生级背压阀|单向阀|背压阀厂家-上海沃原自控阀门有限公司 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 石栏杆_青石栏杆_汉白玉栏杆_花岗岩栏杆 - 【石雕之乡】点石石雕石材厂 | wika威卡压力表-wika压力变送器-德国wika代理-威卡总代-北京博朗宁科技 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 餐饮加盟网_特色餐饮加盟店_餐饮连锁店加盟| 威客电竞(vk·game)·电子竞技赛事官网 | 365文案网_全网创意文案句子素材站 | 健康管理师报考条件,考试时间,报名入口—首页 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 | 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | 高压绝缘垫-红色配电房绝缘垫-绿色高压绝缘地毯-上海苏海电气 | 品牌广告服务平台,好排名,好流量,好生意。| 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 辊道窑炉,辊道窑炉厂家-山东艾希尔| 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 水冷式工业冷水机组_风冷式工业冷水机_水冷螺杆冷冻机组-深圳市普威机械设备有限公司 | 自清洗过滤器,浅层砂过滤器,叠片过滤器厂家-新乡市宇清净化 | 合肥宠物店装修_合肥宠物美容院装修_合肥宠物医院设计装修公司-安徽盛世和居装饰 | 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 |