[发明专利]基于Java语言的动态扩展方法、装置、电子设备及存储介质在审
申请号: | 202010513093.3 | 申请日: | 2020-06-08 |
公开(公告)号: | CN111736916A | 公开(公告)日: | 2020-10-02 |
发明(设计)人: | 刘正阳 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F8/41 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 方高明 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 java 语言 动态 扩展 方法 装置 电子设备 存储 介质 | ||
1.一种基于Java语言的动态扩展方法,其特征在于,包括:
通过API接口接收目标源代码,所述API接口是为接收所述目标源代码而预先创建的;
对所述目标源代码进行编译,得到对应的字节码;
通过类加载器对所述字节码进行加载,得到目标类对象;
执行所述目标类对象对应的目标源代码。
2.根据权利要求1所述的方法,其特征在于,所述执行所述目标类对象对应的目标源代码,包括:
通过Java的反射机制,执行所述目标类对象对应的目标源代码。
3.根据权利要求1所述的方法,其特征在于,所述目标源代码为由用户端输入的待扩展代码,所述待扩展代码为根据新的逻辑需求生成的逻辑代码。
4.根据权利要求1所述的方法,其特征在于,所述对所述目标源代码进行编译,得到对应的字节码,包括:
通过Java的内存编译器,对所述目标源代码进行动态编译,得到所述字节码。
5.根据权利要求1所述的方法,其特征在于,所述字节码与所述目标源代码中的类名对应,所述类名为所述目标源代码对应的标识;
所述对所述目标源代码进行编译,得到对应的字节码之后,包括:
将所述字节码与对应的类名存储至所述类加载器。
6.根据权利要求5所述的方法,其特征在于,所述通过类加载器对所述字节码进行加载,得到目标类对象,包括:
获取目标类名;
从所述类加载器中查找与所述目标类名对应的字节码;
通过所述类加载器创建与所述字节码对应的目标类对象。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述执行所述目标类对象对应的目标源代码之后,包括:
将执行所述目标类对象对应的目标源代码的结果,通过所述API接口返回至用户端。
8.一种基于Java语言的动态扩展装置,其特征在于,包括:
目标源代码接收单元,被配置为执行通过API接口接收目标源代码,所述API接口是为接收所述目标源代码而预先创建的;
代码编译单元,被配置为执行对所述目标源代码进行编译,得到对应的字节码;
代码加载单元,被配置为执行通过类加载器对所述字节码进行加载,得到目标类对象;
代码执行单元,被配置为执行所述目标类对象对应的目标源代码。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的基于Java语言的动态扩展方法。
10.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的基于Java语言的动态扩展方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010513093.3/1.html,转载请声明来源钻瓜专利网。