[发明专利]多版本的字节码处理方法、系统和一种虚拟机有效
申请号: | 200910170154.4 | 申请日: | 2009-09-03 |
公开(公告)号: | CN101645018A | 公开(公告)日: | 2010-02-10 |
发明(设计)人: | 徐佳宏;程伯钦;朱吕亮 | 申请(专利权)人: | 深圳市茁壮网络股份有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45;G06F9/455 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) | 代理人: | 彭愿洁;李文红 |
地址: | 518002广东省深圳市罗湖区沿河*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 版本 字节 处理 方法 系统 一种 虚拟机 | ||
1.一种多版本的字节码处理方法,其特征在于,包括:
获取经过预编译后生成的字节码的版本号;
判断所述经过预编译后生成的字节码能否运行于当前版本的虚拟机;
若不能,则取消运行所述经过预编译后生成的字节码并报错;
所述判断所述经过预编译后生成的字节码能否运行于当前版本的虚拟机 包括:判断所述经过预编译后生成的字节码的版本号是否与所述虚拟机当前版 本的版本号相等,若是,则判断所述经过预编译后生成的字节码能够运行于当 前版本的虚拟机;或者
所述判断所述经过预编译后生成的字节码能否运行于当前版本的虚拟机 包括:判断所述经过预编译后生成的字节码的版本号是否低于所述虚拟机当前 版本的版本号,若是,则判断所述经过预编译后生成的字节码能够运行于当前 版本的虚拟机;或者
所述判断所述经过预编译后生成的字节码能否运行于当前版本的虚拟机 包括:判断所述经过预编译后生成的字节码的版本号是否高于所述虚拟机当前 版本的版本号,若是,则判断所述经过预编译后生成的字节码不能运行于当前 版本的虚拟机。
2.如权利要求1所述多版本的字节码处理方法,其特征在于,若判断所述 经过预编译后生成的字节码的版本号与所述虚拟机当前版本的版本号相等,则 按照所述经过预编译后生成的字节码的处理逻辑运行所述经过预编译后生成 的字节码。
3.如权利要求1所述多版本的字节码处理方法,其特征在于,若判断所述 经过预编译后生成的字节码的版本号低于所述虚拟机当前版本的版本号,则按 照所述虚拟机保留的字节码的处理逻辑运行所述经过预编译后生成的字节码。
4.一种多版本的字节码处理装置,其特征在于,所述装置包括:
获取模块,用于获取经过预编译后生成的字节码的版本号;
判断模块,用于根据所述获取模块获取的版本号判断所述经过预编译后生 成的字节码能否运行于当前版本的虚拟机;
字节码处理模块,用于在所述判断模块判断所述经过预编译后生成的字节 码不能运行于当前版本的虚拟机时,取消运行所述经过预编译后生成的字节码 并报错;
所述判断模块包括:
第一判断单元,用于判断所述经过预编译后生成的字节码的版本号是否与 所述虚拟机当前版本的版本号相等,若是,则判断所述经过预编译后生成的字 节码能够运行于当前版本的虚拟机;
第二判断单元,用于判断所述经过预编译后生成的字节码的版本号是否低 于所述虚拟机当前版本的版本号,若是,则判断所述经过预编译后生成的字节 码能够运行于当前版本的虚拟机;
第三判断单元,用于判断所述经过预编译后生成的字节码的版本号是否高 于所述虚拟机当前版本的版本号,若是,则判断所述经过预编译后生成的字节 码不能运行于当前版本的虚拟机。
5.如权利要求4所述的装置,其特征在于,所述字节码处理模块包括:
第一处理单元,用于所述第一判断单元判断所述经过预编译后生成的字节 码的版本号与所述虚拟机当前版本的版本号相等时,按照所述经过预编译后生 成的字节码的处理逻辑运行所述经过预编译后生成的字节码;
第二处理单元,用于所述第二判断单元判断所述经过预编译后生成的字节 码的版本号低于所述虚拟机当前版本的版本号时,按照所述虚拟机保留的字节 码的处理逻辑运行所述经过预编译后生成的字节码。
6.一种多版本的字节码处理系统,包括预编译模块和与所述预编译模块 分离的虚拟机,其特征在于,所述预编译模块包括:
解析器,用于解析源代码,建立抽象的语法树;
编译器,用于基于所述语法树,编译所述解析器解析出的源代码,生成字 节码,所述字节码中的第一个字节记录标识所述字节码版本的版本号;
所述虚拟机包括:
获取模块,用于获取经过所述预编译模块编译后生成的字节码的版本号;
判断模块,用于根据所述获取模块获取的版本号判断所述预编译模块编译 后生成的字节码能否运行于当前版本的虚拟机;
字节码处理模块,用于在所述判断模块判断所述预编译模块编译后生成的 字节码能够运行于当前版本的虚拟机时,按照所述字节码对应的处理逻辑运行 所述预编译模块编译后生成的字节码,以及在所述判断模块判断所述预编译模 块编译后生成的字节码不能运行于当前版本的虚拟机时,取消运行所述预编译 模块编译后生成的字节码并报错;
所述判断模块包括:
第一判断单元,用于判断经过所述预编译模块编译后生成的字节码的版本 号是否与所述虚拟机当前版本的版本号相等,若是,则判断经过所述预编译模 块编译后生成的字节码能够运行于当前版本的虚拟机;
第二判断单元,用于判断所述经过预编译后生成的字节码的版本号是否低 于所述虚拟机当前版本的版本号,若是,则判断经过所述预编译模块编译后生 成的字节码能够运行于当前版本的虚拟机;
第三判断单元,用于判断所述经过预编译后生成的字节码的版本号是否高 于所述虚拟机当前版本的版本号,若是,则判断经过所述预编译模块编译后生 成的字节码不能运行于当前版本的虚拟机。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市茁壮网络股份有限公司,未经深圳市茁壮网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910170154.4/1.html,转载请声明来源钻瓜专利网。