[发明专利]一种Java程序编译时自动生成字节码的优化方法有效
申请号: | 202011169124.4 | 申请日: | 2020-10-28 |
公开(公告)号: | CN112346778B | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 刘滨;潘正颐;韩锦 | 申请(专利权)人: | 常州微亿智造科技有限公司 |
主分类号: | G06F8/73 | 分类号: | G06F8/73;G06F8/41;G06F8/33;G06F9/455 |
代理公司: | 常州至善至诚专利代理事务所(普通合伙) 32409 | 代理人: | 赵旭 |
地址: | 213100 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 程序 编译 自动 生成 字节 优化 方法 | ||
1.一种Java程序编译时自动生成字节码的优化方法,其特征在于:包括自定义注解、AOP、Javac以及JVM,Java源码通过所述的Javac编译成JVM的字节码文件;
所述的自定义注解用来表示哪个Java源文件需要新增什么样的字节码;
自定义注解的注解接口类声明为@Retention public@interface Constructor{};@Retention的类型需要声明为编译时解析RetentionPolicy.SOURCE;通过采用@Retention的注解方式告诉Javac指令哪些类是需要编译期插入字节码的;
所述的AOP用于对自定义注解进行拦截;
所述的Javac用于分析源代码并生成一棵抽象的字节码语法树;
AOP找到带有@Constructor的注解类,利用Java的反射机制获取类中的所有的属性,然后为这个类编写带有所有属性的构造方法;
所述的JVM用于给字节码文件增加新的节点;
JVM加载找到注解所在类后,把类的构造方法插入到字节码语法树的结构中,Javac使用修改后的字节码语法树生成字节码文件,即给class增加新的节点;
自定义注解和AOP打包后引入到需要的项目工程中,并在需要生成公用字节码的类中加入自定义注解的注解。
2.根据权利要求1所述的一种Java程序编译时自动生成字节码的优化方法,其特征在于:所述的AOP包括声明切面、连接点以及通知。
3.根据权利要求2所述的一种Java程序编译时自动生成字节码的优化方法,其特征在于:所述的通知中对自定义注解进行拦截,解析到自定义注解的注解时要实现自动生成类构造方法的字节码。
4.根据权利要求1所述的一种Java程序编译时自动生成字节码的优化方法,其特征在于:所述的自定义注解和AOP打包成jar的方式,在需要的项目工程中引入jar包,在需要生成构造方法的类中加入自定义注解的注解。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常州微亿智造科技有限公司,未经常州微亿智造科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011169124.4/1.html,转载请声明来源钻瓜专利网。