## Uses of Class
java.lang.annotation.Target

Packages that use Target
java.beans: Contains classes related to developing beans -- components based on the JavaBeans™ architecture.
java.lang: Provides classes that are fundamental to the design of the Java programming language.
java.lang.annotation: Provides library support for the Java programming language annotation facility.
javax.annotation.processing: Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.
javax.management: Provides the core classes for the Java Management Extensions.
javax.swing: Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
jdk.jfr: This package provides classes to create events and control Flight Recorder.

### Uses of Target in java.beans

Classes in java.beans with annotations of type Target
`interface` `BeanProperty` An annotation used to specify some property-related information for the automatically generated `BeanInfo` classes.
`interface` `ConstructorProperties` An annotation on a constructor that shows how the parameters of that constructor correspond to the constructed object's getter methods.
`interface` `JavaBean` An annotation used to specify some class-related information for the automatically generated `BeanInfo` classes.
`interface` `Transient` Indicates that an attribute called "transient" should be declared with the given `value` when the `Introspector` constructs a `PropertyDescriptor` or `EventSetDescriptor` classes associated with the annotated code element.

### Uses of Target in java.lang

Classes in java.lang with annotations of type Target
`interface` `Deprecated` A program element annotated `@Deprecated` is one that programmers are discouraged from using.
`interface` `FunctionalInterface` An informative annotation type used to indicate that an interface type declaration is intended to be a functional interface as defined by the Java Language Specification.
`interface` `Override` Indicates that a method declaration is intended to override a method declaration in a supertype.
`interface` `SafeVarargs` A programmer assertion that the body of the annotated method or constructor does not perform potentially unsafe operations on its varargs parameter.
`interface` `SuppressWarnings` Indicates that the named compiler warnings should be suppressed in the annotated element (and in all program elements contained in the annotated element).

### Uses of Target in java.lang.annotation

Classes in java.lang.annotation with annotations of type Target
`interface` `Documented` If the annotation `@Documented` is present on the declaration of an annotation type A, then any `@A` annotation on an element is considered part of the element's public contract.
`interface` `Inherited` Indicates that an annotation type is automatically inherited.
`interface` `Native` Indicates that a field defining a constant value may be referenced from native code.
`interface` `Repeatable` The annotation type `java.lang.annotation.Repeatable` is used to indicate that the annotation type whose declaration it (meta-)annotates is repeatable.
`interface` `Retention` Indicates how long annotations with the annotated type are to be retained.
`interface` `Target` Indicates the contexts in which an annotation type is applicable.

### Uses of Target in javax.annotation.processing

Classes in javax.annotation.processing with annotations of type Target
`interface` `Generated` The Generated annotation is used to mark source code that has been generated.
`interface` `SupportedAnnotationTypes` An annotation used to indicate what annotation types an annotation processor supports.
`interface` `SupportedOptions` An annotation used to indicate what options an annotation processor supports.
`interface` `SupportedSourceVersion` An annotation used to indicate the latest source version an annotation processor supports.

### Uses of Target in javax.management

Classes in javax.management with annotations of type Target
`interface` `ConstructorParameters` An annotation on a constructor that shows how the parameters of that constructor correspond to the constructed object's getter methods.
`interface` `DescriptorKey` Meta-annotation that describes how an annotation element relates to a field in a `Descriptor`.
`interface` `MXBean` Annotation to mark an interface explicitly as being an MXBean interface, or as not being an MXBean interface.

### Uses of Target in javax.swing

Classes in javax.swing with annotations of type Target
`interface` `SwingContainer` An annotation used to specify some swing-related information for the automatically generated `BeanInfo` classes.

### Uses of Target in jdk.jfr

Classes in jdk.jfr with annotations of type Target
`interface` `BooleanFlag` Event field annotation, specifies that the value is a boolean flag, a `true` or `false` value
`interface` `Category` Event annotation, to associate the event type with a category, in the format of a human-readable path.
`interface` `ContentType` Meta annotation, specifies that an annotation represents a content type, such as a time span or a frequency.
`interface` `DataAmount` Event field annotation, specifies that a value represents an amount of data (for example, bytes).
`interface` `Description` Annotation that describes an element by using a sentence or two.
`interface` `Enabled` Event annotation, determines if an event should be enabled by default.
`interface` `Experimental` Annotation that specifies that an element is experimental and may change without notice.
`interface` `Frequency` Event field annotation, specifies that the value is a frequency, measured in Hz.
`interface` `Label` Annotation that sets a human-readable name for an element (for example, `"Maximum Throughput"`).
`interface` `MemoryAddress` Event field annotation, specifies that the value is a memory address.
`interface` `MetadataDefinition` Meta annotation for defining new types of event metadata.
`interface` `Name` Annotation that overrides the default name for an element (for example, when the default package for an event is not appropriate).
`interface` `Percentage` Event field annotation to use on fractions, typically between `0.0` and `1.0`, to specify that the value is a percentage.
`interface` `Period` Event annotation, specifies the default setting value for a periodic event.
`interface` `Registered` Event annotation, for programmatic event registration.
`interface` `Relational` Meta annotation for relational annotations, to be used on an annotation.
`interface` `SettingDefinition` Annotation that specifies that a method in an event class should be used to filter out events.
`interface` `StackTrace` Event annotation, determines whether an event by default has a stack trace or not.
`interface` `Threshold` Event annotation, specifies the default duration below which an event is not recorded (for example, `"20 ms"`).
`interface` `Timespan` Event field annotation, specifies that the value is a duration.
`interface` `Timestamp` Event field annotation, specifies that the value is a point in time.
`interface` `TransitionFrom` Event field annotation, specifies that the event transitioned from a thread.
`interface` `TransitionTo` Event field annotation, specifies that the event will soon transition to a thread.
`interface` `Unsigned` Event field annotation, specifies that the value is of an unsigned data type.