The present application provides a method and apparatus for replacing methods in the Java class. The method includes: Java virtual machine loading first class Java and second class Java; second to determine the structure information substitution method substitution method to the first structural information of the first Java class and the class second Java by JNI; the second structure information instead of the first structure according to the information. This application can realize dynamic method for each type of Java class replacement, without restarting the application, there is no need to re load the Java class, improve the efficiency of the replacement method in the Java class, while improving the user experience.
【技术实现步骤摘要】
Java类中方法的替换方法和装置
本申请涉及软件
,尤其涉及一种Java类中方法的替换方法和装置。
技术介绍
Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言,Java技术具有卓越的通用性、高效性、平台移植性以及安全性,目前已被广泛使用在各个领域的不同平台。Java类是Java程序的组织单位,Java类中通常封装有方法,然而,Java类不能被直接操作,通常需要由Java虚拟机对Java类进行加载,然后执行Java类中的各个方法,以实现Java程序的运行。在实际的应用开发中,经常需要对Java类中的方法进行修改,目前,在对Java类中的方法进行修改时,普遍需要重新启动相关的应用,从而降低修改效率。同时,一旦Java程序已经发布给用户,用户需要更新并重新启动相关的应用才能达到修改Java类中方法的目的,降低了用户体验。
技术实现思路
有鉴于此,本申请提供一种Java类中方法的替换方法和装置,以解决相关技术中替换Java类中方法需要重新启动相关应用的问题。具体地,本申请是通过如下技术方案实现的:一种Java类中方法的替换方法,所述方法包括:Java虚拟机加载第一Java类以及第二Java类;通过JNI确定所述第一Java类中待替换方法的第一结构信息以及所述第二Java类中替换方法的第二结构信息;根据所述第二结构信息替换所述第一结构信息。可选的,所述通过JNI确定所述第一Java类中待替换方法的第一结构信息以及所述第二Java类中替换方法的第二结构信息,包括:确定所述Java虚拟机类型和版本;根据所述Java虚拟机类型和版本,通过JNI确定所述第一J ...
【技术保护点】
一种Java类中方法的替换方法,其特征在于,所述方法包括:Java虚拟机加载第一Java类以及第二Java类;通过JNI确定所述第一Java类中待替换方法的第一结构信息以及所述第二Java类中替换方法的第二结构信息;根据所述第二结构信息替换所述第一结构信息。
【技术特征摘要】
1.一种Java类中方法的替换方法,其特征在于,所述方法包括:Java虚拟机加载第一Java类以及第二Java类;通过JNI确定所述第一Java类中待替换方法的第一结构信息以及所述第二Java类中替换方法的第二结构信息;根据所述第二结构信息替换所述第一结构信息。2.根据权利要求1所述的方法,其特征在于,所述通过JNI确定所述第一Java类中待替换方法的第一结构信息以及所述第二Java类中替换方法的第二结构信息,包括:确定所述Java虚拟机类型和版本;根据所述Java虚拟机类型和版本,通过JNI确定所述第一Java类中待替换方法的第一结构信息以及所述第二Java类中替换方法的第二结构信息。3.根据权利要求1所述的方法,其特征在于,所述第一结构信息包括所述待替换方法的第一属性参数及其第一地址信息;所述第二结构信息包括所述替换方法的第二属性参数及其第二地址信息。4.根据权利要求3所述的方法,其特征在于,所述通过JNI确定所述第一Java类中待替换方法的第一结构信息以及所述第二Java类中替换方法的第二结构信息,包括:根据所述待替换方法的第一标识,通过JNI获取所述第一结构信息中的第一地址信息,并根据所述第一地址信息查找所述第一结构信息中的第一属性参数;根据所述替换方法的第二标识,通过JNI获取所述第二结构信息中的第二地址信息,并根据所述第二地址信息查找所述第二结构信息中的第二属性参数。5.根据权利要求4所述的方法,其特征在于,所述根据所述第...
【专利技术属性】
技术研发人员:黎三平,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。