Apache发布Groovy 2.5正式版及3.0预览版

Apache基金会最近发布了Groovy2.5,新功能包括:

\\
  • AST转换的改进\
  • 新的宏支持\
  • 其他杂项改进\

运行Groovy 2.5至少需要JDK 7,在JDK 9+上运行可以忽略良性警告。

\\

尽管最近人们把关注点转到了其他JVM语言上(如Kotlin),但Groovy仍然有很大的增长。正如Groovy提交者、OCI首席软件工程师Paul King博士在最近的一次网络研讨会上所说的:

\\
\

Groovy的下载量说明,它仍然是继Java之后JVM上第二大最受欢迎的语言,而且这个数字还在不断增加。今年第一季度,下载次数为9000万次,比去年第一季度下载次数的两倍还要多。所以我们可以看到,人们仍然对Groovy很感兴趣。

\
\\

在过去的12个月里,Groovy增加了30个新的提交者。

\\

AST转换——注解

\\

如下图所示,为了保证转换之间的一致性,对很多现有的AST转换进行了改进,并在2.5版本中添加了11个新的转换。在Groovy 3.0中添加了一个额外的转换,但在GA发布之前可能会出现更多转换。

\\

79c64800105bc010bfa702863c6dd7b4.png

\\

AST转换——宏

\\

如上所述,Groovy提供了大量的内置AST转换。开发人员也可以创建自己的自定义转换,前提是需要了解Groovy语法结构的内部表示。

\\

2.5版本中的宏功能消除了了解语法结构内部表示的需要,正如发行说明中所定义的那样:

\\
\

在创建编译时元编程扩展时,宏可以让你直接使用Groovy语法,而不是使用内部编译器表示。因此,转换的创建将掌握在所有Groovy程序员手中,而不仅仅是Groovy编译器创建者。

\
\\

例如,假设开发人员希望创建一个转换(@Info),用于生成一个方法(@getInfo())。在2.5版本之前,需要编写以下代码:

