Java教程

Lombok经常用,但是你知道它的原理是什么吗?(二)

本文主要是介绍Lombok经常用,但是你知道它的原理是什么吗?(二),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

在上一篇Lombok经常用,但是你知道它的原理是什么吗?简单介绍了注解处理器,是用来处理编译期的注解的一个工具,我们只是自己生成了一些代码,但是和Lombok却不一样,因为Lombok是在原有类的基础上增加了一些类,你那么Lombok是如何做到修改原有类的内容呢?接下来我们就再进一步了解Lombok的原理。

Javac原理

既然我们是在编译期对类进行操作了,那么我们就需要了解在Java中Javac到底对程序做了什么。Javac对代码编译的过程其实就是用Java来写的,我们可以查看其源码对其简单的分析,如何下载源码,Debug源码这里我就不进行分析了,推荐一篇文章写的挺好的。Javac 源码调试教程

编译过程大致分为了三个阶段

  • 解析与填充符号表
  • 注解处理
  • 分析与字节码生成

这三个阶段的交互过程如下图所示。

解析与填充符号表