See where marker interfaces and annotations fit in Java systems, from type capabilities to framework metadata and runtime policies.
These mechanisms are useful when code needs to carry meaning beyond ordinary method signatures.
Choose the mechanism that matches the kind of signal: