CN112148299A - 字节码对象拷贝方法、装置、设备和存储介质 - Google Patents
字节码对象拷贝方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112148299A CN112148299A CN202010975778.XA CN202010975778A CN112148299A CN 112148299 A CN112148299 A CN 112148299A CN 202010975778 A CN202010975778 A CN 202010975778A CN 112148299 A CN112148299 A CN 112148299A
- Authority
- CN
- China
- Prior art keywords
- mapping
- class
- annotation
- conversion
- byte code
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration 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)
- Computer Security & Cryptography (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明涉及一种字节码对象拷贝方法、装置、设备和存储介质,该方法包括:构建映射器工厂,映射器工厂用于配置、注册以及生成用于执行映射的函数;设置转换类,转换类用于进行类型转换;设置映射类,映射类用于自定义对象映射;基于映射器工厂、转换类、映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。采用自动扫描装配、配合注解达到复杂映射简单应用的效果,避免全对象装配导致启动时间过长的问题,节约了资源,提高了性能、安全性和稳定性;提升了编码效率、降低了成本、实现更方便。
Description
技术领域
本发明涉及编码技术领域,具体涉及一种字节码对象拷贝方法、装置、设备和存储介质。
背景技术
在Java应用中,经常需要将对象转换成不同的形式以适应不同的API(Application Programming Interface,应用程序接口),或者在不同业务层中传输对象,而不同分层的对象存在不同的格式,因此,需要编写映射代码将对象中的属性值从一种类型转换成另一种类型。
相关技术中,对象转换的方式有如下三种:第一、硬编码;这种方式中,需要手动创建大量样板代码并消耗大量时间,大大降低开发效率及拉长研发周期。第二、反射方法,性能和执行效率差。第三、字节码方法,占用服务器端资源增多、数据返回不及时、浪费网络流量,在不同框架下适应复杂映射的程度不尽相同,学习使用成本高,同样影响研发效率及周期。
发明内容
有鉴于此,提供一种字节码对象拷贝方法、装置、设备和存储介质,以解决相关技术中效率低、成本高、安全性差和性能差的问题。
本发明采用如下技术方案:
第一方面,本申请实施例提供了一种字节码对象拷贝方法,该方法包括:
构建映射器工厂,其中,所述映射器工厂用于配置、注册以及生成用于执行映射的函数;
设置转换类,其中,所述转换类用于进行类型转换;
设置映射类,其中,所述映射类用于自定义对象映射;
基于所述映射器工厂、所述转换类、所述映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。
第二方面,本申请实施例提供了一种字节码对象拷贝装置,该装置包括:
构建模块,用于构建映射器工厂,其中,所述映射器工厂用于配置、注册以及生成用于执行映射的函数;
第一设置模块,用于设置转换类,其中,所述转换类用于进行类型转换;
第二设置模块,用于设置映射类,其中,所述映射类用于自定义对象映射;
第一缓存模块,用于基于所述映射器工厂、所述转换类、所述映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。
第三方面,本申请实施例提供了一种设备,该设备包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序,所述计算机程序至少用于执行本申请实施例第一方面所述的字节码对象拷贝方法;
所述处理器用于调用并执行所述存储器中的所述计算机程序。
第四方面,本申请实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的字节码对象拷贝方法中各个步骤。
本发明采用以上技术方案,通过构建用于配置、注册以及生成用于执行映射的函数的映射器工厂;设置用于进行类型转换的转换类;设置用于自定义对象映射的映射类;基于映射器工厂、转换类、映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。采用自动扫描装配、配合注解达到复杂映射简单应用的效果,避免全对象装配导致启动时间过长的问题,节约了资源,提高了性能、安全性和稳定性;提升了编码效率、降低了成本、实现更方便。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种字节码对象拷贝方法的流程图;
图2是本发明实施例中适用的一种拷贝流程图;
图3是本发明实施例提供的一种字节码对象拷贝装置的结构示意图;
图4是本发明实施例提供的一种设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
首先对本申请实施例中用到的相关术语进行说明。
预热期:指首次使用或者调用时,由于生成字节码过程造成锁定、阻塞、资源消耗问题,是通过字节码映射对象趋于稳定的必经过程。
Bean:是一种Java语言写成的可重用组件,是一个类,更多指的是保存数据的实体,通常与数据库中的表对应。
字节码:字节码Bytecode是一种包含执行程序、由一序列op代码/数据对组成的二进制文件;字节码是一种中间码,比机器码更抽象,需要直译器转译后才能成为机器码的中间代码。
硬编码:手动编码实现代码逻辑,死板且无法适配复杂场景。
其次,为了说明本申请实施例的技术方案和技术效果,接下来对相关技术进行说明。相关技术中的对象转换的方式有以下几种:
第一、手动编写大量的get/set代码,或者通过IDE(Integrated DevelopmentEnvironment,集成开发环境)插件生成;其中,如果需要创建由多个层组成的大型Java应用程序需要使用多种领域模型,如持久化模型、领域模型或者DTO(Data Transfer Object,数据传输对象)。为不同的应用程序层使用多个模型将要求提供bean之间的映射方法。
第二、反射方式,其中,apache的BeanUtils和spring的BeanUtils中拷贝方法的原理都是先用jdk中java.beans.Introspector类的getBeanInfo()方法获取对象的属性信息及属性get/set方法,接着使用反射(Method的invoke(Object obj,Object...args))方法进行赋值。apache支持名称相同但类型不同的属性的转换,spring支持忽略某些属性不进行映射,他们都设置了缓存保存已解析过的BeanInfo信息。相较于第一种方式而言,减少了手动创建的代码量,在代码简洁性上提升了不少,然而很大程度上牺牲了性能及执行效率。反射性能差,比如对反射的性能损失最大的出现在GetType()和GetMethod()这几个操作上面,因为是通过字符串遍历程序集寻找的,因此,没有直接调用的快。而在能耗层面,与从一堆字符串里面查子串的效果相当,而编译器又无法对反射相关的代码做优化。在实际应用场景中,一次调用需要做的对象映射在3次以上甚至更多,则对电商平台的列表页带来的用户体验极具性能考验,大量的对象转换及嵌套转换带来的性能损失是不可接受的。
第三种、字节码方式,cglib的BeanCopier采用了不同的方法。它不是利用反射对属性进行赋值,而是直接使用ASM的MethodVisitor直接编写各属性的get/set方法,具体过程可见BeanCopier类的generateClass(ClassVisitor v)方法,生成class文件,然后进行执行,其中,ASM是一个Java字节码操控框架。由于是直接生成字节码执行,所以BeanCopier的性能较采用反射的BeanUtils有较大提高。相较于第一种方式而言,处理方式简洁。相较于第二种方式而言,提升了性能。然而,在高并发的情况下,为保证线程的安全性,首次调用需对创建字节码代码块加锁,保存及缓存字节码,这样会造成类似交通阻塞效应,改阶段称为预热期。预热期会造成占用服务器端资源增多、数据返回不及时、浪费网络流量的问题,直接反应在接口使用者上。
因此,在复杂的电商平台的系统中,在近几年系统的建设越来越追求,高可用,高并发,高性能。那么代码的灵活性,简洁,高效,性能显得尤为重要。上述结果表现的缺陷也更为明显。本申请实施例主要相关技术方案中的字节码映射过程中预热期带来的资源消耗、性能下降、无效请求、占用服务器端资源增多、数据返回不及时、浪费网络流量的问题,以及对于复杂特性,需要大量编写映射关系,造成字段遗漏,手动注册转换等,代码重复率飙升等问题。本申请实施例提供了一种字节码对象拷贝方法来解决上述问题。
实施例
图1为本发明实施例提供的一种字节码对象拷贝方法的流程图,该方法可以由本发明实施例提供的字节码对象拷贝装置来执行,该装置可采用软件和/或硬件的方式实现。参考图1,该方法具体可以包括如下步骤:
S101、构建映射器工厂,其中,映射器工厂用于配置、注册以及生成用于执行映射的函数。
具体的,映射器工厂可以用Mapper Factory表示,主要用于配置、注册和生成用于执行映射的函数。可选的,映射器工厂为一个小型容器,其中包含元数据存储,其他组件使用它来查找生成的映射程序、转换器或对象工厂等。
S102、设置转换类,其中,转换类用于进行类型转换。
详细的,设置转换类,以扫描注册转换器,转换器可以用Converter表示,其中,转换器用于提供从一种类型到另一种类型的直接转换,也可以用于指定类型的转换。
S103、设置映射类,其中,映射类用于自定义对象映射。
可选的,设置映射类,扫描注册Mapper,映射类用于自定义对象映射,提高了程序的扩展性。
可选的,在设置映射类之后,还包括:根据配置路径打包预加载映射对象,以对打包后的预加载对象完成映射。其中,为了提高预加载的速度,在设置映射类之后,缓存之前,根据配置路径对预加载映射对象进行打包,然后对打包后的预加载对象完成映射。
S104、基于映射器工厂、转换类、映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。
具体的,应用映射器工厂的配置、注册和执行功能,以及,转换类的类型转换功能,以及,映射类的映射功能,通过类注解判断是否提前生成字节码映射,通过第一字段注解和第二字段注解对预加载对象完成映射。对于性能要求极高的接口需要过渡掉预热期,基于扫描与注解结合的方式,以项目启动预加载的方式完成字节码映射,达到过渡掉预热期的目的,大大提高接口性能及安全性。
可选的,生成字节码并缓存时,可以通过Javassist类库生成Bean映射的字节码并缓存。在一个具体的例子中,第一字段注解为@MapField,支持一对多、多对多和嵌套等不同字段名和不同字段类型的映射;第二字段注解为@MapExclude;用于排除映射字段。这样可以避免手动编码造成的字段错误以及代码重复率高,构建完成后的生成字节码并缓存。
本申请实施例中,通过构建用于配置、注册以及生成用于执行映射的函数的映射器工厂;设置用于进行类型转换的转换类;设置用于自定义对象映射的映射类;基于映射器工厂、转换类、映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。采用自动扫描装配、配合注解达到复杂映射简单应用的效果,避免全对象装配导致启动时间过长的问题,节约了资源,提高了性能、安全性和稳定性;提升了编码效率、降低了成本、实现更方便。
在上述技术方案的基础上,本申请实施例的技术方案还包括:在通过类注解判断无需提前生成字节码映射时,调用接口,以被动方式构建默认字节码完成映射,以缓存默认字节码。
其中,而对于接口要求不高的接口依旧可以采用被动方式创建字节码映射,具体的,针对无需提前生成字节码映射的情况,调用接口,以被动的方式构建默认字节码完成映射。这样,根据注解判断是否主动或提前加载生成字节码映射,可以适时的判断哪些对象需要提前生成字节码映射,以达到启动时间与系统性能的平衡。
在一个具体的例子中,图2示出了一种拷贝流程图。参考图2,由于字节码映射的预热期及复杂特性实现繁琐是客观存在的,本发明提供的技术方案,对于复杂特性使用扫描及注解方式,自动装配转换类及构建复杂映射关系,配置简单上手容易。因此,本申请的技术方案可保证在项目启动时完成字节码映射的装配及缓存,有效的避免预热期带来的交通堵塞效应使得资源消耗、性能下降、无效请求、占用服务器端资源增多、数据返回不及时、浪费网络流量的问题,以及过多的硬编码,造成代码重复字段差异,编码时间长影响开发效率。大大提高接口的性能、稳定性及安全性。
图3是本发明是实施例提供的一种字节码对象拷贝装置的结构示意图,该装置适用于执行本发明实施例提供给的一种字节码对象拷贝方法。如图3所示,该装置具体可以包括构建模块301、第一设置模块302、第二设置模块303和第一缓存模块304。
其中,构建模块301,用于构建映射器工厂,其中,映射器工厂用于配置、注册以及生成用于执行映射的函数;第一设置模块302,用于设置转换类,其中,转换类用于进行类型转换;第二设置模块303,用于设置映射类,其中,映射类用于自定义对象映射;第一缓存模块304,用于基于映射器工厂、转换类、映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。
本申请实施例中,通过构建用于配置、注册以及生成用于执行映射的函数的映射器工厂;设置用于进行类型转换的转换类;设置用于自定义对象映射的映射类;基于映射器工厂、转换类、映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。采用自动扫描装配、配合注解达到复杂映射简单应用的效果,避免全对象装配导致启动时间过长的问题,节约了资源,提高了性能、安全性和稳定性;提升了编码效率、降低了成本、实现更方便。
可选的,还包括第二缓存模块,用于在通过类注解判断无需提前生成字节码映射时,调用接口,以被动方式构建默认字节码完成映射,以缓存默认字节码。
可选的,第一缓存模块304具体用于:
通过Javassist类库生成Bean映射的字节码并缓存。
可选的,还包括打包模块,用于在设置映射类之后,根据配置路径打包预加载映射对象,以对打包后的预加载对象完成映射。
可选的,第一字段注解为@MapField,第二字段注解为@MapExclude。
可选的,@MapField用于不同字段名和不同字段类型的映射。
可选的,@MapExclude用于排除映射字段。
本发明实施例提供的字节码对象拷贝装置可执行本发明任意实施例提供的字节码对象拷贝方法,具备执行方法相应的功能模块和有益效果。
本发明实施例还提供一种设备,请参阅图4,图4为一种设备的结构示意图,如图4所示,该设备包括:处理器410,以及与处理器410相连接的存储器420;存储器420用于存储计算机程序,所述计算机程序至少用于执行本发明实施例中的字节码对象拷贝方法;处理器410用于调用并执行所述存储器中的所述计算机程序;上述字节码对象拷贝方法至少包括如下步骤:构建映射器工厂,其中,映射器工厂用于配置、注册以及生成用于执行映射的函数;设置转换类,其中,转换类用于进行类型转换;设置映射类,其中,映射类用于自定义对象映射;基于映射器工厂、转换类、映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。
本发明实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如本发明实施例中的字节码对象拷贝方法中各个步骤:构建映射器工厂,其中,映射器工厂用于配置、注册以及生成用于执行映射的函数;设置转换类,其中,转换类用于进行类型转换;设置映射类,其中,映射类用于自定义对象映射;基于映射器工厂、转换类、映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种字节码对象拷贝方法,其特征在于,包括:
构建映射器工厂,其中,所述映射器工厂用于配置、注册以及生成用于执行映射的函数;
设置转换类,其中,所述转换类用于进行类型转换;
设置映射类,其中,所述映射类用于自定义对象映射;
基于所述映射器工厂、所述转换类、所述映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。
2.根据权利要求1所述的方法,其特征在于,还包括:
在通过类注解判断无需提前生成字节码映射时,调用接口,以被动方式构建默认字节码完成映射,以缓存所述默认字节码。
3.根据权利要求1所述的方法,其特征在于,所述以生成字节码并缓存包括:
通过Javassist类库生成Bean映射的字节码并缓存。
4.根据权利要求1所述的方法,其特征在于,在所述设置映射类之后,还包括:
根据配置路径打包预加载映射对象,以对打包后的预加载对象完成映射。
5.根据权利要求1所述的方法,其特征在于,所述第一字段注解为@MapField,所述第二字段注解为@MapExclude。
6.根据权利要求1所述的方法,其特征在于,所述@MapField用于不同字段名和不同字段类型的映射。
7.根据权利要求1所述的方法,其特征在于,所述@MapExclude用于排除映射字段。
8.一种字节码对象拷贝装置,其特征在于,包括:
构建模块,用于构建映射器工厂,其中,所述映射器工厂用于配置、注册以及生成用于执行映射的函数;
第一设置模块,用于设置转换类,其中,所述转换类用于进行类型转换;
第二设置模块,用于设置映射类,其中,所述映射类用于自定义对象映射;
第一缓存模块,用于基于所述映射器工厂、所述转换类、所述映射类,在通过类注解判断提前生成字节码映射时,通过第一字段注解和第二字段注解对预加载对象完成映射,以生成字节码并缓存。
9.一种设备,其特征在于,包括:
处理器,以及与所述处理器相连接的存储器;
所述存储器用于存储计算机程序,所述计算机程序至少用于执行权利要求1-7任一项所述的字节码对象拷贝方法;
所述处理器用于调用并执行所述存储器中的所述计算机程序。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7任一项所述的字节码对象拷贝方法中各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010975778.XA CN112148299A (zh) | 2020-09-16 | 2020-09-16 | 字节码对象拷贝方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010975778.XA CN112148299A (zh) | 2020-09-16 | 2020-09-16 | 字节码对象拷贝方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112148299A true CN112148299A (zh) | 2020-12-29 |
Family
ID=73892271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010975778.XA Pending CN112148299A (zh) | 2020-09-16 | 2020-09-16 | 字节码对象拷贝方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112148299A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835563A (zh) * | 2021-01-26 | 2021-05-25 | 广州欢网科技有限责任公司 | 一种代码克隆方法、装置、可读存储介质以及计算机 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9612808B1 (en) * | 2016-02-25 | 2017-04-04 | International Business Machines Corporation | Memory use for string object creation |
CN106933554A (zh) * | 2015-12-30 | 2017-07-07 | 北京国双科技有限公司 | 类转换方法和装置 |
CN111443901A (zh) * | 2018-12-27 | 2020-07-24 | 北京奇虎科技有限公司 | 一种基于Java反射的业务扩展方法及装置 |
-
2020
- 2020-09-16 CN CN202010975778.XA patent/CN112148299A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106933554A (zh) * | 2015-12-30 | 2017-07-07 | 北京国双科技有限公司 | 类转换方法和装置 |
US9612808B1 (en) * | 2016-02-25 | 2017-04-04 | International Business Machines Corporation | Memory use for string object creation |
CN111443901A (zh) * | 2018-12-27 | 2020-07-24 | 北京奇虎科技有限公司 | 一种基于Java反射的业务扩展方法及装置 |
Non-Patent Citations (2)
Title |
---|
BEYONDLI71: "java关于使用Orika的mapperFactory进行对象拷贝以及集合拷贝", pages 1 - 3, Retrieved from the Internet <URL:https://blog.csdn.net/liboyang71/article/details/75072995> * |
CARLOSXU14: "MAPSTRUCT(@Mapper用法)", pages 1 - 3, Retrieved from the Internet <URL:https://blog.csdn.net/qq_43459184/article/details/103372740> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835563A (zh) * | 2021-01-26 | 2021-05-25 | 广州欢网科技有限责任公司 | 一种代码克隆方法、装置、可读存储介质以及计算机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109308224B (zh) | 跨平台数据通信、跨平台数据处理的方法、装置及系统 | |
JP5052568B2 (ja) | ネットワーク内の装置を管理するための方法、システム、およびプログラム | |
US9892144B2 (en) | Methods for in-place access of serialized data | |
US11354050B2 (en) | Data processing method, apparatus, and computing device | |
Culler et al. | Generic active message interface specification | |
CN107451237B (zh) | 序列化与反序列化方法、装置及设备 | |
US20140282392A1 (en) | Programming model for performant computing in documentoriented storage services | |
US8914482B2 (en) | Translation of technology-agnostic management commands into multiple management protocols | |
CN111078213B (zh) | 一种代码生成方法及代码生成装置 | |
US9129035B2 (en) | Systems, methods, and apparatus for accessing object representations of data sets | |
CN115599764A (zh) | 一种表格数据的迁移方法、设备及介质 | |
CN116483859A (zh) | 数据查询方法及装置 | |
KR102443171B1 (ko) | 이기종 컴퓨팅 환경에서 데이터 타입 변환을 지원하기 위한 시스템 및 방법 | |
CN112148299A (zh) | 字节码对象拷贝方法、装置、设备和存储介质 | |
CN111143126A (zh) | 一种分布式文件系统的数据拷贝方法、系统及相关组件 | |
WO2017000678A1 (zh) | 一种网管系统间报文的通信方法及系统 | |
CN110049133B (zh) | 一种dns区文件全量下发的方法和装置 | |
CN108595160B (zh) | Js调用原生对象的方法、存储介质 | |
CN111338685A (zh) | 一种公用组件配置方法、装置、设备和存储介质 | |
CN112445800A (zh) | 一种数据流水号的生成方法、系统及电子设备 | |
WO2024012101A1 (zh) | 分布式服务生成方法、系统、计算设备及存储介质 | |
US11514016B2 (en) | Paging row-based data stored as objects | |
US20240193139A1 (en) | Data encoding and decoding methods and systems | |
CN111752602B (zh) | 一种生成在GO语言中运行的protobuf文件的方法 | |
CN114895945A (zh) | 一种protobuf数据编码方法及装置 |
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 |