Recent Posts

如何发布Maven依赖到中央仓库

4 minute read

平时我们都是从Maven中央仓库下载依赖,如果我们想发布我们自己写的Maven依赖到中央仓库供别人下载使用应该怎么办?这里以上传自己写的simian-maven-plugin(https://github.com/jiangxincode/simian-maven-plugin)的实际过程为例说明如何发布Mave...

Groovy实现原理分析——词法分析、语法分析、生成JVM字节码综述

2 minute read

在上一篇文中中我们提到Groovy编译器将Groovy脚本编译成JVM可以执行的字节码文件,这之中涉及词法分析、语法分析、生成JVM字节码的过程,学过编译原理的同学可能会对这些概念比较熟悉,不熟悉也没关系,我们简单回忆一下一般编译器的编译过程。首先给出一张龙书中的示意图:

Groovy实现原理分析——准备工作

1 minute read

首先说明一下为什么要写这样一系列分析Groovy实现原理的博文。我之前在华为大数据部门曾维护过一份规则引擎的项目,该项目说白了就是一种DSL(Domain Specified Language),把用户的输入转化为一种可以执行的程序。让不懂编程语言的用户只定义一些规则说明便可以完成流程编写。后来由于部门调动,接触...