经常可以在 Groovy 的文档中看到 Indy 选项,那么什么是 Indy 呢?
原来 Indy 是 Invoke Dynamic 的缩写,它是 JDK7 添加的一个新的 bytecode字节码指令,作用是让基于JVM的动态语言实现更加方便和高效,例如 Java8 中的 lambda 表达式就是用这个指令实现的。
对于我们使用者而言,如果我们的JDK可以是 JDK8,那么就可以放心大胆地使用 Indy 选项、用 Indy 编译的 groovy 分发包等等。
如果要兼容 JDK6,就不能使用 Indy 指令了。
参考: