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.pswp.cn/news/538282.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538282.shtml
英文地址,請注明出處:http://en.pswp.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:用戶級的程序目錄,可以理解…