Skip to content

Latest commit

 

History

History
74 lines (57 loc) · 5.18 KB

File metadata and controls

74 lines (57 loc) · 5.18 KB

microsphere-java-core — package-group index (User Guide)

Module: io.github.microsphere-projects:microsphere-java-core · Source line: release branch, 0.3.20-SNAPSHOT Java level: compiled at Java 8, CI-tested on JDK 8 / 11 / 17 / 21 / 25 · Compile dependency: microsphere-java-annotations only

core holds 309 main-source types in 34 packages (686 Java files once test sources are counted), so it is documented as 14 pages, one per top-level package group. Pick the group you need from the table below; the Chinese version of each page sits beside it with a .zh.md suffix (./README.zh.md is this index).


1. What core depends on

graph TD
    ANNO["microsphere-java-annotations<br/>@Since @Nullable @Nonnull"] --> CORE["microsphere-java-core"]
    CORE --> OPT1["javax.annotation-api (optional)"]
    CORE --> OPT2["slf4j-api (optional)"]
    CORE --> OPT3["commons-logging (optional)"]
    CORE --> JDK["JDK internals,<br/>detected at runtime:<br/>sun.misc / jdk.internal / JPMS"]
    CORE -.test scope.-> JTEST["microsphere-java-test"]
    USER["Your application"] --> CORE
Loading

The optional integrations and the JDK-internals edge are what generate the per-page compatibility ranges: the library probes the classpath and the JDK at runtime and degrades to a portable path when a capability is missing.


2. Pages and package coverage

# Page Packages covered (main sources) Types
1 Utilities, constants and text io.microsphere.util, io.microsphere.util.jar, io.microsphere.constants, io.microsphere.text, io.microsphere.misc 45
2 Collections and filters io.microsphere.collection, io.microsphere.filter 41
3 Language abstractions io.microsphere.lang, io.microsphere.lang.function, io.microsphere.lang.invoke, io.microsphere.invoke 18
4 Reflection, types and beans io.microsphere.reflect, io.microsphere.reflect.generics, io.microsphere.internal.reflect, io.microsphere.beans 26
5 Type conversion io.microsphere.convert, io.microsphere.convert.multiple 52
6 Serialization io.microsphere.io.serializer 18
7 Event dispatching io.microsphere.event 10
8 I/O, NIO, scanning and file filters io.microsphere.io, io.microsphere.io.event, io.microsphere.io.scanner, io.microsphere.io.filter, io.microsphere.nio.file, io.microsphere.nio.charset 21
9 Networking and URL protocols io.microsphere.net, io.microsphere.net.classpath, io.microsphere.net.console 13
10 Logging io.microsphere.logging 9
11 Class loading and artifacts io.microsphere.classloading 16
12 JSON io.microsphere.json 8
13 Configuration property metadata io.microsphere.metadata 9
14 Concurrency, process, management and security io.microsphere.concurrent, io.microsphere.process, io.microsphere.management, io.microsphere.management.builder, io.microsphere.security 23

Note

Type counts are the main-source file counts on the release branch, so a page may describe slightly fewer types than the number shown when several types live in one file.


3. Suggested reading order

Day-to-day utility work → 1 → 2 → 5 → 4 Building a pluggable subsystem → 3 (Prioritized, Wrapper) → 7 (events) → any SPI section of pages 5, 6, 10, 11, 13, 14 Working with the classpath → 1 (resource/service loading) → 8 (scanning) → 9 (URL protocols) → 11 (artifact detection) IDE-friendly configuration metadata → 4 (ConfigurationProperty) → 13 → and the annotation-processor page JDK 17+ / 21+ / 25 migration → 11, 14, 8 and the JDK matrices inside 4 and 6


4. Version information for the whole module

Release line core status Notes
0.1.x – 0.2.x Historical Package layout was still moving; io.microsphere.lang and io.microsphere.invoke were added during this period. Individual APIs carry @Since values from these lines — see each page's compatibility table.
0.3.x (current; tags 0.3.0 … 0.3.20, the release branch working version being 0.3.20-SNAPSHOT) Active Public API stabilized; a nullability pass added @Nonnull / @Nullable to 103 of the 309 main sources of the module and paired it with null-safety degradation fixes. Coverage per package group is measured on each page.
1.x Does not exist No release-1.x branch in this repository; no docs/1.x/ documentation is generated.

Binary compatibility inside 0.3.x: public and protected signatures are treated as API; additions are version-stamped with @Since, and removed behaviour is documented on the owning page rather than silently changed.