亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

??
Java SPI? ??????
?? ??? ?? ????? ???? ??? ??????
1. ??? ??? ?????? (????? ??)
2. ?? ?? ?? ? ??? ??
3. ?? ?? ? ??? ??? ?????
?? ?? ????? ?
???? 1 : ?? ?? ?? ???
???? 2 : ???? ??? ?? ??
?? ? ?? ??
?? : ?? ???? ?? (Java 9)
? Java java?? ?? Java ??? ?? ?? ????? (SPI)? ?? ?? ???? ??

Java ??? ?? ?? ????? (SPI)? ?? ?? ???? ??

Sep 21, 2025 am 03:50 AM
Java SPI 擴展應(yīng)用

Java SPI? JDK? ?? ??? ?? ?????? Serviceloader? ?? ????? ?? ?? ??? ?????. 1. ??? ?????? ???? Meta-Inf/Services/?? ?????? ?? ??? ?? ??? ???? ?? ???? ??? ? ??? ??????. 2. serviceloader.load ()? ???? ?? ???????? JVM? ???? ??? ?? ????????. 3. ????? ??? ?? ?? ?? ??? ?? ?? ? ?????? ???? ?? ??? ???????. 4. ?? ???? ?????? ?? ?? ?? ??? ? ???? ??? ?????. 5. ??, ??? ??, ?? ??, ??? ?? ? ?? ??????????. 6. Java 9??? ???? ??? ? ???? ... ??? ???? ?? ???? ?? ??? ?????. SPI? ???? ???? ???? ? ? ??? ??? ???? ???? ?? ???? ?? ? ????.

Java ??? ?? ?? ????? (SPI)? ?? ?? ???? ??

Java? SPI (Service Provider Interface) ????? ?? ??? ?? ????? ???? ? ??? ?????. ?? ?? ???? ?????? ?? ? ? ??? ? 3?? ?? ??? ???? ?? ?? ??? ?? ? ? ????. ? "????"????? ?????? ??????, ?? ??? ??, ??? ????? ? ?? ?????? ?? ?????. ?? ??, JDBC? ???? SPI ?? ?????.

Java ??? ?? ?? ????? (SPI)? ?? ?? ???? ??

SPI? ?? ????? ????? ?? ????? ? ???? ?? ?? ????? . ? ????? ?? ?? ????? ?? ?? ?? ? ??? ???? ?? ???? ???????? ??? ??? ??? ???? ? ? ????.


Java SPI? ??????

Java SPI? java.util.ServiceLoader ???? ??? JDK? ?? ??? ?? ???????. ?? ?? ???? ??? ????.

Java ??? ?? ?? ????? (SPI)? ?? ?? ???? ??
  1. ????? ?? ?? ????? (???)? ??????.
  2. META-INF/services/ Directory?? ?????? ?? ????? ??? ????.
  3. ?? ???? ?????? ?? ??? ?? ???? ? ? ? ??? ??? ?? ?????.
  4. ServiceLoader ???? ??? ?????????.

?? ?? ?? ??? ?????? ?????.

 ?? ????? ?? {
    void log (??? ???);
}

?? ?? ???? ?? META-INF/services/com.example.Logger ? ????.

Java ??? ?? ?? ????? (SPI)? ?? ?? ???? ??
 com.example.impl.consolelogger
com.example.impl.filelogger

???? ?? :

 serviceloader <logger> ?? = serviceloader.load (logger.class);
for (?? ?? : ??) {
    logger.log ( "hello, spi!");
}

JVM? ?? ??? ???? ?? ??? ?? ?? ???? ????????.


?? ??? ?? ????? ???? ??? ??????

?? ??? ???? ???? ?? SPI? ???? ??? ?? ?? ? ?? ??? ???? ? ???. ? ?? ???? ?? ??? ??? ????.

1. ??? ??? ?????? (????? ??)

?????? ?? ?? ?? ??? ???? ??? ?????????. ???? ????? ?? ?? ?? ?? ?? ???? ??? ???? ?? ??????.

 ?? ????? ??? ??? ??? {
    ??? [] Serialize (Object obj);
    <t> t deserialize (byte [] data, class <t> type);
}

