0%

  虽然Groovy 3 Alpha版本就已经支持Java 8的Lambda、Method Reference以及Constructor Reference全部语法,但从bytecode层面来看,其本质上依然是Closure及Method Pointer,换言之,只是语法上的兼容,但性能上并没有提升。而Groovy的性能常为人诟病,所以Groovy 2引入了静态编译,其编译出来的bytecode跟Java的相近,所以其性能逼近Java。为了延续静态编译的性能优势,Groovy核心团队决定在Groovy 3 Beta版本中实现Lambda、Method Reference以及Constructor Reference的Native版本,其语法不变,但生成的bytecode与Java的相似,这便是”Native”的由来。

阅读全文 »

问题现象

当select的返回记录类型设置为map(或者其他Map类型,比如java.util.HashMap等)时,返回的map对象可能并未包含所有字段,即只出现有值的字段,而这恰恰是MyBatis的默认处理方式。

阅读全文 »

背景介绍

Groovy面世已有10多年光阴,在不断创新的同时还汲取了不少其他语言的优秀特性。目前Groovy核心团队已开始将重心逐渐转移到Groovy 3的研发上,而Groovy 3的主要亮点之一便是其全新的解析器以及更加丰富的语言特性。由于前期为Groovy研发了这一全新的解析器并添加了不少语言特性,有幸受邀成为Groovy核心团队的一员。最初我将该全新的解析器命名为“Parrot”,其含义相对比较谦卑,即“鹦鹉学舌”,学着如何说Groovy以及Java8,通过数月陆陆续续地完善,已达到一定的成熟度并已被纳入master分支

阅读全文 »

println "Hello, world!"