[发明专利]java虚拟机垃圾回收的方法、系统、设备及存储介质有效
申请号: | 201810039957.5 | 申请日: | 2018-01-16 |
公开(公告)号: | CN108255582B | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 丁宜人;余心宽;陈雷 | 申请(专利权)人: | 携程旅游信息技术(上海)有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 上海隆天律师事务所 31282 | 代理人: | 臧云霄;盛晓颖 |
地址: | 201203 上海市浦东新*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | java 虚拟机 垃圾 回收 方法 系统 设备 存储 介质 | ||
本发明提供了java虚拟机垃圾回收的方法、系统、设备及存储介质,包括步骤:S11,设置计划任务,计划任务被设置为在服务器集群接收请求数少的低峰时间段内主动触发java虚拟机垃圾回收;S12,java应用程序初始化并加载计划任务;S13,读取计划任务以生成定时任务,多个服务器中的每个服务器通过随机散列算法生成定时任务的执行时间;S14,当执行时间到达时,触发服务器执行java虚拟机垃圾回收。本发明通过设置计划任务主动触发java虚拟机垃圾回收,从而有效避免大量java应用程序请求超时或阻塞。
技术领域
本发明涉及java技术,具体地说,涉及java虚拟机垃圾回收的方法、系统、设备及存储介质。
背景技术
近年来,java作为一种面向对象的高级编程语言因其简单易用、分布式、跨平台以及安全性等特征而被广泛应用。java虚拟机是运行所有Java应用程序的抽象计算机,是java语言的运行环境。java虚拟机有分配内存的指令,却没有释放内存的指令。java显著的特点就是引入了垃圾回收机制(GC),即由java虚拟机自身负责决定如何释放以及何时释放不再被应用系统引用的对象所占据的内存。垃圾回收任务由java虚拟机中的垃圾收集器未完成,垃圾收集器的主要作用就是按一定的内存垃圾回收算法,自动回收不再被引用的对象所占用的内存。此外,垃圾收集器也可能移动那些还在被引用的对象,以此减少内存碎片。java虚拟机中的内存管理,实质上是通过不同的垃圾收集器来实现的。垃圾收集器是依据垃圾收集算法运行的系统线程。
然而,虽然GC具有可以有效的防止内存泄露,有效的使用空闲的内存的优势,但是java虚拟机因为要执行GC而停止了java应用程序的执行,即在进行java虚拟机内存清理时,除了GC所需的线程以外,其他所有线程都处于等待状态,直到GC任务完成。因此在GC任务运行期间会造成对java应用程序的阻碍。
发明内容
在对于GC以及java应用程序的运行进行大量研究后进一步发现,造成大量对于java应用程序的请求超时或阻塞的原因,重要影响因素之一是由于GC在通常情况下只能被动触发,而不能主动地被执行,因此GC被执行的时间不可控,从而造成在GC任务在java应用程序请求高峰期运行,进而造成大量请求阻塞,影响用户体验,影响线上应用可用性。
针对上述技术中的问题,本发明为了解决上述技术问题,提供了一种java虚拟机垃圾回收的方法、系统、设备及存储介质,通过设置计划任务主动触发java虚拟机垃圾回收,从而有效避免大量java应用程序请求超时或阻塞。
本发明的第一方面提供一种java虚拟机垃圾回收的方法,java虚拟机运行于服务器集群中的多个服务器中,包括步骤:S11,设置计划任务,计划任务被设置为在服务器集群接收请求数少的低峰时间段内主动触发java虚拟机垃圾回收;S12,java应用程序初始化并加载计划任务;S13,读取计划任务以生成定时任务,多个服务器中的每个服务器通过随机散列算法生成定时任务的执行时间;S14,当执行时间到达时,触发服务器执行java虚拟机垃圾回收。
优选地,在步骤S11前还包括步骤:S101,获取多个java虚拟机内存到达预设存储阈值的时间周期,设置时间周期的均值为执行周期;S102,将执行周期分割为数个时间段;S103,获取服务器集群在多个执行周期的同一时间段内的请求数;S104,将多个时间段按请求数进行排序,设置请求数少的时间段为低峰时间段。
优选地,步骤S13包括:S131,读取计划任务;S132,读取计划任务配置变更;S133,解析计划任务;S134,进行随机散列算法计算执行时间,根据执行时间生成定时任务。
优选地,在步骤S14后还包括步骤:S15,服务器集群以堆栈形式排列分配请求的多个服务器,完成java虚拟机垃圾回收的服务器被排列在堆栈的栈顶。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于携程旅游信息技术(上海)有限公司,未经携程旅游信息技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810039957.5/2.html,转载请声明来源钻瓜专利网。