01Groovy簡介
一什么是Groovy?
特點
groovy 是在 java平臺上的、 具有象 Python, Ruby 和 Smalltalk 語言特性的靈活動態語言
, groovy 保證了這些特性象 java 語法一樣被 java 開發者使用。Groovy 經常被認為是腳本語言,是一種*誤解*groovy 代碼被編譯成 java 字節碼,然后能集成到 java 應用程序中或者 web 應用程序,整個應用程序都可以是 groovy 編寫的——groovy 是非常靈活的。groovy 與 java 平臺非常融合, groovy 的許多代碼是使用 java 實現的,平臺上的所有強大功能——包括大量的 java 類庫也可以直接在 groovy 中使用。
groovy 運行在 java 虛擬機, java 的類庫也可以繼續使用.
所以groovy 調用 java 是沒有任何問題的。比如,每一個 groovy 的類型( groovy type)都是 java.lang.Object 的子類,你可以直接使用的。
反向集成也是非常容易,假設一個 groovy 類 MyGroovyClass 被編譯到一個以“ .class”結尾的文件中, 并且把它放在 java 的 classpath 中,那么你能在 java 類中以一個類的形式使用這個 groovy 類new MyGroovyClass(); //create from java
換句話說,實例化一個 groovy 類與實例化一個 java 類是一樣的,在這之后,一個 groovy類就是一個 java 類, 你能在這個實例上調用類的方法,傳參數給方法等等, JVM 根本不知道運行的代碼是通過 groovy 編寫的。
import java.util.*; // Java
Date today = new Date(); // Java
today = new Date() // a Groovy Script
如何運行Groovy程序?
運行和編譯(編譯時可選的) groovy 代碼的工具:
命令 描述
groovysh 開始 groovysh 命令行 shell,它用來交互式執行
groovy 代碼,在 shell 中一行一行的輸入語言或者整個
代碼,通過 go 命令立即執行輸入的代碼。
groovyConsole 運行一個圖形界面用來交互執行 groovy 代碼;此外,
groovyConsole 也可以加載和運行 groovy 腳本文件。
groovy 開始解釋執行 groovy 腳本,單行 groovy 腳本可以
作為命令行參數來運行。
智能推薦
01 ElasticSearch簡介
01 ElasticSearch簡介 1.1什么是ElasticSearch Elaticsearch,簡稱為es, es是一個開源的高擴展的分布式全文檢索引擎,它可以近乎實時的存儲、檢索數據;本 身擴展性很好,可以擴展到上百臺服務器,處理PB級別的數據。es也使用Java開發并使用Lucene作為其核心來實 現所有索引和搜索的功能,但是它的目的是通過簡單的RESTful API來隱藏Lucene...
【01】Git簡介
簡介 Git是一個分布式版本控制系統(Distributed Version Control System,簡稱 DVCS)。 特點 直接記錄快照,而非差異比較 近乎所有操作都是本地操作 Git保證完整性 git數據庫中保存的信息都是以文件內容的哈希值來索引,而不是文件名。 Git一般只添加數據 三種狀態 狀態 描述 已提交(committed) 數據已經安全的保存在本地數據庫中 已修改(modi...
01.JVM簡介
01.JVM簡介 計算機系統當中JVM所處的位置 Java一次編譯,到處運行 Java代碼的執行流程 JVM體系結構概覽 棧的指令集架構和寄存器的指令集架構 jvm生命周期 1.啟動 2.執行 3.退出 jvm發展歷程 Android虛擬機 DVM 計算機系統當中JVM所處的位置 JVM是運行在操作系統之上的,并沒有和硬件有直接的交互 JVM屬于系統虛擬機 Java一次編譯,到處運行 Java代碼...
Qt基礎簡介-01
一、常用快捷鍵 ctrl + /:注釋 ctrl + r:運行 ctrl + b:編譯 ctrl + f:查找 F1:選擇目標后幫助文檔 ctrl +i:代碼自動對齊 F4:同名文件.h和.cpp之間的切換 二、創建Qt項目 1、選擇桌面應用程序 2、在Qt Creator中來創建項目時選擇MinGW編譯套件,MSVC2017是在VS中創建項目時的編譯器 3、類信息的設置 1)QWidget是 Q...
Nginx簡介---01
反向代理機制 反向代理服務器位于用戶與目標服務器之間,但是對于用戶而言,反向代理服務器就相當于目標服務器,即用戶直接訪問反向代理服務器就可以獲得目標服務器的資源。同時,用戶不需要知道目標服務器的地址,也無須在用戶端作任何設定。反向代理服務器通常可用來作為Web加速,即使用反向代理作為Web服務器的前置機來降低網絡和服務器的負載,提高訪問效率。 概括: 1.位于用戶(客戶端)-服務器之間. 2.用戶...
猜你喜歡
01 - Mongodb簡介
目錄 1、什么是Mongodb 2、什么是NoSQL 3、NoSQL數據分類 4、MongDB 與關系型數據庫對比 5、RDBMS 與MongDB對應的術語 6、數據類型 7、下載、安裝 8、設置環境變量 9、關閉MongoDB 1、什么是Mongodb Mongdb 是一個基于分布式文件存儲的數據庫。由C++語言編寫。在為WEB應用提供可擴展的高性能數...
Redis--01--簡介
Redis簡介 Redis 是一個開源(BSD許可)的,內存中的數據結構存儲系統. 它可以用作 數據庫 緩存 消息中間件 它支持多種類型的數據結構: 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) Redis安裝 1).解壓 Redis安裝包 2). 安裝Redis 說明:在Redis的根目錄中執行命令 命令: 1....
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...