2. ?? ?? ?? ? ??? ??

ServiceLoader ?? ??? ????? ?? ????????. ??? ??? ?? ???? ?? ??? ?? ?? ?? ????? ?? ? ? ????.

 ?? ????? ??? ??? ??? {
    int getPriority (); // ?? ???? ????? (class <?> type); // ?? ??? ?????}

?? ?? ??? ??? :

 DataSerializer selected = serviceloader.load (DataSerializer.class)
    .??()
    .map (??? :: get)
    .filter (s-> S.Supports (myData.class))
    .MAX (??? .comparingInt (DataSerializer :: getPriority))
    .ORELSETHROW (() -> NEW IRMEREGALSTATEEXCEPTION ( "SERIALIZER FIND"));

3. ?? ?? ? ??? ??? ?????

?? ?? (? : DefaultLogger )? ?? ??? ????? ?? ??? ?? ?? ??? ?? ? ? ????. ?? ?? ???? ? 3 ? ?? ??? ????? ??? ? ????.


?? ?? ????? ?

???? 1 : ?? ?? ?? ???

?? ??? ???? SPI? ???? WeChat, Alipay, UnionPay ?? ?? ?? ??? ???????.

  • PaymentProcessor ?????? ??????
  • ? ??? ?? .jar ??? ? META-INF/services ??? ?????.
  • ?? ????? ServiceLoader ???? ?? ??? ?? ??? ????.

?? ??? ??? ?? ??? ???? ?? ??? ???? ?? ??? ???? ???????.

???? 2 : ???? ??? ?? ??

???? ??? ?? (??? ??, ??? ??, ID ?? ?)? ?? ?? ??? ???????. ? ?? ??? SPI? ?????.

 ?? ????? ??? ??? {
    ?? ?? (??? ??);
    ??? gettype (); // ?? ?? "???", "??"
}

?? ???? ???? ???????? ????? ?????.


?? ? ?? ??

SPI? ???? ???? ??? ???? ? ??? ????.

  • ?? ?? : ServiceLoader ??? ???? ? ?? ??? ?? ?? ? ????. ?? ??? ?? ?? ?? ??? ???? ?? ??? ???? ?? ????.

  • ClassPath ??? : META-INF/services ??? JAR? ???? ?? ??? ???? ???????. Maven? ?? ?? ?????? ?? ?? ? ????.

  • ?? ?? : ?? ??? ??? ?? ??? ??? ??? ??????. ???? ?? ??? ???????.

     for (?? ?? : ??) {
        ???? {
            logger.log ( "???");
        } catch (?? e) {
            // ??? ????? ??}
    }
  • ??? ?? : ?? ???? ?? ?? ???? ?? ? ? ??? ???? ??????.

  • ?? ??? : ?? ??? ???? ??? ?????? ??? ???????.


?? : ?? ???? ?? (Java 9)

?? ? ??????? provides ... with ... ??? ??? ?? ??? ?? ? ? ????.

 // module-info.java
?? com.example.logger {
    com.example.logger? com.example.impl.consolelogger? ?? ?????.
}

??? ??? ?? ???? ???? ??? ?? ??? ???? ??? ? ????.


????? ?? ??. SPI? ????? ??? ??? ???? ???? ?? ???? ?? ? ????. ??? ?????? ? ???? ???? ??? ???? "? ???"?? ??? ?? ???? ?? ?????? ??? ???? ????.

? ??? Java ??? ?? ?? ????? (SPI)? ?? ?? ???? ??? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Stock Market GPT

Stock Market GPT

? ??? ??? ?? AI ?? ?? ??

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

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

???

??? ??

???
Java? ClassPath? JAR ??? ???? ??? ?????? Java? ClassPath? JAR ??? ???? ??? ?????? Sep 21, 2025 am 05:09 AM

-CP ?? ??? ???? JVM? ClassPath? ???? JAVA -Clibrary.jarcom.example.Main? ?? ?? ??? ? ?????? ? ? ???, ?? ???? ?? ???? ?? ? ?? ???? ???? ??? ?? ?? ?? ?? Manifest.MF? ?? ?? ? ? ????.

Java?? ??? ??? ?? Java?? ??? ??? ?? Sep 21, 2025 am 03:54 AM

usefile.createnewfile () to reatefileonlyifitdoesn'texist, ???;

Java ??? ?? ?? ????? (SPI)? ?? ?? ???? ?? Java ??? ?? ?? ????? (SPI)? ?? ?? ???? ?? Sep 21, 2025 am 03:50 AM

Javaspi? JDK? ?? ??? ?? ?????? Serviceloader? ?? ????? ?? ?? ??? ?????. 1. ??? ?????? ???? Meta-Inf/Services/?? ?????? ?? ??? ?? ??? ???? ?? ???? ??? ? ??? ??????. 2. serviceloader.load ()? ???? ?? ???????? JVM? ???? ??? ?? ????????. 3. ????? ??? ?? ?? ?? ??? ?? ?? ? ?????? ???? ?? ??? ???????. 4. ?? ???? ?????? ?? ?? ?? ??? ? ???? ??? ?????. 5. ??, ??? ??, ?? ??, ??? ?? ? ?? ??????????. 6. Java9??? ?? ???? ?? ?? ? ? ????.

Java?? ?????? ???? ??? ?????? Java?? ?????? ???? ??? ?????? Sep 18, 2025 am 05:31 AM

Amplements ???? ???? ?????? ??????. ? ???? ??????? ?? ???? ?? ??? ???????. ?? ?????? ???? ???? ????? ??? ?????. Java 8 ??? ?? ? ?? ???? ?? ??? ??? ????.

?? ??? ? ??? ?? ?? ??? ? ??? ?? Sep 20, 2025 am 01:58 AM

javagenericsprovidecompile-timetypesafetyandeliminatecastingtypeparametersonclasses, interfaces, methods; wildcards (?,? extendStype,? supertype) handlUnknowntypeswithflexible.1.useUnunUnunUndwildCardWhentyPeiLISIRVENTERREATHERNEATHEATHEATHEATHEATHEATHEATHEATHEATHEARVENTOUBERDERRELOUNTERRELONTERREATHEARBERBERBENTECASTS;

HTTP ???? ??? ?? ?? ?? : ??? ???? ?? ??? ????? ?? ? ?? HTTP ???? ??? ?? ?? ?? : ??? ???? ?? ??? ????? ?? ? ?? Sep 21, 2025 pm 01:51 PM

? ????? ??? TCP ??, ? HTTP ?? ?? (Keep-Alive)?? ?? HTTP ??? ???? ????? ????? ?? ???. ? ??? HTTP/1.X? HTTP/2 ????? ??? ????? ???? ??? ?? ?? ? ??? ???? ??? ???? ???? ?? : ?? ??? ???? ???? ??? ?????. ???? ??? ???? ?? ??? ?????? ???? ????? ??? HTTP ?????? ?? ? ? ??? ?????.

Java ???? : ?? ? ?? ??? ?????? ??? ??? ??? ?? Java ???? : ?? ? ?? ??? ?????? ??? ??? ??? ?? Sep 18, 2025 am 07:24 AM

? ????? Java? ?? ?? ??? ???? ?? ? ?? ??? ????? ???? ?? ?? ??? ?? ??? ???? ??? ??? ?????. ? ??? Java 8 Stream API? FlatMap ??? ?? ? ?? ?? ???? ?????. ? ??? ???? ??? ?? ??? ??? ?? ????? ??? ????? ?? ??? ??? ?? ?????.

Java? ?? ??? ?? ??? ?????? Java? ?? ??? ?? ??? ?????? Sep 16, 2025 am 05:01 AM

?? ???? ???? Java ?? ??? ?? ?????. 1. config.properties? ??? ????? ?? getClassLoader (). getResourCeasStream ()? ???????? () ???? ???? ?????? ??? ????. 2. ??? ?? ????? ?? FileInputStream? ??????????. 3. GetProperty (?, ???)? ???? ?? ? ?? ???? ???? ???? ?? ?? ? ?? ??? ?????.

See all articles