當使用GroovyClassLoader
時,我應該何時使用loadClass
以及何時應該撥打parseClass
?parseClass loadClass groovy
如果我明白了,第一次調用loadClass()
會編譯腳本,隨後的調用將使用緩存的類文件而不是重新編譯它。
那麼parseClass
呢?
當使用GroovyClassLoader
時,我應該何時使用loadClass
以及何時應該撥打parseClass
?parseClass loadClass groovy
如果我明白了,第一次調用loadClass()
會編譯腳本,隨後的調用將使用緩存的類文件而不是重新編譯它。
那麼parseClass
呢?
documentation for parseClass
表明它需要一個包含Groovy代碼的文件或字符串,並將其轉換爲類。
如果函數傳遞了一個File,那麼GroovyClassLoader會緩存這個生成的類,但是如果它傳遞了一個String,那麼它就是will not cache it。
功能loadClass
(從the documentation)說:
加載一個類文件或父類加載器。
它的基本功能是查找classLoader中已存在的類,如果找不到它,請在磁盤上查找具有匹配名稱的腳本文件。
一旦這個類被加載,它將被緩存。下次您撥打loadClass
時,它將使用此緩存類別,除非您通過的false
。如果您通過false
,它將嘗試再次找到磁盤上的腳本,如果需要的話,recompile the class。
我編輯了您的問題,嘗試使其可讀。我保持這個問題是否一樣? –
@tim。是的,這是一樣的謝謝 – anish