【技术实现步骤摘要】
应用共享Class文件的方法及装置、计算设备
本专利技术涉及软件领域,具体涉及一种应用共享Class文件的方法及装置、计算设备。
技术介绍
基于插件化的应用软件中,宿主为安装在终端设备上可运行的应用软件主体,插件为无需安装通过插件化可以在宿主中运行的应用软件。利用插件化可以实现对宿主的更新,方便应用软件的升级。但这种方式导致插件和宿主中会存在相同的Class文件,即插件和宿主对相同的Class文件均进行了调用,相同的Class文件会在插件和宿主中保存多份(尤其当插件为多个时)。宿主和插件中均保存相同的Class文件会导致插件和宿主的体积过大,Class文件在被宿主和插件调用时,需要多次加载,使得加载速度变慢,占用大量内存,增大内存开销。因此,针对这种插件化的应用软件,需要一种各应用共享Class文件的方法,以解决上述问题。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的应用共享Class文件的方法及装置、计算设备。根据本专利技术的一个方面, ...
【技术保护点】
1.一种应用共享Class文件的方法,所述方法执行于未包含共享Class文件的第一应用中,其包括:/n对Class文件进行加载,拦截所述第一应用加载Class文件时产生的异常;/n判断加载的Class文件是否为共享Class文件;/n若是,从包含所述共享Class文件的第二应用中查找并获取所述共享Class文件,以便所述第一应用调用所述共享Class文件生成实例。/n
【技术特征摘要】
1.一种应用共享Class文件的方法,所述方法执行于未包含共享Class文件的第一应用中,其包括:
对Class文件进行加载,拦截所述第一应用加载Class文件时产生的异常;
判断加载的Class文件是否为共享Class文件;
若是,从包含所述共享Class文件的第二应用中查找并获取所述共享Class文件,以便所述第一应用调用所述共享Class文件生成实例。
2.根据权利要求1所述的方法,其中,所述第一应用具体为宿主;所述第二应用包括至少一个插件;
或者,所述第一应用包括至少一个插件;所述第二应用具体为宿主;
或者,所述第一应用包括至少一个插件和宿主;所述第二应用为非第一应用的插件。
3.根据权利要求1或2所述的方法,其中,所述判断加载的Class文件是否为共享Class文件进一步包括:
根据共享Class文件的白名单,判断加载的Class文件是否存在所述白名单中;
若是,判断加载的Class文件为共享Class文件。
4.根据权利要求1或2所述的方法,其中,所述判断加载的Class文件是否为共享Class文件进一步包括:
根据所述第一应用预先设置的依赖关系,判断所述第一应用依赖的第二应用是否包含所述加载的Class文件;
若是,判断加载的Class文件为共享Class文件。
5.根据权利要求3所述的方法,其中,在所述从包含所述共享Class文件的第二应用中查找并获取所述共享Class文件,以便所述第一应用调用所述共享Class文件生成实例之前,所述方法还包括:
根据所述共享Class文件的白名单以及共享Class文件的名称,确定包含所述共享Class文件的第二应用。
6.根据权利...
【专利技术属性】
技术研发人员:韩永柏,刘清洁,董涛,卜云涛,
申请(专利权)人:北京奇虎科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。