中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Lombok的原理是什么

發布時間:2021-06-21 18:42:31 來源:億速云 閱讀:319 作者:Leah 欄目:云計算

這篇文章給大家介紹Lombok的原理是什么,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

以 idea 為例,直接在工具中搜索 Lombok 插件,然后安裝它。安裝完成后重啟 idea 開發工具即可。

Lombok的原理是什么

Lombok的原理是什么

接下來,我們需要在使用 Lombok 的項目中引入 Lombok 的 jar 包。Maven 的 POM.xml 中引入以下配置:

Lombok的原理是什么

然后在項目中的 get/set 就可以被我們替換成下面的代碼:

Lombok的原理是什么

Lombok 有非常多的注解,下面是這些注解的解釋說明。

Lombok的原理是什么

Lombok的原理是什么

Lombok 的 val 可能用的人比較少,但其實它才是最值得推薦使用的一個,類似 JavaScript 的 val。

Lombok的原理是什么

@NonNull 的用法也很常見。

Lombok的原理是什么

@Cleanup 關閉流的做法。

Lombok的原理是什么

@ToString 的用法。

Lombok的原理是什么

@EqualsAndHashCode 的用法。

Lombok的原理是什么

最常用的 @Data 的用法。

Lombok的原理是什么

還有最常用的 @Builder 的用法。

Lombok的原理是什么

更多關于 Lombok 注解的用法,我就不一一列舉了,大家可以看我上面的那個注解說明。

最后我說一下 Lombok 的原理。通過它的注解,我們可以看到,Lombok 的注解都定義了 @Retention 為 RetentionPolicy.RUNTIME 的代碼。這樣它只能在運行時通過反射來獲取注解值,使得運行時代碼效率降低。其次,如果想在編譯階段利用注解來進行一些檢查,對用戶的某些不合理代碼給出錯誤報告,反射的使用方法就無能為力了。好在,我們現在有了 JSR 269,它可以讓我們在 Javac 的編譯期利用注解做這些事情。所以我們發現核心的區分是在運行期還是編譯期。

在 Lombok 的處理流程中,Javac 解析成抽象語法樹之后(AST),Lombok 根據自己的注解處理器,動態的修改 AST,增加新的節點(所謂代碼),最終通過分析和生成字節碼。

自從Java 6起,javac 就支持“JSR 269 Pluggable Annotation Processing API”規范,只要程序實現了該 API,就能在 javac 運行的時候得到調用。

關于Lombok的原理是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁海县| 庆元县| 北辰区| 富川| 玉屏| 榆中县| 西乌珠穆沁旗| 哈密市| 蓝山县| 洞头县| 永善县| 平远县| 台中市| 章丘市| 商南县| 甘南县| 义马市| 衡阳市| 三都| 马边| 屯留县| 视频| 双江| 化德县| 汤原县| 云林县| 英吉沙县| 台江县| 若尔盖县| 普定县| 崇义县| 上犹县| 中西区| 阳东县| 太谷县| 温泉县| 庆云县| 巨鹿县| 隆子县| 扶余县| 兴海县|