Java 8 - New Classes and Interfaces in JDK 1.8




NameTypePackageDescriptionDetail

AbstractAnnotation
ValueVisitor8
Abstract Classjavax.lang.model.utilA skeletal visitor for annotation values with default behavior appropriate for the RELEASE_8Detail
AbstractChronologyAbstract Classjava.time.chronoAn abstract implementation of a calendar system, used to organize and identify dates.Detail
AbstractElementVisitor8Abstract Classjavax.lang.model.utilA skeletal visitor of program elements with default behavior appropriate for the RELEASE_8Detail
AbstractTypeVisitor8Abstract Classjavax.lang.model.utilA skeletal visitor of types with default behavior appropriate for WARNING: The TypeVisitor interface implementedDetail
AbstractViewInterfaceorg.w3c.dom.viewsA base interface that all views shall derive from.Detail
Adler32Classjava.util.zipA class that can be used to compute the Adler-32 checksum of a data stream.Detail
AnnotatedArrayTypeInterfacejava.lang.reflectAnnotatedArrayType represents the potentially annotated use of an array type, whose component type may itself represent the annotated use of aDetail
AnnotatedConstructInterfacejavax.lang.modelRepresents a construct that can be annotated.Detail
AnnotatedParameterizedTypeInterfacejava.lang.reflectAnnotatedParameterizedType represents the potentially annotated use of a parameterized type, whose type arguments may themselves representDetail
AnnotatedTypeInterfacejava.lang.reflectAnnotatedType represents the potentially annotated use of a type in the program currently running in this VM.Detail
AnnotatedTypeVariableInterfacejava.lang.reflectAnnotatedTypeVariable represents the potentially annotated use of a type variable, whose declaration may have bounds which themselves representDetail
AnnotatedWildcardTypeInterfacejava.lang.reflectAnnotatedWildcardType represents the potentially annotated use of a wildcard type argument, whose upper or lower bounds may themselves representDetail
Base64Classjava.utilThis class consists exclusively of static methods for obtaining encoders and decoders for the Base64 encoding scheme.Detail
Base64.DecoderClassjava.utilThis class implements a decoder for decoding byte data using the Base64 encoding scheme as specified in RFC 4648 and RFC 2045.Detail
Base64.EncoderClassjava.utilThis class implements an encoder for encoding byte data using the Base64 encoding scheme as specified in RFC 4648 and RFC 2045.Detail
BaseStreamInterfacejava.util.streamBase interface for streams, which are sequences of elements supporting sequential and parallel aggregate operations.Detail
BiConsumerInterfacejava.util.functionRepresents an operation that accepts two input arguments and returns no result.Detail
BiFunctionInterfacejava.util.functionRepresents a function that accepts two arguments and produces a result.Detail
BiPredicateInterfacejava.util.functionRepresents a predicate (boolean-valued function) of two arguments.Detail
BinaryOperatorInterfacejava.util.functionRepresents an operation upon two operands of the same type, producing a result of the same type as the operands.Detail
BooleanSupplierInterfacejava.util.functionRepresents a supplier of boolean-valued results.Detail
CRC32Classjava.util.zipA class that can be used to compute the CRC-32 of a data stream.Detail
Calendar.BuilderClassjava.utilCalendar.Detail
CalendarDataProviderClassjava.util.spiAn abstract class for service providers that provide locale-dependent Calendar parameters.Detail
CalendarNameProviderClassjava.util.spiAn abstract class for service providers that provide localized string representations (display names) of Calendar field values.Detail
CertPathCheckerInterfacejava.security.certPerforms one or more checks on each Certificate of a A CertPathChecker implementation is typically created to extendDetail
CertificateClassjava.security.certAbstract class for managing a variety of identity certificates.Detail
ChronoFieldEnumjava.time.temporalA standard set of fields.Detail
ChronoLocalDateInterfacejava.time.chronoA date without time-of-day or time-zone in an arbitrary chronology, intended for advanced globalization use cases.Detail
ChronoLocalDateTimeInterfacejava.time.chronoA date-time without a time-zone in an arbitrary chronology, intended for advanced globalization use cases.Detail
ChronoPeriodInterfacejava.time.chronoA date-based amount of time, such as '3 years, 4 months and 5 days' in an arbitrary chronology, intended for advanced globalization use cases.Detail
ChronoUnitEnumjava.time.temporalA standard set of date periods units.Detail
ChronoZonedDateTimeInterfacejava.time.chronoA date-time with a time-zone in an arbitrary chronology, intended for advanced globalization use cases.Detail
ChronologyInterfacejava.time.chronoA calendar system, used to organize and identify dates.Detail
ClockClassjava.timeA clock providing access to the current instant, date and time using a time-zone.Detail
CollectorInterfacejava.util.streamnullDetail
CollectorsClassjava.util.streamoperations, such as accumulating elements into collections, summarizing elements according to various criteria, etc.Detail
CompletableFutureClassjava.util.concurrentA Future that may be explicitly completed (setting its value and status), and may be used as a CompletionStage,Detail
CompletableFuture.
AsynchronousCompletion
Task
Interfacejava.util.concurrentA marker interface identifying asynchronous tasks produced by async methods.Detail
CompletionExceptionClassjava.util.concurrentException thrown when an error or other exception is encountered in the course of completing a result or task.Detail
CompletionStageInterfacejava.util.concurrentA stage of a possibly asynchronous computation, that performs an action or computes a value when another CompletionStage completes.Detail
ConcurrentHashMap
.KeySetView
Classjava.util.concurrentA view of a ConcurrentHashMap as a Set of keys, in which additions may optionally be enabled by mapping to aDetail
ConsumerInterfacejava.util.functionRepresents an operation that accepts a single input argument and returns no result.Detail
CountedCompleterClassjava.util.concurrentA ForkJoinTask with a completion action performed when triggered and there are no remaining pending actions.Detail
DSAGenParameterSpecClassjava.security.specThis immutable class specifies the set of parameters used for generating DSA parameters as specified inDetail
DateClassjava.sqlA thin wrapper around a millisecond value that allows JDBC to identify this as an SQL DATE value.Detail
DateTimeExceptionClassjava.timeException used to indicate a problem while calculating a date-time.Detail
DateTimeFormatterClassjava.time.formatFormatter for printing and parsing date-time objects.Detail
DateTimeFormatterBuilderClassjava.time.formatBuilder to create date-time formatters.Detail
DateTimeParseExceptionClassjava.time.formatAn exception thrown when an error occurs during parsing.Detail
DayOfWeekEnumjava.timeA day-of-week, such as 'Tuesday'.Detail
DecimalStyleClassjava.time.formatLocalized decimal style used in date and time formatting.Detail
DocumentViewInterfaceorg.w3c.dom.viewsThe DocumentView interface is implemented by Document objects in DOM implementations supporting DOMDetail
DomainLoadStoreParameterClassjava.securityConfiguration data that specifies the keystores in a keystore domain.Detail
DoubleAccumulatorClassjava.util.concurrent.atomicOne or more variables that together maintain a running double value updated using a supplied function.Detail
DoubleAdderClassjava.util.concurrent.atomicOne or more variables that together maintain an initially zero double sum.Detail
DoubleBinaryOperatorInterfacejava.util.functionRepresents an operation upon two double-valued operands and producing a double-valued result.Detail
DoubleConsumerInterfacejava.util.functionRepresents an operation that accepts a single double-valued argument and returns no result.Detail
DoubleFunctionInterfacejava.util.functionRepresents a function that accepts a double-valued argument and produces a result.Detail
DoublePredicateInterfacejava.util.functionRepresents a predicate (boolean-valued function) of one double-valued argument.Detail
DoubleStreamInterfacejava.util.streamA sequence of primitive double-valued elements supporting sequential and parallel aggregate operations.Detail
DoubleStream.BuilderInterfacejava.util.streamA mutable builder for a DoubleStream.Detail
DoubleSummaryStatisticsClassjava.utilA state object for collecting statistics such as count, min, max, sum, and This class is designed to work with (though does not require)Detail
DoubleSupplierInterfacejava.util.functionRepresents a supplier of double-valued results.Detail
DoubleToIntFunctionInterfacejava.util.functionRepresents a function that accepts a double-valued argument and produces an int-valued result.Detail
DoubleToLongFunctionInterfacejava.util.functionRepresents a function that accepts a double-valued argument and produces a long-valued result.Detail
DoubleUnaryOperatorInterfacejava.util.functionRepresents an operation on a single double-valued operand that produces a double-valued result.Detail
DriverActionInterfacejava.sqlAn interface that must be implemented when a Driver wants to be notified by DriverManager.Detail
DurationClassjava.timeA time-based amount of time, such as '34.Detail
ElementKindVisitor8Classjavax.lang.model.utilA visitor of program elements based on their kind with default behavior appropriate for the RELEASE_8 source version.Detail
ElementScanner8Classjavax.lang.model.utilA scanning visitor of program elements with default behavior appropriate for the RELEASE_8Detail
EraInterfacejava.time.chronoAn era of the time-line.Detail
ExecutableClassjava.lang.reflectA shared superclass for the common functionality of MethodFields inherited from interface java.Detail
FormatStyleEnumjava.time.formatEnumeration of the style of a localized date, time or date-time formatter.Detail
FunctionInterfacejava.util.functionRepresents a function that accepts one argument and produces a result.Detail
FunctionalInterfaceClassjava.langAn informative annotation type used to indicate that an interface type declaration is intended to be a functional interface asDetail
HijrahChronologyClassjava.time.chronoThe Hijrah calendar is a lunar calendar supporting Islamic calendars.Detail
HijrahDateClassjava.time.chronoA date in the Hijrah calendar system.Detail
HijrahEraEnumjava.time.chronoAn era in the Hijrah calendar system.Detail
InstantClassjava.timeAn instantaneous point on the time-line.Detail
IntBinaryOperatorInterfacejava.util.functionRepresents an operation upon two int-valued operands and producing an int-valued result.Detail
IntConsumerInterfacejava.util.functionRepresents an operation that accepts a single int-valued argument and returns no result.Detail
IntFunctionInterfacejava.util.functionRepresents a function that accepts an int-valued argument and produces a result.Detail
IntPredicateInterfacejava.util.functionRepresents a predicate (boolean-valued function) of one int-valued argument.Detail
IntStreamInterfacejava.util.streamA sequence of primitive int-valued elements supporting sequential and parallel aggregate operations.Detail
IntStream.BuilderInterfacejava.util.streamA mutable builder for an IntStream.Detail
IntSummaryStatisticsClassjava.utilA state object for collecting statistics such as count, min, max, sum, and This class is designed to work with (though does not require)Detail
IntSupplierInterfacejava.util.functionRepresents a supplier of int-valued results.Detail
IntToDoubleFunctionInterfacejava.util.functionRepresents a function that accepts an int-valued argument and produces a double-valued result.Detail
IntToLongFunctionInterfacejava.util.functionRepresents a function that accepts an int-valued argument and produces a long-valued result.Detail
IntUnaryOperatorInterfacejava.util.functionRepresents an operation on a single int-valued operand that produces an int-valued result.Detail
IntersectionTypeInterfacejavax.lang.model.typeRepresents an intersection type.Detail
IsoChronologyClassjava.time.chronoThe ISO calendar system.Detail
IsoEraEnumjava.time.chronoAn era in the ISO calendar system.Detail
IsoFieldsClassjava.time.temporalFields and units specific to the ISO-8601 calendar system, including quarter-of-year and week-based-year.Detail
JDBCTypeEnumjava.sqlDefines the constants that are used to identify generic SQL types, called JDBC types.Detail
JapaneseChronologyClassjava.time.chronoThe Japanese Imperial calendar system.Detail
JapaneseDateClassjava.time.chronoA date in the Japanese Imperial calendar system.Detail
JapaneseEraClassjava.time.chronoAn era in the Japanese Imperial calendar system.Detail
JulianFieldsClassjava.time.temporalA set of date fields that provide access to Julian Days.Detail
KeyStore.Entry.AttributeInterfacejava.securityAn attribute associated with a keystore entry.Detail
LocalDateClassjava.timeA date without a time-zone in the ISO-8601 calendar system, such as 2007-12-03.Detail
LocalDateTimeClassjava.timeA date-time without a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30.Detail
LocalTimeClassjava.timeA time without a time-zone in the ISO-8601 calendar system, LocalTime is an immutable date-time object that represents a time,Detail
Locale.FilteringModeEnumjava.utilThis enum provides constants to select a filtering mode for locale matching.Detail
Locale.LanguageRangeClassjava.utilThis class expresses a Language Range defined in RFC 4647 Matching ofDetail
LongAccumulatorClassjava.util.concurrent.atomicOne or more variables that together maintain a running long value updated using a supplied function.Detail
LongAdderClassjava.util.concurrent.atomicOne or more variables that together maintain an initially zero long sum.Detail
LongBinaryOperatorInterfacejava.util.functionRepresents an operation upon two long-valued operands and producing a long-valued result.Detail
LongConsumerInterfacejava.util.functionRepresents an operation that accepts a single long-valued argument and returns no result.Detail
LongFunctionInterfacejava.util.functionRepresents a function that accepts a long-valued argument and produces a result.Detail
LongPredicateInterfacejava.util.functionRepresents a predicate (boolean-valued function) of one long-valued argument.Detail
LongStreamInterfacejava.util.streamA sequence of primitive long-valued elements supporting sequential and parallel aggregate operations.Detail
LongStream.BuilderInterfacejava.util.streamA mutable builder for a LongStream.Detail
LongSummaryStatisticsClassjava.utilA state object for collecting statistics such as count, min, max, sum, and This class is designed to work with (though does not require)Detail
LongSupplierInterfacejava.util.functionRepresents a supplier of long-valued results.Detail
LongToDoubleFunctionInterfacejava.util.functionRepresents a function that accepts a long-valued argument and produces a double-valued result.Detail
LongToIntFunctionInterfacejava.util.functionRepresents a function that accepts a long-valued argument and produces an int-valued result.Detail
LongUnaryOperatorInterfacejava.util.functionRepresents an operation on a single long-valued operand that produces a long-valued result.Detail
MalformedParameters
Exception
Classjava.lang.reflectjava.Detail
MethodHandleInfoInterfacejava.lang.invokeA symbolic reference obtained by cracking a direct method handle into its consitutent symbolic parts.Detail
MethodHandles.LookupClassjava.lang.invokeA lookup object is a factory for creating method handles, when the creation requires access checking.Detail
MinguoChronologyClassjava.time.chronoThe Minguo calendar system.Detail
MinguoDateClassjava.time.chronoA date in the Minguo calendar system.Detail
MinguoEraEnumjava.time.chronoAn era in the Minguo calendar system.Detail
MonthEnumjava.timeA month-of-year, such as 'July'.Detail
MonthDayClassjava.timeA month-day in the ISO-8601 calendar system, such as --12-03.Detail
NativeAnnotation Typejava.lang.annotationIndicates that a field defining a constant value may be referenced The annotation may be used as a hint by tools that generate nativeDetail
ObjDoubleConsumerInterfacejava.util.functionRepresents an operation that accepts an object-valued and a double-valued argument, and returns no result.Detail
ObjIntConsumerInterfacejava.util.functionRepresents an operation that accepts an object-valued and a int-valued argument, and returns no result.Detail
ObjLongConsumerInterfacejava.util.functionRepresents an operation that accepts an object-valued and a long-valued argument, and returns no result.Detail
OffsetDateTimeClassjava.timeA date-time with an offset from UTC/Greenwich in the ISO-8601 calendar system, such as 2007-12-03T10:15:30+01:00.Detail
OffsetTimeClassjava.timeA time with an offset from UTC/Greenwich in the ISO-8601 calendar system, such as 10:15:30+01:00.Detail
OptionalClassjava.utilA container object which may or may not contain a non-null value.Detail
OptionalDoubleClassjava.utilA container object which may or may not contain a double value.Detail
OptionalIntClassjava.utilA container object which may or may not contain an int value.Detail
OptionalLongClassjava.utilA container object which may or may not contain a long value.Detail
PKCS12AttributeClassjava.securityAn attribute associated with a PKCS12 keystore entry.Detail
PKIXRevocationCheckerClassjava.security.certA PKIXCertPathChecker for checking the revocation status of certificates with the PKIX algorithm.Detail
ParameterClassjava.lang.reflectInformation about method parameters.Detail
PeriodClassjava.timeA date-based amount of time in the ISO-8601 calendar system, such as '2 years, 3 months and 4 days'.Detail
PredicateInterfacejava.util.functionRepresents a predicate (boolean-valued function) of one argument.Detail
PrimitiveIteratorInterfacejava.utilA base type for primitive specializations of Iterator.Detail
PrimitiveIterator.OfDoubleInterfacejava.utilAn Iterator specialized for double values.Detail
PrimitiveIterator.OfIntInterfacejava.utilAn Iterator specialized for int values.Detail
PrimitiveIterator.OfLongInterfacejava.utilAn Iterator specialized for long values.Detail
PrincipalInterfacejava.securityThis interface represents the abstract notion of a principal, which can be used to represent any entity, such as an individual, aDetail
RepeatableAnnotation Typejava.lang.annotationThe annotation type java.Detail
ResolverStyleEnumjava.time.formatEnumeration of different ways to resolve dates and times.Detail
ResourceBundle
ControlProvider
Interfacejava.util.spiAn interface for service providers that provide implementations of ResourceBundle.Detail
SNIHostNameClassjavax.net.sslInstances of this class represent a server name of type host_name in a Server NameDetail
SNIMatcherClassjavax.net.sslInstances of this class represent a matcher that performs match operations on an SNIServerName instance.Detail
SNIServerNameClassjavax.net.sslInstances of this class represent a server name in a Server Name Indication (SNI) extension.Detail
SQLTypeInterfacejava.sqlAn object that is used to identify a generic SQL type, called a JDBC type or a vendor specific data type.Detail
SchemaFactory
ConfigurationError
Classjavax.xml.validationThrown when a problem with configuration with the Schema Factories exists.Detail
SignStyleEnumjava.time.formatEnumeration of ways to handle the positive/negative sign.Detail
SimpleAnnotation
ValueVisitor8
Classjavax.lang.model.utilA simple visitor for annotation values with default behavior appropriate for the RELEASE_8Detail
SimpleElementVisitor8Classjavax.lang.model.utilA simple visitor of program elements with default behavior appropriate for the RELEASE_8Detail
SimpleTypeVisitor8Classjavax.lang.model.utilA simple visitor of types with default behavior appropriate for the RELEASE_8 source version.Detail
SimpleTypeVisitor9Classjavax.lang.model.utilA simple visitor of types with default behavior appropriate for the RELEASE_9 source version.Detail
SpliteratorInterfacejava.utilAn object for traversing and partitioning elements of a source.Detail
Spliterator.OfDoubleInterfacejava.utilA Spliterator specialized for double values.Detail
Spliterator.OfIntInterfacejava.utilA Spliterator specialized for int values.Detail
Spliterator.OfLongInterfacejava.utilA Spliterator specialized for long values.Detail
Spliterator.OfPrimitiveInterfacejava.utilA Spliterator specialized for primitive values.Detail
SpliteratorsClassjava.utilStatic classes and methods for operating on or creating instances of Spliterator and its primitive specializationsDetail
Spliterators
.AbstractDoubleSpliterator
Classjava.utilAn abstract Spliterator.Detail
Spliterators
.AbstractIntSpliterator
Classjava.utilAn abstract Spliterator.Detail
Spliterators
.AbstractLongSpliterator
Classjava.utilAn abstract Spliterator.Detail
Spliterators
.AbstractSpliterator
Classjava.utilAn abstract Spliterator that implements trySplit to permit limited parallelism.Detail
SplittableRandomClassjava.utilA generator of uniform pseudorandom values applicable for use in (among other contexts) isolated parallel computations that mayDetail
StampedLockClassjava.util.concurrent.locksA capability-based lock with three modes for controlling read/write access.Detail
StandardConstantsClassjavax.net.sslStandard constants definitionsFields Modifier and TypeField and Descriptionstatic intSNI_HOST_NAMEDetail
StreamInterfacejava.util.streamA sequence of elements supporting sequential and parallel aggregate operations.Detail
Stream.BuilderInterfacejava.util.streamA mutable builder for a Stream.Detail
StreamSupportClassjava.util.streamLow-level utility methods for creating and manipulating streams.Detail
StringJoinerClassjava.utilStringJoiner is used to construct a sequence of characters separated by a delimiter and optionally starting with a supplied prefixDetail
SupplierInterfacejava.util.functionRepresents a supplier of results.Detail
TemporalInterfacejava.time.temporalFramework-level interface defining read-write access to a temporal object, such as a date, time, offset or some combination of these.Detail
TemporalAccessorInterfacejava.time.temporalFramework-level interface defining read-only access to a temporal object, such as a date, time, offset or some combination of these.Detail
TemporalAdjusterInterfacejava.time.temporalStrategy for adjusting a temporal object.Detail
TemporalAdjustersClassjava.time.temporalCommon and useful TemporalAdjusters.Detail
TemporalAmountInterfacejava.time.temporalFramework-level interface defining an amount of time, such as "6 hours", "8 days" or "2 years and 3 months".Detail
TemporalFieldInterfacejava.time.temporalA field of date-time, such as month-of-year or hour-of-minute.Detail
TemporalQueriesClassjava.time.temporalCommon implementations of TemporalQuery.Detail
TemporalQueryInterfacejava.time.temporalStrategy for querying a temporal object.Detail
TemporalUnitInterfacejava.time.temporalA unit of date-time, such as Days or Hours.Detail
TextStyleEnumjava.time.formatEnumeration of the style of text formatting and parsing.Detail
ThaiBuddhistChronologyClassjava.time.chronoThe Thai Buddhist calendar system.Detail
ThaiBuddhistDateClassjava.time.chronoA date in the Thai Buddhist calendar system.Detail
ThaiBuddhistEraEnumjava.time.chronoenum ThaiBuddhistEraAn era in the Thai Buddhist calendar system.Detail
TimeClassjava.sqlA thin wrapper around the java.Detail
ToDoubleBiFunctionInterfacejava.util.functionRepresents a function that accepts two arguments and produces a double-valued result.Detail
ToDoubleFunctionInterfacejava.util.functionRepresents a function that produces a double-valued result.Detail
ToIntBiFunctionInterfacejava.util.functionRepresents a function that accepts two arguments and produces an int-valued result.Detail
ToIntFunctionInterfacejava.util.functionRepresents a function that produces an int-valued result.Detail
ToLongBiFunctionInterfacejava.util.functionRepresents a function that accepts two arguments and produces a long-valued result.Detail
ToLongFunctionInterfacejava.util.functionRepresents a function that produces a long-valued result.Detail
TypeKindVisitor8Classjavax.lang.model.utilA visitor of types based on their kind with default behavior appropriate for the RELEASE_8 source version.Detail
URLPermissionClassjava.netRepresents permission to access a resource or set of resources defined by a given url, and for a given set of user-settable request methodsDetail
UnaryOperatorInterfacejava.util.functionRepresents an operation on a single operand that produces a result of the same type as its operand.Detail
UncheckedIOExceptionClassjava.ioWraps an IOException with an unchecked exception.Detail
UnsupportedTemporal
TypeException
Classjava.time.temporalUnsupportedTemporalTypeException indicates that a ChronoField or ChronoUnit is not supported for a Temporal class.Detail
ValueRangeClassjava.time.temporalThe range of valid values for a date-time field.Detail
WeekFieldsClassjava.time.temporalLocalized definitions of the day-of-week, week-of-month and week-of-year fields.Detail
X509CRLClassjava.security.certAbstract class for an X.Detail
YearClassjava.timeA year in the ISO-8601 calendar system, such as 2007.Detail
YearMonthClassjava.timeA year-month in the ISO-8601 calendar system, such as 2007-12.Detail
ZoneIdClassjava.timeA time-zone ID, such as Europe/Paris.Detail
ZoneOffsetClassjava.timeA time-zone offset from Greenwich/UTC, such as +02:00.Detail
ZoneOffsetTransitionClassjava.time.zoneA transition between two offsets caused by a discontinuity in the local time-line.Detail
ZoneOffsetTransitionRuleClassjava.time.zoneA rule expressing how to create a transition.Detail
ZoneRulesClassjava.time.zoneThe rules defining how the zone offset varies for a single time-zone.Detail
ZoneRulesExceptionClassjava.time.zoneThrown to indicate a problem with time-zone configuration.Detail
ZoneRulesProviderClassjava.time.zoneProvider of time-zone rules to the system.Detail
ZonedDateTimeClassjava.timeA date-time with a time-zone in the ISO-8601 calendar system, such as 2007-12-03T10:15:30+01:00 Europe/Paris.Detail