Gradle學習筆記--預備知識

何為閉包?

  • 是引用了自由變量函數。這個函數通常被定義在另一個外部函數中,并且引用了外部函數中的變量。 -- wikipedia

  • 是一個可調用的對象,它記錄了一些信息,這些信息來自于創建它的作用域。-- Java編程思想

  • 是一個匿名的代碼塊,可以接受參數,并返回一個返回值,也可以引用和使用在它周圍的,可見域中定義的變量。-- Groovy

  • 是一個表達式,它具有自由變量及邦定這些變量的上下文環境

  • 閉包允許你將一些行為封裝,將它像一個對象一樣傳來遞去,而且它依然能夠訪問到原來第一次聲明時的上下文

  • 是指擁有多個變量和綁定了這些變量的環境的表達式(通常是一個函數),因而這些變量也是該表達式的一部分。

  • 閉包是可以包含自由(未綁定)變量代碼塊;這些變量不是在這個代碼塊或者任何全局上下文中定義的,而是在定義代碼塊的環境中定義。

閉包的價值在于可以作為函數對象或者匿名函數,持有上下文數據,作為第一級對象進行傳遞和保存。


何為Groovy?

Groovy 是一種動態語言。這種語言比較有特點,它和 Java 一樣,也運行于 Java 虛擬機中。恩??對頭,簡單粗暴點兒看,你可以認為 Groovy 擴展了 Java 語言。比如,Groovy對自己的定義就是:Groovy 是在 java 平臺上的、 具有像 Python , Ruby 和 Smalltalk 語言特性的靈活動態語言, Groovy 保證了這些特性像 Java 語法一樣被 Java 。 開發者使用。除了語言和 Java 相通外,Groovy 有時候又像一種腳本語言。前文也提到過,當我執行Groovy 腳本時,Groovy 會先將其編譯成 Java 類字節碼,然后通過 Jvm 來執行這個 Java 類。

圖 1

圖 1 展示了 Java、Groovy 和 Jvm 之間的關系。
實際上,由于 Groovy Code 在真正執行的時候已經變成了 Java 字節碼,所以 JVM 根本不知道自己運行的是 Groovy 代碼

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,915評論 18 139
  • 導語: 隨著技術的發展,不管是前端開發、服務端開發或者是移動端開發(移動也是前端的一個分支)中都會用到自動化構建工...
    伊始雨深閱讀 3,055評論 0 4
  • Groovy :是一種動態語言。 1:這種語言比較有特點,它和 Java 一樣,也運行于 Java 虛擬機中。簡單...
    PeytonWu閱讀 1,598評論 0 1
  • 前言 人生苦多,快來 Kotlin ,快速學習Kotlin! 什么是Kotlin? Kotlin 是種靜態類型編程...
    任半生囂狂閱讀 26,276評論 9 118
  • 東頭跛腳的杜叔,仍在修鞋,應該是初中開始,他就在巷口修鞋,巷口外便是繁華的步行街,離學校也就幾個街口,我經常在換季...
    西詩人生閱讀 455評論 0 1