【技术实现步骤摘要】
本公开涉及计算机软件,特别是涉及一种用于java动态数组的内存预警方法。
技术介绍
1、在java技术发展历程中,内存溢出的问题一直存在,尤其是在分布式系统和云平台中,由于系统复杂性带来的内存管理难题,内存溢出问题更加突出。据有关安全小组称,操作系统中超过50%的安全漏洞都是由内存溢出引起的。
2、例如,堆内存溢出是常见的内存溢出情况之一。堆内存的作用是存放数组和对象实例,即通过指令创建新的对象,例如java动态数组arraylist或引用类型等。当动态数组的容量不足以容纳新添加的对象时,动态数组需要自动扩展空间,但是如果动态数组的容量超过了jvm的内存限制,就会出现内存溢出的情况,从而导致应用程序执行失败,甚至会引发平台崩溃等严重后果。
3、目前当出现内存溢出时可以通过重启jvm,释放未被回收的空间;也可以通过追溯溢出时日志,分析溢出的原因等方式来处理。但这些方式都只能是内存溢出事件发生后才能采用的措施,无法依据管理者的需求对现有内存使用情况进行监控,更无法对内存监控阈值进行动态调节,并对可能出现的内存溢出情况
...【技术保护点】
1.一种用于java动态数组的内存预警方法,其运行于服务器节点上,其特征在于:
2.根据权利要求1所述的用于java动态数组的内存预警方法,其特征在于,所述内存阈值的设置包括多级内存阈值及相应的预警等级,所述预警显示包括图形化显示所述JVM剩余的内存量达到哪级内存阈值及相应的预警等级,以提示对所述内存阈值的设置进行调整并更新本地数据库。
3.根据权利要求1所述的用于java动态数组的内存预警方法,其特征在于,所述形成内存溢出信息,将其写入日志,具体包括:创建常驻进程,收集内存操作日志,当发生内存溢出时,确定发生内存溢出的相关服务器及线程信息,并
...【技术特征摘要】
1.一种用于java动态数组的内存预警方法,其运行于服务器节点上,其特征在于:
2.根据权利要求1所述的用于java动态数组的内存预警方法,其特征在于,所述内存阈值的设置包括多级内存阈值及相应的预警等级,所述预警显示包括图形化显示所述jvm剩余的内存量达到哪级内存阈值及相应的预警等级,以提示对所述内存阈值的设置进行调整并更新本地数据库。
3.根据权利要求1所述的用于java动态数组的内存预警方法,其特征在于,所述形成内存溢出信息,将其写入日志,具体包括:创建常驻进程,收集内存操作日志,当发生内存溢出时,确定发生内存溢出的相关服务器及线程信息,并将其进行预警显示。
4.根据权利要求1所述的用于java动态数组的内存预警方法,其特征在于,所述计算所述每一对象的内存占用量,具体包括:计算所述每一对象的对象头空间、实例数据空间、补齐填充空间,所述对象头空间为固定字节数,所述实例数据空间为所述每一对象对应的实例类型占用的空间,所述补齐填充空间为将所述每一对象按照8字节对齐并去掉对象头空间、实例数据空间后剩余的空间。
5.根据权利要求1所述的用于java动态数组的内存预警方法,其特征在于,所述扩展空间,具体包括:为java动态数组创建的新的连续内存区域,其空间为java动态数组扩展前占用的内存区域空间的1.5倍,并将java动态数组存储的所述每一对象复制到所述新的连续内存区域。
6.一种用于jav...
【专利技术属性】
技术研发人员:高洋,张帅,刘欣昱,贾峰,
申请(专利权)人:本溪钢铁集团信息自动化有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。