[发明专利]JAVA虚拟机类加载方法及系统在审
申请号: | 202011380272.0 | 申请日: | 2020-12-01 |
公开(公告)号: | CN112463303A | 公开(公告)日: | 2021-03-09 |
发明(设计)人: | 龚展鸿;谢波;程春生;梁锡坤 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;孙乳笋 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | java 虚拟机 加载 方法 系统 | ||
本发明提供一种JAVA虚拟机类加载方法及系统,应用于云计算技术领域。该JAVA虚拟机类加载方法包括:获取类加载请求,类加载请求包括类名称;确定类名称对应的多个类路径;根据预设的策略配置文件和多个类路径对应的类文件生成目标类文件;加载目标类文件的目标字节码;对目标字节码进行初始化,生成类对象。本发明可以确保应用程序在不同部署环境运行功能的一致性,进而提高了应用投产上线的运行安全性。
技术领域
本发明涉及云计算技术领域,具体地,涉及一种JAVA虚拟机类加载方法及系统。
背景技术
随着开源技术的发展和系统越来越复杂模块化,开发人员为了不断满足新需求而开发的功能可能需要频繁地新增引入外部的jar包进行依赖,而不同的jar包中经常存在相同的类,导致同一个信息系统的程序中引入了冲突的类和方法。由于JAVA虚拟机的实现机制,在不同的文件系统下可能会产生不同的类加载顺序,这就导致同样的应用程序部署在不同的环境下由于类加载顺序的不同可能体现出不同的应用行为。不可预估的类加载顺序经常会导致应用系统部署上线后遇到功能异常,应用开发人员对于可预估的类加载顺序需求迫切,因此亟需实现一种可以控制固定类加载顺序的方法来解决日益突出的冲突类的加载顺序问题。
发明内容
本发明实施例的主要目的在于提供一种JAVA虚拟机类加载方法及系统,以确保应用程序在不同部署环境运行功能的一致性,进而提高了应用投产上线的运行安全性。
为了实现上述目的,本发明实施例提供一种JAVA虚拟机类加载方法,包括:
获取类加载请求,类加载请求包括类名称;
确定类名称对应的多个类路径;
根据预设的策略配置文件和多个类路径对应的类文件生成目标类文件;
加载目标类文件的目标字节码;
对目标字节码进行初始化,生成类对象。
本发明实施例还提供一种JAVA虚拟机类加载系统,包括:
获取单元,用于获取类加载请求,所述类加载请求包括类名称;
类路径确定单元,用于确定类名称对应的多个类路径;
目标类文件生成单元,用于根据预设的策略配置文件和多个类路径对应的类文件生成目标类文件;
加载单元,用于加载目标类文件的目标字节码;
类对象生成单元,用于对目标字节码进行初始化,生成类对象。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,处理器执行计算机程序时实现所述的JAVA虚拟机类加载方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现所述的JAVA虚拟机类加载方法的步骤。
本发明实施例的JAVA虚拟机类加载方法及系统先确定类名称对应的多个类路径,然后根据策略配置文件和多个类路径对应的类文件生成目标类文件,最后对加载目标类文件获取的目标字节码进行初始化,生成类对象,以确保应用程序在不同部署环境运行功能的一致性,进而提高了应用投产上线的运行安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中JAVA虚拟机类加载系统的结构图;
图2是本发明实施例中JAVA虚拟机类加载方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011380272.0/2.html,转载请声明来源钻瓜专利网。