1. ?? ??
1.1 @Target
@Target
【作用】
用于指定所標(biāo)注的注解可以使用的位置,例如:@Target(ElementType.METHOD)
:表示可以使用在方法上,其他結(jié)構(gòu)不能使用;@Target({ElementType.METHOD, ElementType.TYPE})
:表示可以使用在方法和接口、類、枚舉上。
相關(guān)在線視頻教程:java課程
1.2 @Retention
【作用】
用于指定所標(biāo)注的注解保留階段,該注解共有三個(gè)值:
@Retention(RetentionPolicy.SOURCE)
:表示保留到源代碼階段,編譯后消失
@Retention(RetentionPolicy.CLASS)
:表示保留到編譯階段,運(yùn)行后消失
@Retention(RetentionPolicy.RUNTIME)
:表示保留到運(yùn)行階段,若要通過反射讀取注解信息,需要指定該注解保留階段為 RUNTIME
1.3 @Inherited
【作用】
表明這個(gè)注解是否可以被子類繼承。
1.4 @Documented
【作用】
表明這個(gè)注解是否可以被 Javadoc 讀取到文檔中。
2、注解聲明
【格式】
【元注解】
【修飾符】 @interface 注解名 { 注解體 }
【例子】
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { }
3、配置參數(shù)聲明
【格式】
【數(shù)據(jù)類型】 參數(shù)名() default 默認(rèn)值;
default 默認(rèn)值:在需要設(shè)置默認(rèn)值時(shí),可以添加,需要設(shè)置時(shí),不用寫;
數(shù)據(jù)類型只能是:基本數(shù)據(jù)類型、String、Class、enum、Annotation,及以上所有類型的一維數(shù)組。
如果參數(shù)成員只有一個(gè)或使用頻率較高的參數(shù)可以定義參數(shù)名為:value,在使用注解時(shí),若參數(shù)名為 value 可以省略,直接寫輸入的值。
【例子】
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { String name() default ""; }
4、讀取注解信息
只有注解標(biāo)注 @Retention(RetentionPolicy.RUNTIME)
@Target(ElementType .METHOD)
: ????? ??? ? ??? ????, ?? ??? ??? ? ??? ?????. @Target({ElementType.METHOD, ElementType.TYPE})
: ?????. ???, ?????, ???, ????? ??? ? ????.
?? ??? ??? ????: java Course
1.2
@Retention</code ></p><p>[Function]<a href="http://m.miracleart.cn/java/guide/" target="_blank"></a>? ??? ??? ?? ??? ???? ? ?????. ? ???? ? ?? ?? ????. </p>??<code>@Retention(RetentionPolicy.SOURCE)
: ?? ??? ?? ?? ??, ??? ????@Retention(RetentionPolicy.CLASS)
?? ???: ??? ???? ????, ?? ??? ???? ?????. ????@Retention. (RetentionPolicy.RUNTIME)
: ?? ???? ????? ????, Reflection? ?? Annotation ??? ???? Annotation Retention ??? RUNTIME????1.3 @?? ???? ???. ???
????[??]????? ??? ?? ????? ??? ? ??? ??? ?????. ????1.4 @Documented
????[Function]????Javadoc?? ? ??? ??? ?? ? ??? ??? ?????. ??????2. ?? ????????[??]????[?? ??]??
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; public class TestInterface { public static void main(String[] args) { MyAnnotation myAnnotation = MyClass.class.getAnnotation(MyAnnotation.class); String value = myAnnotation.value(); System.out.println(value); } } @MyAnnotation class MyClass {} @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation { String value() default "我是一個(gè)注解"; }??[?]??rrreee????3. ?? ???? ????????[??]??rrreee?????: ???? ?? ?? ???? ??? ? ??? ???? ? ?? ??? ??? ????. ??????? ??? ?? ??? ??, ???, ???, ???, ?? ? 1?? ??? ?????. ?? ?? ?? ?. ???????? ??? ??? ??? ?? ???? ????? ?? ?? ???? ??? value? ??? ? ????. ?? ?? ? ???? ??? value? ?? ???? ??? ?? ?? ? ? ????. ????[?]??rrreee????4. ?? ?? ????????Reflection? ?? ?? ??
@Retention(RetentionPolicy.RUNTIME)
? ?? ? ????. ??????? ?? ????? ?? ?? ??? ????. ??rrreee???? ??: ?????????????? ?? ?? ? ????: ??Java ????????? ??? Java ?? ??? ?? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

