CN115586904B - 一种基于JSON数据格式描述的Java Bean的动态生成方法 - Google Patents

一种基于JSON数据格式描述的Java Bean的动态生成方法 Download PDF

Info

Publication number
CN115586904B
CN115586904B CN202211587536.9A CN202211587536A CN115586904B CN 115586904 B CN115586904 B CN 115586904B CN 202211587536 A CN202211587536 A CN 202211587536A CN 115586904 B CN115586904 B CN 115586904B
Authority
CN
China
Prior art keywords
class
java
attribute
annotation
specified
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211587536.9A
Other languages
English (en)
Other versions
CN115586904A (zh
Inventor
干鹏宇
何旭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yunzhu Information Technology Chengdu Co ltd
Original Assignee
Yunzhu Information Technology Chengdu Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yunzhu Information Technology Chengdu Co ltd filed Critical Yunzhu Information Technology Chengdu Co ltd
Priority to CN202211587536.9A priority Critical patent/CN115586904B/zh
Publication of CN115586904A publication Critical patent/CN115586904A/zh
Application granted granted Critical
Publication of CN115586904B publication Critical patent/CN115586904B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于JSON数据格式描述的Java Bean的动态生成方法,属于大数据技术领域,所述方法包括将JSON字符串作为输入,并使用JSON序列化工具将JSON字符串反序列化为Java对象;对所述Java对象进行输入校正;使用字节码操作工具,构建类属性模型,对输入校正的Java对象进行Java Bean的动态生成。本发明将Java Bean动态生成的逻辑进行高度抽象,避免了将具体某个Java Bean的生成逻辑耦合在代码中而难以维护;同时本发明避免了Java Bean定义变动时需要修改源代码重新启动项目的问题,提高了灵活性。

Description

一种基于JSON数据格式描述的Java Bean的动态生成方法
技术领域
本发明属于大数据技术领域,具体涉及一种基于JSON数据格式描述的Java Bean的动态生成方法。
背景技术
Java Bean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用Java Bean减少重复代码,使整个JSP代码的开发更简洁。JSP搭配Java Bean来使用,具有以下的优点:一是可将HTML和Java代码分离,这主要是为了日后维护的方便。如果把所有的程序代码(HTML和Java)写到JSP页面中,会使整个程序代码又多又复杂,造成日后维护上的困难。二是可利用Java Bean的优点,将日常用到的程序写成Java Bean组件,当在JSP要使用时,只要调用Java Bean组件来执行用户所要的功能,不用再重复写相同的程序,这样以来也可以节省开发所需的时间。
现有技术中,Java Bean的动态生成包括:直接使用各种字节码操作工具(如ByteBuddy、ASM、Cglib等)进行,或者基于各种自定义DSL(Domain Specific Language)描述类的定义,调用字节码操作工具完成动态类生成。上述第一种方式需要直接将动态生成的实现逻辑耦合在代码中,每生成一种Java Bean就需要编写一套对应的动态生成逻辑;而第二种方式需要用户学习各种DSL的规则,不能实现一份定义,多处可用的便捷。
因此,本发明提供了一种基于JSON数据格式描述的Java Bean的动态生成方法,以至少解决上述部分技术问题。
发明内容
本发明要解决的技术问题是:提供一种基于JSON数据格式描述的Java Bean的动态生成方法,以至少解决上述部分技术问题。
为实现上述目的,本发明采用的技术方案如下:
一种基于JSON数据格式描述的Java Bean的动态生成方法,包括以下步骤:
步骤1、将JSON字符串作为输入,并使用JSON序列化工具将JSON字符串反序列化为Java对象;
步骤2、对所述Java对象进行输入校正;
步骤3、使用字节码操作工具,构建类属性模型,对输入校正的Java对象进行JavaBean的动态生成。
进一步的,所述步骤2包括:步骤21、没有指定的基础包,则报错并程序中止;步骤22、没有指定的类名,则默认类名的赋值为DynamicBean加上一个随机数;步骤23、没有指定的类加载器,则默认使用当前程序使用的类加载器;步骤24、没有指定的基类,则默认基类的赋值为Object类,有指定的基类,则使用类加载器加载指定的基类,若加载失败则报错并程序中止;步骤25、没有指定的类加载方式,当有指定的类加载器,则默认类加载方式的赋值为真,否则为假;步骤26、没有指定的编译方式,则默认编译方式的赋值为假;步骤27、逐一对Java对象中类的属性定义进行检查。
进一步的,所述步骤27包括:步骤271、所述Java对象的类没有指定的属性名称或属性类型,则报错并程序中止,若有指定的属性名称和属性类型,则使用类加载器加载所述属性类型,如类加载器加载失败,则报错并程序中止;步骤272、逐一对类中注解的属性定义进行检查。
进一步的,所述步骤272包括:步骤A:所述类的注解没有指定的注解类型,则报错并程序中止,若有指定的注解类型,使用类加载器加载所述注解类型,如类加载器加载失败,则报错并程序中止;步骤B:逐一对注解配置值中注解的属性定义进行检查:所述注解配置值中的注解没有指定的注解属性名称或注解值,则程序中止。
进一步的,所述步骤3包括:步骤31、基于字节码操作工具,创建Java对象的类属性注解和类属性模型,将类属性注解添加到类属性模型中,并输出类的动态;步骤32、若Java对象中类的编译方式的赋值为假,将类的动态作为Java Bean的动态生成结果;若Java对象中类的编译方式的赋值为真,调用字节码操作工具对类的动态进行编译;当Java对象中类的类加载方式的赋值为假,将所述编译结果作为Java Bean的动态生成结果,当Java对象中类的类加载方式的赋值为真,对所述编译结果进行加载并输出字节码对象,将字节码对象作为Java Bean的动态生成结果。
进一步的,所述步骤31包括:步骤311、将基类指定为父类,将基础包和类名组合并作为动态生成的类的名称;步骤312、读取Java对象中类的属性定义,依次迭代类,如果当前迭代的类的属性定义存在注解的属性定义,则先迭代注解的属性定义并进行类属性注解的创建;步骤313、使用定义的注解类型创建内置于字节码操作工具的注解定义模型,按照注解配置值中的定义设置注解属性和注解值;步骤314、基于注解的属性定义,创建内置于字节码操作工具的类属性模型,将创建的所有类属性注解添加到类属性模型中,并输出类的动态。
进一步的,所述步骤314中,使用注解类型指定的类型和注解名称指定的属性名称,创建内置于字节码操作工具的类属性模型。
进一步的,所述步骤32包括:步骤321、若Java对象中类的编译方式的赋值为假,则返回至类的动态,流程结束;若Java对象中类的编译方式的赋值为真,则调用字节码操作工具的API,对类的动态进行编译;步骤322、若Java对象中类的类加载方式的赋值为假,则返回至类的动态的编译结果,流程结束;若Java对象中类的类加载方式的赋值为真,则使用类加载器加载类的动态的编译结果,并输出字节码对象,流程结束。
进一步的,所述字节码操作工具为ByteBuddy。
与现有技术相比,本发明具有以下有益效果:
本发明设计科学合理,将Java Bean动态生成的逻辑进行高度抽象,用户只需要按照特定的JSON数据格式来描述Java Bean,程序就可以通过分析JSON来实现Bean的动态生成,避免了将具体某个Java Bean的生成逻辑耦合在代码中而难以维护。本发明使用方便,所需要的JSON数据可以在任意时刻传入程序中,即在程序运行过程中的任意时刻,实时修改动态生成的Java Bean的定义,避免了Java Bean定义变动时需要修改源代码重新启动项目的问题,提高了灵活性。
附图说明
图1为本发明方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进一步详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供的一种基于JSON数据格式描述的Java Bean的动态生成方法,包括以下步骤:
步骤1、将JSON字符串作为输入,并使用JSON序列化工具将JSON字符串反序列化为Java对象;
步骤2、对所述Java对象进行输入校正;
步骤3、使用字节码操作工具,构建类属性模型,对输入校正的Java对象进行JavaBean的动态生成。
本发明将Java Bean动态生成的逻辑进行高度抽象,用户只需要按照特定的JSON数据格式来描述Java Bean,程序就可以通过分析JSON来实现Bean的动态生成,避免了将具体某个Java Bean的生成逻辑耦合在代码中而难以维护。用户所需要的JSON数据可以在任意时刻传入程序中,即在程序运行过程中的任意时刻,实时修改动态生成的Java Bean的定义,避免了Java Bean定义变动时需要修改源代码重新启动项目的问题,提高了灵活性。
本发明通过构建了特定的JSON数据模型,用来描述一个Java Bean的定义,包括属性名称、属性类型、属性标注的注解,再通过解析所述JSON数据模型,并调用开源的字节码操作工具以此实现Java Bean的动态生成。
本发明所述步骤1为JSON字符串的输入和Java对象的转化。将符合JSON数据模型的JSON字符串作为输入,并使用任意JSON序列化工具将所述JSON字符串反序列化为与JSON数据模型一致的Java对象。
本发明所述步骤2为Java对象的校正过程。步骤2包括:步骤21、没有指定的基础包(basePackage),则报错并程序中止;步骤22、没有指定的类名(beanName),则默认类名的赋值为DynamicBean加上一个随机数;步骤23、没有指定的类加载器(classloader),则默认使用当前程序使用的类加载器;步骤24、没有指定的基类(baseClass),则默认基类的赋值为Object类(java.lang.Object),有指定的基类,则使用类加载器加载指定的基类,若加载失败则报错并程序中止;步骤25、没有指定的类加载方式(load),当有指定的类加载器,则默认类加载方式的赋值为真(true),否则为假(false);步骤26、没有指定的编译方式(compile),则默认编译方式的赋值为假(false);步骤27、逐一对Java对象中类(fields)的属性定义进行检查。
所述步骤27包括:步骤271、所述Java对象的类(fields)可以不包含任何属性定义,若包含有属性定义时:类没有指定的属性名称(name)或属性类型(type),则报错并程序中止,若有指定的属性名称(name)和属性类型(name),则使用类加载器(classloader)加载所述属性类型(type),如类加载器加载失败,则报错并程序中止;步骤272、逐一对类中注解(annotations)的属性定义进行检查。
所述步骤272包括:步骤A:所述类的注解没有指定的注解类型(type),则报错并程序中止,若有指定的注解类型(type),则使用类加载器(classloader)加载所述注解类型(type),如类加载器加载失败,则报错并程序中止;步骤B:逐一对注解配置值(properties)中注解的属性定义进行检查:所述注解配置值(properties)可以不包含任何属性定义,若包含有属性定义时:注解配置值(properties)中的注解没有指定的注解属性名称(name)或注解值(value),则程序中止。
本发明所述步骤3为JSON数据模型的构建与解析,并调用字节码操作工具动态生成Java Bean。包括:步骤31、基于字节码操作工具,创建Java对象的类属性注解和类属性模型,将类属性注解添加到类属性模型中,并输出类的动态;步骤32、若Java对象中类的编译方式的赋值为假,将类的动态作为Java Bean的动态生成结果;若Java对象中类的编译方式的赋值为真,调用字节码操作工具对类的动态进行编译;当Java对象中类的类加载方式的赋值为假,将所述编译结果作为Java Bean的动态生成结果,当Java对象中类的类加载方式的赋值为真,对所述编译结果进行加载并输出字节码对象,将字节码对象作为Java Bean的动态生成结果。
步骤31包括:步骤311、使用子类继承模式来创建动态类,即将基类(baseClass)指定为父类,将基础包(basePackage)和类名(beanName)组合并作为动态生成的类的名称;步骤312、读取Java对象中类(fields)的属性定义,即类(fields)的内容,依次迭代类(fields),如果当前迭代的类的属性定义存在注解(annotations)的属性定义,则先迭代注解(annotations)的属性定义并进行类属性注解创建;步骤313、使用定义的注解类型创建内置于字节码操作工具的注解定义模型,按照注解配置值(properties)中的定义设置注解属性(type)和注解值(value);步骤314、基于注解的属性定义,创建内置于字节码操作工具的类属性模型,将创建的所有类属性注解添加到类属性模型中,并输出类的动态。进一步地,所述步骤314中,使用注解类型指定的类型和注解名称指定的属性名称,创建内置于字节码操作工具的类属性模型。
步骤32包括:步骤321、若Java对象中类的编译方式(compile)的赋值为假(false),则返回至类的动态,流程结束,即由字节码操作工具内置的类属性模型所输出的结果表示的动态类的定义;若Java对象中类的编译方式(compile)的赋值为真(true),则调用字节码操作工具的API,对类的动态进行编译;步骤322、基于步骤321,若Java对象中类的类加载方式(load)的赋值为假(false),则返回至类的动态的编译结果,流程结束;若Java对象中类的类加载方式(load)的赋值为真(true),则使用类加载器加载类的动态的编译结果,并输出字节码对象( java.lang.Class),流程结束。进一步地,所述字节码操作工具为ByteBuddy。
最后应说明的是:以上各实施例仅仅为本发明的较优实施例用以说明本发明的技术方案,而非对其限制,当然更不是限制本发明的专利范围;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围;也就是说,但凡在本发明的主体设计思想和精神上作出的毫无实质意义的改动或润色,其所解决的技术问题仍然与本发明一致的,均应当包含在本发明的保护范围之内;另外,将本发明的技术方案直接或间接的运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种基于JSON数据格式描述的Java Bean的动态生成方法,其特征在于,包括以下步骤:
步骤1、将JSON字符串作为输入,并使用JSON序列化工具将JSON字符串反序列化为Java对象;
步骤2、对所述Java对象进行输入校正;
步骤3、使用字节码操作工具,构建类属性模型,对输入校正的Java对象进行Java Bean的动态生成;
所述步骤3包括:步骤31、基于字节码操作工具,创建Java对象的类属性注解和类属性模型,将类属性注解添加到类属性模型中,并输出类的动态;步骤32、若Java对象中类的编译方式的赋值为假,将类的动态作为Java Bean的动态生成结果;若Java对象中类的编译方式的赋值为真,调用字节码操作工具对类的动态进行编译;当Java对象中类的类加载方式的赋值为假,将进行编译的结果作为Java Bean的动态生成结果,当Java对象中类的类加载方式的赋值为真,对进行编译的结果进行加载并输出字节码对象,将字节码对象作为JavaBean的动态生成结果。
2.根据权利要求1所述的一种基于JSON数据格式描述的Java Bean的动态生成方法,其特征在于,所述步骤2包括:步骤21、没有指定的基础包,则报错并程序中止;步骤22、没有指定的类名,则默认类名的赋值为DynamicBean加上一个随机数;步骤23、没有指定的类加载器,则默认使用当前程序使用的类加载器;步骤24、没有指定的基类,则默认基类的赋值为Object类,有指定的基类,则使用类加载器加载指定的基类,若加载失败则报错并程序中止;步骤25、没有指定的类加载方式,当有指定的类加载器,则默认类加载方式的赋值为真,否则为假;步骤26、没有指定的编译方式,则默认编译方式的赋值为假;步骤27、逐一对Java对象中类的属性定义进行检查。
3.根据权利要求2所述的一种基于JSON数据格式描述的Java Bean的动态生成方法,其特征在于,所述步骤27包括:步骤271、所述Java对象的类没有指定的属性名称或属性类型,则报错并程序中止,若有指定的属性名称和属性类型,则使用类加载器加载所述属性类型,如类加载器加载失败,则报错并程序中止;步骤272、逐一对类中注解的属性定义进行检查。
4.根据权利要求3所述的一种基于JSON数据格式描述的Java Bean的动态生成方法,其特征在于,所述步骤272包括:步骤A:所述类的注解没有指定的注解类型,则报错并程序中止,若有指定的注解类型,使用类加载器加载所述注解类型,如类加载器加载失败,则报错并程序中止;步骤B:逐一对注解配置值中注解的属性定义进行检查:所述注解配置值中的注解没有指定的注解属性名称或注解值,则程序中止。
5.根据权利要求1所述的一种基于JSON数据格式描述的Java Bean的动态生成方法,其特征在于,所述步骤31包括:步骤311、将基类指定为父类,将基础包和类名组合并作为动态生成的类的名称;步骤312、读取Java对象中类的属性定义,依次迭代类,如果当前迭代的类的属性定义存在注解的属性定义,则先迭代注解的属性定义并进行类属性注解的创建;步骤313、使用定义的注解类型创建内置于字节码操作工具的注解定义模型,按照注解配置值中的定义设置注解属性和注解值;步骤314、基于注解的属性定义,创建内置于字节码操作工具的类属性模型,将创建的所有类属性注解添加到类属性模型中,并输出类的动态。
6.根据权利要求5所述的一种基于JSON数据格式描述的Java Bean的动态生成方法,所述步骤314中,使用注解类型指定的类型和注解名称指定的属性名称,创建内置于字节码操作工具的类属性模型。
7.根据权利要求5所述的一种基于JSON数据格式描述的Java Bean的动态生成方法,其特征在于,所述步骤32包括:步骤321、若Java对象中类的编译方式的赋值为假,则返回至类的动态,流程结束;若Java对象中类的编译方式的赋值为真,则调用字节码操作工具的API,对类的动态进行编译;步骤322、若Java对象中类的类加载方式的赋值为假,则返回至类的动态的编译结果,流程结束;若Java对象中类的类加载方式的赋值为真,则使用类加载器加载类的动态的编译结果,并输出字节码对象,流程结束。
8.根据权利要求1所述的一种基于JSON数据格式描述的Java Bean的动态生成方法,其特征在于,所述字节码操作工具为ByteBuddy。
CN202211587536.9A 2022-12-12 2022-12-12 一种基于JSON数据格式描述的Java Bean的动态生成方法 Active CN115586904B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211587536.9A CN115586904B (zh) 2022-12-12 2022-12-12 一种基于JSON数据格式描述的Java Bean的动态生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211587536.9A CN115586904B (zh) 2022-12-12 2022-12-12 一种基于JSON数据格式描述的Java Bean的动态生成方法

Publications (2)

Publication Number Publication Date
CN115586904A CN115586904A (zh) 2023-01-10
CN115586904B true CN115586904B (zh) 2023-04-07

Family

ID=84783152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211587536.9A Active CN115586904B (zh) 2022-12-12 2022-12-12 一种基于JSON数据格式描述的Java Bean的动态生成方法

Country Status (1)

Country Link
CN (1) CN115586904B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424003B1 (en) * 2014-10-24 2016-08-23 Emc Corporation Schema-less system output object parser and code generator
EP4027239A1 (en) * 2021-01-07 2022-07-13 Deutsche Telekom AG Method for operating a legacy software application together with an interception-based or instrumentation-based agent functionality, system or computing or execution environment for operating a legacy software application, agent functionality for being operated or running together with a legacy software application within a computing or execution environment, bytecode-object-to-interface-object converter or interface-object-to-bytecode-object converter, program and computer program product

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080361B2 (en) * 2001-07-30 2006-07-18 Lockheed Martin Corporation Process for generating enterprise java bean components from an SQL database
US8291375B2 (en) * 2004-03-29 2012-10-16 Sybase, Inc. Attribute-based component programming system and methodology for object-oriented languages
US20150293764A1 (en) * 2014-04-10 2015-10-15 Omprakash VISVANATHAN Method and system to compose and execute business rules
CN105573758A (zh) * 2015-12-16 2016-05-11 福建星网智慧科技股份有限公司 基于动态字节码编译技术的codejson框架
CN109684607B (zh) * 2017-10-19 2022-04-08 腾讯科技(深圳)有限公司 Json数据解析方法、装置、计算机设备和存储介质
US10810110B1 (en) * 2018-01-25 2020-10-20 Intuit Inc. Methods, systems, and articles of manufacture for testing web services using a behavior-driven development domain specific language framework
CN109388402A (zh) * 2018-09-26 2019-02-26 杭州米加科技股份有限公司 基于Android平台的轻量级Josn格式解析工具
CN111736842B (zh) * 2020-05-28 2022-11-11 苏州浪潮智能科技有限公司 一种实现JSON快速转化为JavaBean方法、装置
CN112989433A (zh) * 2021-02-24 2021-06-18 上海中通吉网络技术有限公司 基于Java Bean校验规则的校验方法及相关设备
CN115455239B (zh) * 2022-11-10 2023-01-06 北京易诚互动网络技术股份有限公司 一种java类实例和目标格式数据的转换方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424003B1 (en) * 2014-10-24 2016-08-23 Emc Corporation Schema-less system output object parser and code generator
EP4027239A1 (en) * 2021-01-07 2022-07-13 Deutsche Telekom AG Method for operating a legacy software application together with an interception-based or instrumentation-based agent functionality, system or computing or execution environment for operating a legacy software application, agent functionality for being operated or running together with a legacy software application within a computing or execution environment, bytecode-object-to-interface-object converter or interface-object-to-bytecode-object converter, program and computer program product

Also Published As

Publication number Publication date
CN115586904A (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
US7941461B2 (en) System and method for developing and enabling model-driven XML transformation framework for e-business
US7150008B2 (en) Non-invasive rule-based binary analysis of software assemblies
Heidenreich et al. Closing the gap between modelling and java
CN112015628B (zh) 一种智能合约函数级动态监测分析系统及实现方法
US8448132B2 (en) Systems and methods for modifying code generation templates
US8997069B2 (en) API descriptions
CN111399853A (zh) 机器学习模型与自定义算子的模板化部署方法
US10901712B2 (en) Source code compiler system
US20230075927A1 (en) Method for implementing compiled embedded python
CN111399828B (zh) 一种基于模型驱动的逻辑设备建模方法及终端
JP2022545489A (ja) スマートコントラクトのクライアントプログラムの生成方法、システム、機器、及び媒体
US8606766B2 (en) Method and system to handle java class versioning
CN110362334B (zh) 二次开发语言的c++对象生命周期管理方法、设备、介质
CN115586904B (zh) 一种基于JSON数据格式描述的Java Bean的动态生成方法
CN113138755A (zh) 一种json序列化和反序列化的优化方法及系统
CN110457013B (zh) 程序组件配置装置及方法
CN110737431B (zh) 软件开发方法、开发平台、终端设备及存储介质
CN114115832A (zh) 一种物联网嵌入式设备与云平台通信协议实现方法
CN111399842A (zh) 一种代码编译方法及装置
Katiyar et al. Polymorphism and subtyping in interface
Pfisterer et al. Energy-optimized data serialization for heterogeneous WSNs using middleware synthesis
CN116860321A (zh) 读卡控件的自动编译封装方法、系统、电子设备及介质
Maschotta et al. An OCL Implementation for Model-Driven Engineering of C++
Zieliński et al. Ultra-Lightweight RPC Protocol Framework with Variadic Templates in C++ 11
CN117076328A (zh) 基于asm字节码技术的关联业务数据校验方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant