java注解到底有什么用 Java中的注解到底是如何工作的?
Java中的注解到底是如何工作的?注釋用于描述Java類。您可以自定義注釋,然后通過反射獲取注釋以執(zhí)行指定的操作。舉個簡單的例子這樣可以通過反射獲得一些元信息,相當(dāng)于配置和業(yè)務(wù)邏輯的分離。當(dāng)然,這個自
Java中的注解到底是如何工作的?
注釋用于描述Java類。您可以自定義注釋,然后通過反射獲取注釋以執(zhí)行指定的操作。
舉個簡單的例子
這樣可以通過反射獲得一些元信息,相當(dāng)于配置和業(yè)務(wù)邏輯的分離。
當(dāng)然,這個自定義注釋還取決于一些特定的注釋,我們稱之為元注釋。一共有五種:
@保留:生存周期保留策略.SOURCE
保持在源階段保留策略.CLASS
Compile
retention policy,runtime
@documented將注釋中的元素包含到Javadoc中
@target注釋可用于類、方法、屬性、,等]@繼承的
@可重復(fù)的可重復(fù)的
我在日常生活中使用的主要語言是C和Java。在語法方面,寫C#更有趣。主要原因是C#有更多的語法糖,而且LINQ非常容易使用。其次,visualstudio被稱為世界上第一個ide。但個人更喜歡Java。
從java8出來后,我覺得Java正在追趕C#,Java和C#的語法越來越相似(原來很相似,哈哈)。這里有一些比較。
在java8中添加lambda表達式后,我感覺越來越像C。
1. 當(dāng)然,首先要看收入。在中國,基本上沒有使用C的大公司。最初,攜程在使用它,但后來,它也轉(zhuǎn)向了Java。
2. 從技術(shù)的角度來看,有很多優(yōu)秀的框架可以使用,因為Java可以制造很多輪子。在實際項目中你遇到問題,別人一定遇到過,能找到問題的關(guān)鍵。
3. 從生態(tài)學(xué)的角度來看,Java無疑是最好的選擇之一,因為它的開源較早,建立生態(tài)學(xué)的時間也較早。
4. 在性能方面,sun/Oracle熱點JVM內(nèi)置的JIT編譯器在運行時對字節(jié)碼進行了優(yōu)化。如果它不是一個性能敏感的應(yīng)用程序,Java就足夠了。
謝謝。
Java的哪個語法特性讓你覺得寫Java代碼很享受?
java5的發(fā)布為類型系統(tǒng)帶來了三大新特性:枚舉、注釋和泛型。枚舉在某些方面類似于類,但其屬性只能是指定數(shù)量的實例,每個實例都不同,并且在類描述中指定。它主要用于“類型安全常量”,而不是當(dāng)時常用的小整數(shù)常量。枚舉構(gòu)造還允許額外的模式,這有時非常有用。注釋與接口相關(guān)。聲明注釋的關(guān)鍵字是@interface,它以@開頭,表示它是注釋類型。顧名思義,它們用于注釋java代碼元素,在不影響其行為的情況下提供附加信息。Java以前曾使用“markerinterface”來提供這種有限形式的元數(shù)據(jù),但是注釋被認為更靈活。Java泛型提供參數(shù)化類型。其思想是,一個類型可以充當(dāng)其他類型對象的“容器”,而不必關(guān)心所包含類型的細節(jié)。組合到容器中的類型通常稱為類型參數(shù)。在Java5中引入的特性中,枚舉和注釋提供了一種新形式的引用類型,它需要編譯器進行特殊處理,并有效地與現(xiàn)有的類型層次結(jié)構(gòu)分離。泛型為Java的類型系統(tǒng)增加了額外的復(fù)雜性,這不僅是因為泛型是純編譯時特性,而且還要求Java開發(fā)人員注意編譯時和運行時的類型系統(tǒng)彼此略有不同。