CN111124931B - 一种Java代码合规性检查方法和装置 - Google Patents

一种Java代码合规性检查方法和装置 Download PDF

Info

Publication number
CN111124931B
CN111124931B CN201911391783.XA CN201911391783A CN111124931B CN 111124931 B CN111124931 B CN 111124931B CN 201911391783 A CN201911391783 A CN 201911391783A CN 111124931 B CN111124931 B CN 111124931B
Authority
CN
China
Prior art keywords
class
service
attribute
service class
type
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
CN201911391783.XA
Other languages
English (en)
Other versions
CN111124931A (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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN201911391783.XA priority Critical patent/CN111124931B/zh
Publication of CN111124931A publication Critical patent/CN111124931A/zh
Application granted granted Critical
Publication of CN111124931B publication Critical patent/CN111124931B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • 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

Abstract

本申请实施例提供了一种Java代码合规性检查方法和装置,所述方法首先获得在编码阶段进行Java代码运行时所发出的访问服务指令;然后根据所述访问服务指令中的被调用服务类的包名和类名,确定所述服务类的全部属性;之后依次对所述服务类的属性进行判断;最后若确定所述服务类的属性为预设类型则调用所述包名对应的目标服务。因此,本申请实施例可以在Java代码运行时,例如进行代码调试时,会动态的对服务指令中所调用服务类进行合规性检查,只有在服务类的属性为预设类型时,才会调用目标服务,避免影响安全生产。

Description

一种Java代码合规性检查方法和装置
技术领域
本申请涉及软件开发技术领域,尤其涉及一种Java代码合规性检查方法和装置。
背景技术
现有的Java代码合规性检查,通常采用静态检查方式,在编码阶段结束后单独进行,然后通知相关人员进行修改。
但是,代码合规性问题的修改有可能延迟到产品上线前夕,影响安全生产。
发明内容
有鉴于此,本申请提供了一种Java代码合规性检查方法和装置,用以实现代码运行时,实现被调用类的代码合规性检查,便于提前发现问题,以免影响安全生产。
本发明实施例提供了一种Java代码合规性检查方法,包括:
获得在编码阶段进行Java代码运行时所发出的访问服务指令;
根据所述访问服务指令中的被调用服务类的包名和类名,确定所述服务类的全部属性;
依次对所述服务类的属性进行判断;
若确定所述服务类的属性为预设类型则调用所述包名对应的目标服务。
优选的,所述确定所述服务类的属性为预设类型包括:
判断所述服务类的属性是否为Java基础类型;
若所述服务类的属性为Java基础类型,则确定所述服务类的属性符合预设类型。
优选的,所述确定所述服务类的属性为预设类型包括:
判断所述服务类的属性是否为组件类型;
若所述服务类的属性为组件类型,则获得所述组件类型所在模块的第一模块信息以及所述服务类所属模块的第二模块信息;
当所述第一模块信息与所述第二模块信息相匹配时,则确定所述服务类的属性为预设类型。
优选的,若所述服务类的属性为组件类型,则所述方法还包括:
判断所述组件类型是否表征共享组件;
若所述组件类型表征共享组件,则确定所述服务类的属性为预设类型。
优选的,所述确定所述服务类的属性为预设类型包括:
若确定所述服务类的属性不为Java基础类型,且所述服务类的属性不为组件类型,则判断所述服务类的属性是否为框架允许的指定类型;所述指定类型为在框架下预设的服务属性类型;
若所述服务类的属性为框架允许的指定类型,则确定所述服务类的属性为预设类型。
优选的,还包括:
若确定所述服务类的属性不为预设类型,则输出错误信息。
优选的,还包括:
当所述调用所述包名对应的服务加载时,判断是否存在冲突类。
优选的,所述判断是否存在类冲突包括:
获得所述目标服务运行环境中所有层级类加载器的加载器信息;
根据所述加载器信息获取每一个加载器加载范围的所有类的类信息;
依据所述所有类的信息判断是否存在冲突类。
优选的,确定存在冲突类后,所述方法还包括:
获取冲突类所对应的三元组,所述三元组用于表征该冲突类的类名、实际生效路径以及其它重复路径;
输出所述三元组。
本发明另一方面还提供了一种Java代码合规性检查装置,包括:
获得模块,用于获得在编码阶段进行Java代码运行时所发出的访问服务指令;
确定模块,用于根据所述访问服务指令中的被调用服务类的包名和类名,确定所述服务类的全部属性;
运行模块,用于依次对所述服务类的属性进行判断;
确定模块,用于若确定所述服务类的属性为预设类型则调用所述包名对应的目标服务。
本申请实施例提供了一种Java代码合规性检查方法和装置,所述方法首先获得在编码阶段进行Java代码运行时所发出的访问服务指令;然后根据所述访问服务指令中的被调用服务类的包名和类名,确定所述服务类的全部属性;之后依次对所述服务类的属性进行判断;最后若确定所述服务类的属性为预设类型则调用所述包名对应的目标服务。因此,本申请实施例可以在Java代码运行时,例如进行代码调试时,会动态的对服务指令种所调用服务类进行合规性检查,只有在服务类的属性为预设类型时,才会调用目标服务,避免影响安全生产。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种Java代码合规性检查方法的流程示意图;
图2为本申请实施例提供的一种Java代码合规性检查装置的结构程示意图。
具体实施方式
本发明实施例提供了一种Java代码合规性检查方法和装置,用于在应用被调用时,通过拦截被调用类,实现对被调用类的代码合规性检查。并且在一些实施例中,还会判断哪些类可能存在类冲突的风险。下面对本发明的技术方案进行详细介绍。
本发明实施例中,方法实施例中可以通过插件形式来实现和运行。例如,jar包的形式存在,在正式运行环境打包时或运行时将jar包或配置文件进行剔除。实现与业务系统之间的解耦和灵活可插拔。
本发明实施例中,可以通过Java反射机制实现代码合规性检查在运行时运行,达到实时检查和强制约束的目的。下面对此过程进行详细介绍。
参见图1,图1是本发明实施例提供的一种Java代码合规性检查方法的流程示意图。
本发明提供了一种Java代码合规性检查方法,包括:
S101、获得在编码阶段进行Java代码运行时所发出的访问服务指令;
S201、根据所述访问服务指令中的被调用服务类的包名和类名,确定所述服务类的全部属性;
S301、依次对所述服务类的属性进行判断;
S401、若确定所述服务类的属性为预设类型则调用所述包名对应的目标服务。
本发明实施例中,在步骤S101,在编码阶段,用户如编程人员会进行例如代码调试等运行代码的过程。本发明实施例中,会接收在进行Java代码运行时所发出的访问服务指令。其中,所述访问服务指令中包括有被调用服务类的包名和类名。
本发明实施例中,采用对类进行拦截的方式来获得访问服务指令。以便于实现对被调用类的代码合规性检查。
具体的。
示例性的,例如,J2EE Web应用,如果请求式HTTP形式,可以通过拦截器方式进行配置。例如SpringMVC,可以在配置文件SpringMVC.xml中增加预设配置代码,实现类拦截。
其中,CnfsClsRuleCheckInterceptor类中通过Spring容器以及相关配置信息获取将处理请求的Controller bean类,并对该bean对象进行代码合规性检查。
示例性的,如过通讯通过TCP方式,例如,mina,则可以在messageReceived方法中进行统一拦截。代码可以设置例如:
示例性的,如果在应用前端有一层总控制,则可以直接在该总控制中实现。例如,总控制的服务可以执行如下代码:
可以理解的是,上述实例仅仅是用于说明对类的拦截,采用其它代码实现该功能本发明并不限制,在此不进行赘述。
本发明实施例中,按照SPI规则,实现固定的接口,将实现类放置于指定目录下,来实现类检查规则的设置,完成代码合规性检查。
示例性的,可以通过如下过程进行设置。
①定义接口类com.abchina.cnfs.check.rule.ICnfsClsRuleCheck;
②在项目的\src\main\resources下创建\META-INF\services目录;
③目录下增加配置文件,文件名为接口类的全限定类名com.abchina.cnfs.check.rule.ICnfsClsRuleCheck;
④配置文件内容为具体实现类的全限定类名,有多个则换行写入;
⑤使用JDK的ServiceLoader.load()方法加载配置文件中的描述信息,完成类加载操作;
⑥逐个规则实现类进行调用,完成代码合规性检查。
本发明实施例中,获取该被调用服务类的包名,解析该包名,获得其所属模块的目录名称。
本发明实施例中,在步骤S201,会通过Java反射机制获取服务类所有属性。
具体可以包括,对所有属性进行遍历,依次获取其所属模块的目录名称、类结构。
在步骤S301中,依次对所有属性类型进行判断。具体的判断过程可以包括如下几个方面。
所述确定所述服务类的属性为预设类型包括:
判断所述服务类的属性是否为Java基础类型;
若所述服务类的属性为Java基础类型,则确定所述服务类的属性符合预设类型。
本发明实施例中,会判断服务类的属性是否为Java基础类型,例如,是否为包名以java.开头的类型。
如果是Java基础类型,则确定为符合预设类型,执行调用服务的过程。
本发明实施例中,如果不是Java基础类型,则可以继续判断后续几个属性。当然,也可以直接输出错误信息。
本发明实施例中,还会确定是否为组件类型。具体的。
所述确定所述服务类的属性为预设类型包括:
判断所述服务类的属性是否为组件类型;
若所述服务类的属性为组件类型,则获得所述组件类型所在模块的第一模块信息以及所述服务类所属模块的第二模块信息;
当所述第一模块信息与所述第二模块信息相匹配时,则确定所述服务类的属性为预设类型。
本发明实施例中,如果服务类的属性为组件类型,还会确定其是否与服务类所属模块是相同模块,如果是相同的模块,则确定为预设类型。其中,模块信息是通过前述实施例介绍的所获得的,在此不进行赘述。
本发明实施例中,还可以判断服务类的属性是否为共享组件来确定是否为预设类型。具体的。
若所述服务类的属性为组件类型,则所述方法还包括:
判断所述组件类型是否表征共享组件;
若所述组件类型表征共享组件,则确定所述服务类的属性为预设类型。
本发明实施例中,还会确定服务类的属性是否为框架容许的类型。
具体的。
所述确定所述服务类的属性为预设类型包括:
若确定所述服务类的属性不为Java基础类型,且所述服务类的属性不为组件类型,则判断所述服务类的属性是否为框架允许的指定类型;所述指定类型为在框架下预设的服务属性类型;
若所述服务类的属性为框架允许的指定类型,则确定所述服务类的属性为预设类型。
本发明实施例中,如果是框架允许的指定类型,则确定为预设类型。
可以理解的是,上述几个步骤可以是同时执行的,当然也可以是顺序执行的,当一个步骤确定为否时,则继续另一个步骤,在所有步骤都运行完成后,确定为不符合预设类型。
当然,也可以是其中任意一个为否则确定所述服务类的属性不为预设类型。
可以理解的是,本发明实施例中,优选采用所有属性进行校验之后,如果确定所述服务类的属性为预设类型,则执行服务类,调用目标服务。
本发明实施例中,还包括:
若确定所述服务类的属性不为预设类型,则输出错误信息。
可以理解的是,本发明实施例中,如果确定所述服务类的属性不为预设类型,会输出错误信息,返回报错。
其中,错误信息中,可以包括有出错的具体原因,便于后续查找出错位置,调整代码。
可以看出,本发明实施例中,通过Java反射机制实现代码合规性检查在运行时进行,达到实时检查和强制约束的目的;通过SPI服务发现机制实现合规性检查与业务系统之间的解耦和灵活可插拔,检测插件可以以jar包等形式存在,正式运行环境打包或运行时将jar包或配置文件剔除即可。
可以看出,本发明实施例中,通过规则中限定为强制或者建议,实现代码合规性要求的强制性约束。通过SPI自动检测机制实现规则的灵活定制。
本发明实施例中,还会检测是否存在类冲突。
本发明实施例中,在运行时,还会进行类冲突检测。
在前述实施例的基础上,本发明实施例还包括:
当所述调用所述包名对应的服务加载时,判断是否存在冲突类。
其中,所述判断是否存在类冲突包括:
获得所述目标服务运行环境中所有层级类加载器的加载器信息;
根据所述加载器信息获取每一个加载器加载范围的所有类的类信息;
依据所述所有类的信息判断是否存在冲突类。
可以理解的是,通过研究JVM和应用服务器的类加载过程,可以通过反向追溯不同层级的类加载器的加载顺序,通过遍历每个类加载器的加载路径,来判断可能存在类冲突风险的类。
本发明实施例中,会将所有层级的类加载器信息进行记录。其中,每个类加载器类都有一个指向父类加载器的引用,因此,从当前类的类加载器开始,可以获取到类加载器层次的完整结构。每个层级的类加载器都有自己的类加载路径,类加载器的具体实现类不同,获取方法也有差异。因为应用场景不同,有的类加载器的加载路径可能为空。
然后通过读取JAR包的方式,获取每个类加载器加载范围下的所有类的信息,并对类的出现次数和位置进行记录。在读取遍历的过程中,如果出现类的全名跟已经统计过的类重复,则确定这个类有发生类冲突的可能。
由于不同的类加载器委托机制,或是不确定的系统文件搜索顺序,不能直接确定最终起作用的会是冲突类中的哪一个,这时候就需要使用动态类加载的方式进行实际检验。
示例性的,java.lang.Class的forName()方法是动态类加载的一种方式,由该方法返回的Class对象可以找到类的实际加载路径。
本发明实施例中,对于每一个冲突类,会获取到到类名-实际生效路径-其它重复路径的三元组数据,本发明实施例中,还会输出该三元组到日志中。
因此,本发明实施例中,确定存在冲突类后,所述方法还包括:
获取冲突类所对应的三元组,所述三元组用于表征该冲突类的类名、实际生效路径以及其它重复路径;
输出所述三元组。
本发明实施例中,对于已知可兼容的一系列JAR包,例如已经正常运行的某应用系统的lib目录下,可以设定一个默认兼容集合,对所有重复路径都在该集合中的冲突类进行自动过滤。
本发明实施例中,类冲突检测在应用启动时触发,解决了开发环境、测试环境不同而导致的问题定位困难。
与前述方法实施例对应的,本发明实施例还公开了一种Java代码合规性检查装置。
参见图2,图2是本发明实施例公开的一种Java代码合规性检查装置的结构示意图。
本发明公开的一种Java代码合规性检查装置,包括:
接收模块1,用于接收在编码阶段进行Java代码运行时所发出的访问服务指令;
确定模块2,用于根据所述访问服务指令中的被调用服务类的包名和类名,确定所述服务类的全部属性;
运行模块3,用于依次对所述服务类的属性进行判断;
确定模块4,用于若确定所述服务类的属性为预设类型则调用所述包名对应的目标服务。
本发明实施例中的一种Java代码合规性检查装置各个模块实现的过程可以参照前述实施例中的一种Java代码合规性检查方法的各个步骤,在此不进行赘述。
本发明实施例中提供的一种Java代码合规性检查装置,可以在Java代码运行时,例如进行代码调试时,会动态的对服务指令种所调用服务类进行合规性检查,只有在服务类的属性为预设类型时,才会调用目标服务,避免影响安全生产。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种Java代码合规性检查方法,其特征在于,包括:
获得在编码阶段进行Java代码运行时所发出的访问服务指令;
根据所述访问服务指令中的被调用服务类的包名和类名,确定所述服务类的全部属性;
依次对所述服务类的属性进行判断;
若确定所述服务类的属性为预设类型则调用所述包名对应的目标服务。
2.根据权利要求1所述的方法,其特征在于,所述确定所述服务类的属性为预设类型包括:
判断所述服务类的属性是否为Java基础类型;
若所述服务类的属性为Java基础类型,则确定所述服务类的属性符合预设类型。
3.根据权利要求1所述的方法,其特征在于,所述确定所述服务类的属性为预设类型包括:
判断所述服务类的属性是否为组件类型;
若所述服务类的属性为组件类型,则获得所述组件类型所在模块的第一模块信息以及所述服务类所属模块的第二模块信息;
当所述第一模块信息与所述第二模块信息相匹配时,则确定所述服务类的属性为预设类型。
4.根据权利要求3所述的方法,其特征在于,若所述服务类的属性为组件类型,则所述方法还包括:
判断所述组件类型是否表征共享组件;
若所述组件类型表征共享组件,则确定所述服务类的属性为预设类型。
5.根据权利要求1所述的方法,其特征在于,所述确定所述服务类的属性为预设类型包括:
若确定所述服务类的属性不为Java基础类型,且所述服务类的属性不为组件类型,则判断所述服务类的属性是否为框架允许的指定类型;所述指定类型为在框架下预设的服务属性类型;
若所述服务类的属性为框架允许的指定类型,则确定所述服务类的属性为预设类型。
6.根据权利要求1至5任意一项所述的方法,其特征在于,还包括:
若确定所述服务类的属性不为预设类型,则输出错误信息。
7.根据权利要求1所述的方法,其特征在于,还包括:
当所述调用所述包名对应的服务加载时,判断是否存在冲突类。
8.根据权利要求7所述的方法,其特征在于,所述判断是否存在冲突类包括:
获得所述目标服务运行环境中所有层级类加载器的加载器信息;
根据所述加载器信息获取每一个加载器加载范围的所有类的类信息;
依据所述所有类的信息判断是否存在冲突类。
9.根据权利要求8所述的方法,其特征在于,确定存在冲突类后,所述方法还包括:
获取冲突类所对应的三元组,所述三元组用于表征该冲突类的类名、实际生效路径以及其它重复路径;
输出所述三元组。
10.一种Java代码合规性检查装置,其特征在于,包括:
获得模块,用于获得在编码阶段进行Java代码运行时所发出的访问服务指令;
第一确定模块,用于根据所述访问服务指令中的被调用服务类的包名和类名,确定所述服务类的全部属性;
运行模块,用于依次对所述服务类的属性进行判断;
第二确定模块,用于若确定所述服务类的属性为预设类型则调用所述包名对应的目标服务。
CN201911391783.XA 2019-12-30 2019-12-30 一种Java代码合规性检查方法和装置 Active CN111124931B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911391783.XA CN111124931B (zh) 2019-12-30 2019-12-30 一种Java代码合规性检查方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911391783.XA CN111124931B (zh) 2019-12-30 2019-12-30 一种Java代码合规性检查方法和装置

Publications (2)

Publication Number Publication Date
CN111124931A CN111124931A (zh) 2020-05-08
CN111124931B true CN111124931B (zh) 2023-10-10

Family

ID=70504679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911391783.XA Active CN111124931B (zh) 2019-12-30 2019-12-30 一种Java代码合规性检查方法和装置

Country Status (1)

Country Link
CN (1) CN111124931B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591777A (zh) * 2012-01-10 2012-07-18 深圳市同洲视讯传媒有限公司 一种单元测试代码生成方法及装置
CN103838564A (zh) * 2012-11-27 2014-06-04 重庆新媒农信科技有限公司 一种属性加载方法及系统
CN105245554A (zh) * 2015-11-24 2016-01-13 无锡江南计算技术研究所 一种云环境下的动态属性访问控制方法
CN105630463A (zh) * 2014-10-28 2016-06-01 阿里巴巴集团控股有限公司 用于检测jar包冲突的方法及装置
CN105843614A (zh) * 2016-03-22 2016-08-10 东南大学 一种面向软件演化的代码可兼容性评估方法
CN108897853A (zh) * 2018-06-29 2018-11-27 北京百度网讯科技有限公司 生成推送信息的方法和装置
CN109254916A (zh) * 2018-08-30 2019-01-22 郑州云海信息技术有限公司 一种基于Spring依赖注入的可视化RestFul接口测试的方法及服务器
CN109426608A (zh) * 2017-08-29 2019-03-05 中国电信股份有限公司 分布式服务的测试方法和装置、计算机可读存储介质
CN109710236A (zh) * 2018-12-30 2019-05-03 北京字节跳动网络技术有限公司 基于共享服务的业务开发和实现方法、装置、平台及介质
CN110290212A (zh) * 2019-06-28 2019-09-27 浙江大搜车软件技术有限公司 服务调用记录方法、装置、计算机设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7493605B2 (en) * 2004-12-29 2009-02-17 Mainsoft R&D Ltd Method and a software product for adapting a .Net framework compliant reflection mechanism to a java environment
US8561034B2 (en) * 2006-06-22 2013-10-15 Infosys Technologies, Ltd. Software fault injection in java enterprise applications
US8566800B2 (en) * 2010-05-11 2013-10-22 Ca, Inc. Detection of method calls to streamline diagnosis of custom code through dynamic instrumentation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102591777A (zh) * 2012-01-10 2012-07-18 深圳市同洲视讯传媒有限公司 一种单元测试代码生成方法及装置
CN103838564A (zh) * 2012-11-27 2014-06-04 重庆新媒农信科技有限公司 一种属性加载方法及系统
CN105630463A (zh) * 2014-10-28 2016-06-01 阿里巴巴集团控股有限公司 用于检测jar包冲突的方法及装置
CN105245554A (zh) * 2015-11-24 2016-01-13 无锡江南计算技术研究所 一种云环境下的动态属性访问控制方法
CN105843614A (zh) * 2016-03-22 2016-08-10 东南大学 一种面向软件演化的代码可兼容性评估方法
CN109426608A (zh) * 2017-08-29 2019-03-05 中国电信股份有限公司 分布式服务的测试方法和装置、计算机可读存储介质
CN108897853A (zh) * 2018-06-29 2018-11-27 北京百度网讯科技有限公司 生成推送信息的方法和装置
CN109254916A (zh) * 2018-08-30 2019-01-22 郑州云海信息技术有限公司 一种基于Spring依赖注入的可视化RestFul接口测试的方法及服务器
CN109710236A (zh) * 2018-12-30 2019-05-03 北京字节跳动网络技术有限公司 基于共享服务的业务开发和实现方法、装置、平台及介质
CN110290212A (zh) * 2019-06-28 2019-09-27 浙江大搜车软件技术有限公司 服务调用记录方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈隽.JAVA语言的程序安全性分析.《网络安全技术与应用》.2009,第2009年卷(第08期),全文. *

Also Published As

Publication number Publication date
CN111124931A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN106559438B (zh) 一种基于目标网络平台的程序上传方法和装置
US20190324772A1 (en) Method and device for processing smart contracts
CN110941528B (zh) 一种基于故障的日志埋点设置方法、装置及系统
CN109725911A (zh) 一种多环境项目部署方法、装置、存储介质及处理器
JP2005293578A (ja) 属性を介して制御されるテストケース継承
CN112835676A (zh) 一种容器化应用的部署方法及装置、计算机设备、介质
CN110879781B (zh) 程序调试方法、装置、电子设备及计算机可读存储介质
AU2021206497A1 (en) Method and apparatus for authority control, computer device and storage medium
CN111026080A (zh) 控制器的硬件在环测试方法及装置
CN107179982B (zh) 一种跨进程调试方法和装置
US7340725B1 (en) Smart test attributes and test case scenario in object oriented programming environment
CN111258742B (zh) 一种数据同步的方法、系统、计算设备及存储介质
CN113849177A (zh) 一种全局数据状态管理方法、装置、电子设备及存储介质
CN107301097B (zh) 一种调用java对象、java对象的引用地址信息的存储方法及装置
CN111124931B (zh) 一种Java代码合规性检查方法和装置
CN116016227A (zh) 基于Docker Compose的微服务系统编排可视化方法、设备及介质
CN111309402A (zh) 数据监测及针对应用程序的处理方法、装置及设备
CN115617668A (zh) 一种兼容性测试方法、装置及设备
CN114791884A (zh) 测试环境的构建方法、装置、存储介质及电子设备
CN115878336A (zh) 锁操作中的信息处理方法、装置及计算设备
CN111625463B (zh) 一种程序状态检测方法和装置
CN113312613A (zh) 容器创建方法、容器删除方法、装置及设备
CN115629759A (zh) 一种应用检查方法、装置、电子设备及计算机存储介质
CN113687973A (zh) 一种日志动态化输出的控制方法、设备及介质
CN116820959A (zh) 一种在线调试方法及装置

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