\\
\...\def clazz = new MethodCallExpression(new VariableExpression(\"this\"), \"getClass\

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

virtualbox 命令

原文链接:http://418684644-qq-com.iteye.com/blog/1451000 ----------------------------------------------------------------------------------------- 查看当前虚拟机 VBxoManage list vms 查看当前正在运行的虚拟机 VBoxManage list runningvms 启动虚拟机 …

js小学生图区_推荐12个最好的 JavaScript 图形绘制库

众多周知,图形和图表要比文本更具表现力和说服力。图表是数据图形化的表示,通过形象的图表来展示数据,比如条形图,折线图,饼图等等。可视化图表可以帮助开发者更容易理解复杂的数据,提高生产的效率和 Web 应…

linux 关闭登录权限,linux – /var/www/html的权限[已关闭]

我有一个虚拟CentOS服务器与GoDaddy,我无法设置/ var / www / html的权限。用户不能以root用户身份登录,甚至不能将自己添加到根组中,因此,我将自己写入的角落:>我使用以下命令更改了其所有者(我使用httpd.conf中的…

cifar10数据集测试有多少张图_pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)...

首先这是VGG的结构图,VGG11则是红色框里的结构,共分五个block,如红框中的VGG11第一个block就是一个conv3-64卷积层:一,写VGG代码时,首先定义一个 vgg_block(n,in,out)方法,用来构建VGG中每个blo…

npm ERR! Please try running this command again as root/Administrator.

win10操作系统下 webstrom的控制台使用 npm install angular-file-upload 安装组件,报错:npm ERR! Please try running this command again as root/Administrator. 解决方法: 开始按钮右键---- windows powershell(管理员&…

map flatmap mappartition flatMapToPair四种用法区别

原文链接:http://blog.csdn.net/u013086392/article/details/55666912 ----------------------------------------------------------------------------------- map: 我们可以看到数据的每一行在map之后产生了一个数组,那么rdd存储的是一个数组的集合…

eve可以在linux运行吗,ubuntu下为eve游戏搭载 wine环境

援引该地址的参考,本文仅做整理:http://bbs.eve-china.com/thread-626756-1-1.htmllinux的显卡是否驱动成功,依次键入如下命令察看:sudo apt-get install mesa-utils /*安装 mesa-utils 的指令*/glxinfo | grep r…

自动飞行控制系统_波音公司将重设计737MAX自动飞行控制系统!力求十月前复飞...

据西雅图时报8月1日报道,美国联邦航空管理局(FAA)在6月份对波音737 MAX飞行控制系统进行新的严格测试时,发现了一个潜在的缺陷,该缺陷促使波音公司对其基本的软件设计进行变革。波音公司如今正在改变737 MAX的自动飞行控制系统软件&#xff0…

每日一题——LeetCode141.环形链表

个人主页:白日依山璟 专栏:Java|数据结构与算法|每日一题 文章目录 1. 题目描述示例1:示例2:示例3:提示: 2. 思路3. 代码 1. 题目描述 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某…

Android O 获取APK文件权限 Demo案例

1. 通过 aapt 工具查看 APK权限 C:\Users\zh>adb pull /system/priv-app/Settings . /system/priv-app/Settings/: 3 files pulled. 10.8 MB/s (48840608 bytes in 4.325s)C:\Users\zh>aapt d permissions C:\Users\zh\Settings\Settings.apk package: com.android.sett…

VBoxManage命令更详尽版

原文链接:http://418684644-qq-com.iteye.com/blog/1451000 ------------------------------------- VBoxManage命令详解(一) 本人对vboxmange命令按我个人的理解作了解释,由于本人水平有限难免有错误的地方,希望大…

linux make命令实现,Linux make命令主要参数详解

-C dir或者 --directoryDIR在读取makefile文件前,先切换到“dir”目录下,即把dir作为当前目录。如果存在多个-C选项,make的最终当前目录是第一个目录的相对路径,如“make –C /home/leowang –C document”,等价于“ma…

行人属性数据集pa100k_基于InceptionV3的多数据集联合训练的行人外观属性识别方法与流程...

本发明涉及模式识别技术、智能监控技术等领域,具体的说,是基于Inception V3的多数据集联合训练的行人外观属性识别方法。背景技术:近年来,视频监控系统已经被广泛应用于安防领域。安防人员通过合理的摄像头布局,实现对…

VBoxManage获取虚拟机IP地址

在宿主机Linux上安装VirtualBox,然后VirtualBox上安装linux虚拟机,在Virtualbox非界面启动虚拟机时,ip地址无法查看。怎么办? 使用命令: VBoxManage guestproperty enumerate 虚拟机名 | grep "Net.*V4.*IP"…

springboot系列(十)springboot整合shiro实现登录认证

关于shiro的概念和知识本篇不做详细介绍,但是shiro的概念还是需要做做功课的要不无法理解它的运作原理就无法理解使用shiro; 本篇主要讲解如何使用shiro实现登录认证,下篇讲解使用shiro实现权限控制 要实现shiro和springboot的整合需要以下几…

recyclerview item动画_这可能是你见过的迄今为止最简单的RecyclerView Item加载动画...

如何实现RecyclerView Item动画? 这个问题想必有很多人都会讲,我可以用ItemAnimator实现啊,这是RecyclerView官方定义的接口,专门扩展Item动画的,那我为什么要寻求另外一种方法实现呢?因为最近反思了一个问…

群晖编译LCD4Linux,LCD4LINUX配置文件一些参数使用解释。

#LCD显示配置Display dpf {Driver DPF #LCD驱动类型Port usb0 #连接端口Font 6x8 #字体大小Foreground ffffff #字体…

VBoxManage: error: Nonexistent host networking interface, name 'vboxnet0' (VERR_INTERNAL_ERROR)

错误: VBoxManage: error: Nonexistent host networking interface, name vboxnet0 (VERR_INTERNAL_ERROR) 原因: 原来配置的网卡发生了变更,找不到了,启动失败。 解决方法: 第一步,命令: V…

捷信达温泉管理软件员工卡SQL查询

捷信达温泉管理软件员工卡SQL查询 select * from snkey where v_name2 like %员工% 网名:浩秦; 邮箱:root#landv.pw; 只要我能控制一個國家的貨幣發行,我不在乎誰制定法律。金錢一旦作響,壞話隨之戛然而止。

Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?

Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。 /usr/local:用户级的程序目录,可以理解…