JDBC ????? ???? ????? ?? ?? ?? ??? ?? ?? ??? ?? ? ?? ??? ?? ?? ?? ??? ???????. 1. ????? ????? Conn.SetAutoCommit (False)?? ??????. 2. ??? ? ????? ?? ?? SQL ??? ?????. 3. ?? ??? ??? ?? Conn.commit ()?? ???? ??? ???? ???? ?? ??? ???? Conn.Rollback ()?? ??????. ???, ? ??? ???? ????, ??? ???? ????, ?? ??? ??? ?? ??? ??? ???? ? ???????. ?? ?? ?? ???? ????? ??? ???? ?? ?? ???? ???? ??? ????? ?? ??? ??? ? ?? ???? ?? ????.

?? ?? ? ?? ???? ???? ?? Java.Time ???? ???? ??????. 2. LocalDate, LocalDateTime ? LocalTime? ?? ?? ??? ??? ?????. 3. () ???? ???? ?? ??? ??? ????. 4. ???/???? ??? ???? ??? ????? ??? ??????. 5. ZonedDateTime ? Zoneid? ???? ???? ??????. 6. DateTimeFormatter? ?? ?? ? ?? ?? ?? ???; 7. ??? ?? ?? ?? ??? ????? ?? ??????. ?? Java? ?? ??? ???? ??? ??? ???? Java.Timeapi ??? ?? ??? ???????.

Pre-FormancetArtUptimeMoryUsage, Quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusoftenperforminglightbetterine serverless sinarios.2.thyvelopecosyste,

Java 's Garbage Collection (GC)? ???? ???? ???? ??????, ?? ? ??? ??? ? ??? ??? ??? ??? ????. 1.GC? ?? ?? (? : ?? ??, ?? ???, ?? ?? ?)?? ??? ???? ????, ?? ? ??? ??? ???? ?????. 2. ?? ???? ????? ????, ?? ?? ??? ??? ???? ?? ??? ??????. 3. ?? ?? ?? ?? : ??? ?? (Eden, S0, S1)? ?? ????? ?????. ??? ??? ?? ? MajorGC? ???? ? ??? ? ????. Metaspace? ??? ?? ???? ?????. 4. JVM? ??? GC ??? ?????. SerialGC? ??? ?? ????? ?????. ParallelGC? ???? ??????. CMS? ?? ???

??? htmlinput ??? ???? ??? ???? ????? ??? ??? ?? ??? ???? ???? ? ????. 1. ???, ???, ??, ?? ? ??? ?? ??? ??? ?? ?? ?? ??? ???? ???? ??? ? ???? ??? ? ????. 2. HTML5? ?????? ??? ? ?? ?? ??? ?? ? ??? URL, ??, ?? ? ??? ?? ??? ??? ??????. 3. ?? ?? ? ? ??? ??? ???? ?? ??? ???? ???? ?? ???? ?? ???? ???? ?? ? ? ??? ?? ???????.

GO? HTTP ?? ????? ?? ??, ??, ????? IP ? ?? ??? ?? ? ? ????. 1. http.handlerfunc? ???? ????? ????, 2. ??? ???? ?? ?? ??? ?? ??? ??????. ?? ?? ??? ???? ??? ?????? ??? ????? ???? ? ?????. ?? ???? ?? ?? ??, JSON ?? ?? ? ?? ID ??? ?????.

GradleisBetTerChoiceFormostNewProjectSduetoitssuperiorflexible, Performance, and ModernToolingsupport.1.Gradle'Sgroovy/kotlindslismoreConcisENDEXPRESSIVETHANMAVEN'SVOSEXML.2.GradleOutsMaveninbuildweedweedweedweedweedweedweedweedweedweedweedweedweedweede

DEFER? ??? ???? ?? ??? ??? ???? ? ?????. ?? ??? ?? ? ? ?? ????, ??? ??? ? ?? ?? (LIFO)? ??? ?????. 1. ?? ??? ??? ? ??? ?????. 2. ?? ??? ?? ??? ??? ????? ?????. 3. ?? ? ?? ?? ??? ? ????. 4. ??? ?????? ??? ??? ???? ?????. 5. ?? ??? ???? ?? ??? ?? ??? ?????. ??? ??? ?? ?? ? ???? ???? ? ????.
