无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java注解三連問

2023-05-11 23:04 作者:架構風清揚-趣學旅程  | 我要投稿

注解的內容很多,本次的面試題講解主要是針對以下幾個問題:

1,注解是在編譯期生效還是運行期生效?

2,有沒有只在編譯期生效的注解?

3,編譯期生效的注解和運行期生效的注解有什么區(qū)別?

我們的分析如下:

首先,第一個問題是給面試者挖坑,兩者都存在,關鍵看注解的定義描述;

其次,第二個問題是有,比如我們JDK默認提供注解@Oerride

我們觀察其注解的定義如下

上面的兩個注解說明做下解釋:

@Target(ElementType.METHOD) :表示該注解可以放在方法的定義上

@Retention(RetentionPolicy.SOURCE) : 表示該注解在編譯期有效

那什么是編譯期有效?

就好比我們說的@Oerride,它的作用就是在編譯期間,檢查我們重寫的代碼有沒有符合語法規(guī)則,如果不符合就會通過紅線報錯,編譯失敗,而真正到運行期間就沒有作用了

最后,說第三個問題

就是運行期的注解有什么用,其實我們用過的很多框架,他們都會提供注解,這些都不是JDK提供的注解,我們統(tǒng)稱為自定義注解

比如Springweb提供的?

@RestController

我們觀察其注解的定義說明如下:

我們可以看到其關鍵點的描述為:

@Retention(RetentionPolicy.RUNTIME) : 表示是運行期有效

為什么需要定義為運行期有效?

大家想想,我們創(chuàng)建Controller是不是在服務運行期間才正式對外提供服務的,而Spring容器需要去檢查到底哪些Controller可以對外提供服務,那么以這個自定義注解為暗號,一看,咦,你小子有這個注解,行了,你就是可以對外提供服務的人,所以注解必須是在運行期間有效

希望對您有所幫助!


Java注解三連問的評論 (共 條)

分享到微博請遵守國家法律
美姑县| 宁乡县| 内丘县| 常熟市| 甘孜县| 龙海市| 临颍县| 岗巴县| 广汉市| 和静县| 海丰县| 栾川县| 磐安县| 乌苏市| 宁国市| 裕民县| 诸城市| 股票| 巴东县| 加查县| 东丰县| 罗山县| 兰坪| 会东县| 通城县| 云南省| 丰顺县| 四子王旗| 丹东市| 老河口市| 和田市| 汶上县| 隆昌县| 荥阳市| 安化县| 安阳市| 洛浦县| 延边| 图木舒克市| 南华县| 得荣县|