[发明专利]基于Java的动态构建模型的方法、装置、系统和可读介质有效
申请号: | 202010638368.6 | 申请日: | 2020-07-06 |
公开(公告)号: | CN111522545B | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 杨涛;刘丁源 | 申请(专利权)人: | 嘉兴太美医疗科技有限公司 |
主分类号: | G06F8/35 | 分类号: | G06F8/35;G06F8/30;G06F8/41;G06F9/445 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 骆希聪 |
地址: | 314001 浙江省嘉兴市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 java 动态 构建 模型 方法 装置 系统 可读 介质 | ||
1.一种基于Java的动态构建模型的方法,包括:
接收终端传入的基于应用/JSON格式的RESTful调用请求,其中所述RESTful调用请求包含基于JSON格式的模型类的字符串;
判断所述模型类的名称是否存在,当所述名称存在时,则确定所述模型类被加载过,当所述名称不存在时,则确定所述模型类未被加载过;
当所述模型类未被加载过时,根据所述字符串构建相应的基于JSON格式的抽象语法树,使用JSON语法解析器对所述抽象语法树进行广度遍历,根据所述抽象语法树的节点创建所述模型类,根据所述模型类编译相应的字节码文件;以及
通过与所述模型类相对应的类加载器将所述字节码文件加载进Java虚拟机并返回相应的模型类对象。
2.如权利要求1所述的方法,其特征在于,还包括:
当所述模型类被加载过时,判断是否需要覆盖所述模型类;
当需要覆盖所述模型类时,根据所述字符串构建相应的基于JSON格式的抽象语法树,使用JSON语法解析器对所述抽象语法树进行广度遍历,根据所述抽象语法树的节点创建所述模型类,并且根据所述模型类编译相应的字节码文件;以及
当不需要覆盖所述模型类时,根据所述模型类编译相应的字节码文件。
3.如权利要求1所述的方法,其特征在于,所述判断与所述字符串对应的模型类是否被加载过是基于双亲委派机制进行判断。
4.如权利要求1或2所述的方法,其特征在于,所述通过与所述模型类相对应的类加载器将所述字节码文件加载进Java虚拟机为同步机制。
5.如权利要求1所述的方法,其特征在于,还包括:
将所述字节码文件转化为相应的字符串并保存至数据库和/或缓存。
6.如权利要求5所述的方法,其特征在于,所述根据所述抽象语法树的节点创建所述模型类是使用Commons-lang包和Jackson包进行创建。
7.一种基于Java的动态构建模型的装置,包括:
接收模块,用于接收终端传入的基于应用/JSON格式的RESTful调用请求,其中所述RESTful调用请求包含基于JSON格式的模型类的字符串;
加载判断模块,用于判断所述模型类的名称是否存在,当所述名称存在时,则确定所述模型类被加载过,当所述名称不存在时,则确定所述模型类未被加载过;
第一模型构建模块,用于当所述模型类未被加载过时,根据所述字符串构建相应的基于JSON格式的抽象语法树,使用JSON语法解析器对所述抽象语法树进行广度遍历,根据所述抽象语法树的节点创建所述模型类,根据所述模型类编译相应的字节码文件;以及
加载模块,用于通过与所述模型类相对应的类加载器将所述字节码文件加载进Java虚拟机并返回相应的模型类对象。
8.一种动态构建模型类系统,包括:
存储器,用于存储可由处理器执行的指令;以及处理器,用于执行所述指令以实现如权利要求1-6任一项所述的方法。
9.一种存储有计算机程序代码的计算机可读介质,所述计算机程序代码在由处理器执行时实现如权利要求1-6任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于嘉兴太美医疗科技有限公司,未经嘉兴太美医疗科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010638368.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:换模小车
- 下一篇:人员信息管理方法、计算机设备和存储介质