[发明专利]字节码文件的处理方法、装置、设备及存储介质有效
申请号: | 201911328700.2 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111078279B | 公开(公告)日: | 2023-06-16 |
发明(设计)人: | 谭乐华 | 申请(专利权)人: | 抖音视界有限公司 |
主分类号: | G06F8/73 | 分类号: | G06F8/73;G06F16/13;G06F16/14;G06F16/174 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 徐晨影 |
地址: | 100041 北京市石景山区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 字节 文件 处理 方法 装置 设备 存储 介质 | ||
本申请实施例提供了一种字节码处理的方法、装置、设备及存储介质。其方法包括:将字节码文件中的多个第一目标方法所包括的目标指令保存到目标指令集合中,目标指令包括字段读写指令,或者,目标指令包括以下至少一种:字段读写指令、方法调用指令;利用上述目标指令集合对上述多个第一目标方法进行方法内联。通过方法内联处理实现对字节码文件的压缩,进而达到对应用程序的包体积进行压缩的目的。先将方法内联过程中替换指令所需要的目标指令保存到目标指令集合中,由于目标指令集合中仅保存目标指令相关数据,其数据量远小于字节码文件,因此,直接从目标指令集合中读取目标指令的读取效率更高,从而提高方法内联的处理效率。
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种字节码文件的处理方法、装置、设备及存储介质。
背景技术
利用JAVA语言进行应用程序的开发过程中,为实现应用程序的功能,确保应用程序正确运行,会产生大量的方法,这些方法由若干指令构成。
方法的数量越多,会导致应用程序的包体积越大。而无论是应用程序的开发者还是使用者,都希望尽可能地压缩应用程序的包体积。
发明内容
本申请实施例提供一种字节码文件的处理方法、装置、设备及存储介质,以达到压缩应用程序包体积的目的。
第一方面,本申请实施例提供一种字节码文件的处理方法,包括:
将字节码文件中的多个第一目标方法所包括的目标指令保存到目标指令集合中,目标指令包括字段读写指令,或者,目标指令包括以下至少一种:字段读写指令、方法调用指令;
利用上述目标指令集合对上述多个第一目标方法进行方法内联。
本申请实施例提供的方法,对应用程序的字节码文件中的第一目标方法进行方法内联处理,即删除该第一目标方法,将调用该第一目标方法的方法调用指令替换为该第一目标方法所包括的目标指令,并将第一目标方法访问的字段和/或方法的访问权限修改为“公开”,通过这种处理实现对字节码文件的压缩,进而达到对应用程序的包体积进行压缩的目的。该方法中,先将方法内联过程中替换指令所需要的目标指令保存到目标指令集合中,在执行方法内联的过程中,不需要再次从字节码文件中查找目标指令,而是直接从目标指令集合中读取目标指令进行指令替换。由于目标指令集合中仅保存目标指令相关数据,其数据量远小于字节码文件,因此,直接从目标指令集合中读取目标指令的读取效率更高,从而提高方法内联的处理效率。
在第一方面的一个可选实施例中,将字节码文件中的多个第一目标方法所包括的目标指令保存到目标指令集合中的实现方式包括:通过扫描上述字节码文件查找上述多个第一目标方法,读取查找到的第一目标方法中的目标指令,将读取到的目标指令保存到目标指令集合中;相应的,利用目标指令集合对多个第一目标方法进行方法内联的实现方式包括:通过再次扫描字节码文件查找多个第一目标方法、多个第一目标方法各自被调用所对应的方法调用指令和目标字段,目标字段为目标指令集合中保存的字段读写指令指示的字段;删除查找到的第一目标方法;将查找到的多个第一目标方法各自被调用所对应的方法调用指令替换为目标指令集合中保存的本第一目标方法所包括目标指令;将查找到的目标字段的访问权限修改为“公开”;或者,通过再次扫描字节码文件查找多个第一目标方法、多个第一目标方法各自被调用所对应的方法调用指令、目标字段和第二目标方法,目标字段为目标指令集合中保存的字段读写指令指示的字段,第二目标方法为目标指令集合中保存的方法调用指令指示的方法;删除查找到的第一目标方法;将查找到的多个第一目标方法各自被调用所对应的方法调用指令替换为目标指令集合中保存的本第一目标方法所包括目标指令;将查找到的目标字段的访问权限修改为“公开”;将查找到的第二目标方法的访问权限修改为“公开”。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于抖音视界有限公司,未经抖音视界有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911328700.2/2.html,转载请声明来源钻瓜专利网。