Java 8 Neuigkeiten und aktuelles aus dem OpenJDK 8
Nach dem Entwickler auf Java 7 bis Mitte 2011 warten mussten, dauerte es fast 3 weitere Jahre, bis Java 8 am 18. März 2014 freigegeben wurde. Wie beim Java 7 bildet das OpenJDK die Referenzimplementierung, auf dessen Basis das Oracle JDK steht. Die größte Neuerung auf der Sprachseite von Java 8 sind Lambda-Ausdrücke und die damit folgenden Anpassungen an der Collection-API; neue Java-Pakete gibt es kaum. JavaFX ist wie bei den späten Java 7-Versionen mit an Bord.
Der Nachfolger von Java 8 ist Java 9.
- Download unter http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Java 8 API-Dokumentation
- JDK 8 Adoption Guide
An folgende Quellen sind die Änderungen an Java 8 über die letzten Jahre gut abzulesen:
- https://twitter.com/OpenJDK
- http://mail.openjdk.java.net/pipermail/lambda-dev/
- http://mail.openjdk.java.net/pipermail/lambda-libs-spec-experts/
- http://mail.openjdk.java.net/pipermail/core-libs-dev/
- mail.openjdk.org Mailing Lists
Sprachänderungen
Die Sprachänderungen von Java 8 betreffen Lambda-Ausdrücke, Default-Methoden und statische Schnittstellenmethoden. Default-Methoden sind Default-Implementierungen von Methoden in Schnittstellen (früher "Defender-Methoden" genannt).
- State of the Lambda (Spezifikation, September 2013)
- CON4862 - The Road to Lambda
- CON5089 - Jump-Starting Lambda Programming (PDF)
- Lambda: A Peek Under the Hood (PDF)
- JSR 335: Lambda Expressions for the JavaTM Programming Language
- Java 8 – This ain’t your grandpa’s Java
Lambda-Ausdrücke (Closures) wurden für Java 7 lange diskutiert, doch die Zeit reichte nicht, sie vollständig zu spezifizieren und zu testen. Daher wird es DAS Sprachfeature für Java 8. Die Diskussionen gehen lange zurück und viele Prototypen wurden entwickelt. Neal Gafter beschreibt das ausführlich.
Bibliotheksänderungen
Da Lambda-Ausdrücke die funktionale Programmierung vereinfacht, wurde insbesondere im util-Paket neue Sub-Pakete wie java.util.function
eingeführt. Eine weitere API-Neuheit ist die Stream-API, für die im Pakt java.util.stream
neue Typen eingeführt und vorhandene Typen erweitert wurden.
Ein Aspekt betrifft die sogenannte Lambdafication, also Anpassungen der Java API. Das zeigt sich etwa bei den Datenstrukturen und in Kleinigkeiten bei I/O.
Neu hinzugekommen ist die Time & Date API, die stark inspiriert wurde von Joda-Time. Die Referenzimplementierung ist ThreeTen, abgeleitet davon ist auch ein Backport für Java 7.
Sonst gibt es verhältnismäßig wenig API-Änderungen, etwa bei String, dass sie auch zusammengefügt werden können.
Die späten Versionen von Java 7 integrieren schon JavaFX, in Java 8 wird JavaFX 8 beigefügt, neu ist dabei etwa die 3D-Unterstützung.
Das Modulsystem Jigsaw ist verschoben worden und wird Teil von Java 9.
- JSR 337. Die Umbrealla JSR für Java 8. Plus Webseite
- JSR 308: Annotations on Java Types
- JSR 310: Date and Time API
Java 8 IDEs
- Ab NetBeans 7.4 ist ordentliche Java 8-Unterstützung gegeben
- Ab IntelliJ IDEA 12 ist Java 8 dabei
- Ab Eclipse 4.4 (Luna) wird Java 8 unterstützt. Der letzte Service-Update 4.3.2SR2 integriert ebenso den Java 8 Support
Dokumentation
Die kommende Version der Java-Insel wird die meisten der Features intensiv behandeln. Vorgeschmack auf das Buch liefert wie üblich der Java-Insel-Blog.
Weitere Dokumentationen über Themen, die die Insel nicht detailliert abdeckt:
- Everything about Java 8
- Java 8- Definitive guide to CompletableFuture
- CompletableFuture
- StampedLock.tryOptimisticRead() and Invariants, Hans Boehm on Reader-Writer Locks
- Java concurrency without the pain, Ausblick auf Java 8 Typen
- Java 8 StampedLocks vs. ReadWriteLocks and Synchronized
Alle neuen Typen und Eigenschaften
java.awt.KeyboardFocusManager.clearFocusOwner()
(neue Methode)java.io.BufferedReader.lines()
(neue Methode)java.io.UncheckedIOException
(neuer Ausnahmetyp)Boolean.hashCode(boolean)
(neue Methode)Boolean.logicalAnd(boolean, boolean)
(neue Methode)Boolean.logicalOr(boolean, boolean)
(neue Methode)Boolean.logicalXor(boolean, boolean)
(neue Methode)java.lang.Byte.BYTES
(neues Attribut)Byte.hashCode(byte)
(neue Methode)Byte.toUnsignedInt(byte)
(neue Methode)Byte.toUnsignedLong(byte)
(neue Methode)CharSequence.chars()
(neue Methode)CharSequence.codePoints()
(neue Methode)java.lang.Character.BYTES
(neues Attribut)Character.hashCode(char)
(neue Methode)java.lang.Character.UnicodeBlock.ARABIC_EXTENDED_A
(neues Attribut)java.lang.Character.UnicodeBlock.ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS
(neues Attribut)java.lang.Character.UnicodeBlock.CHAKMA
(neues Attribut)java.lang.Character.UnicodeBlock.MEETEI_MAYEK_EXTENSIONS
(neues Attribut)java.lang.Character.UnicodeBlock.MEROITIC_CURSIVE
(neues Attribut)java.lang.Character.UnicodeBlock.MEROITIC_HIEROGLYPHS
(neues Attribut)java.lang.Character.UnicodeBlock.MIAO
(neues Attribut)java.lang.Character.UnicodeBlock.SHARADA
(neues Attribut)java.lang.Character.UnicodeBlock.SORA_SOMPENG
(neues Attribut)java.lang.Character.UnicodeBlock.SUNDANESE_SUPPLEMENT
(neues Attribut)java.lang.Character.UnicodeBlock.TAKRI
(neues Attribut)Class.getAnnotatedInterfaces()
(neue Methode)Class.getAnnotatedSuperclass()
(neue Methode)Class.getAnnotationsByType(Class)
(neue Methode)Class.getDeclaredAnnotation(Class)
(neue Methode)Class.getDeclaredAnnotationsByType(Class)
(neue Methode)Class.getTypeName()
(neue Methode)Class.toGenericString()
(neue Methode)java.lang.Double.BYTES
(neues Attribut)Double.hashCode(double)
(neue Methode)Double.isFinite(double)
(neue Methode)Double.max(double, double)
(neue Methode)Double.min(double, double)
(neue Methode)Double.sum(double, double)
(neue Methode)java.lang.Float.BYTES
(neues Attribut)Float.hashCode(float)
(neue Methode)Float.isFinite(float)
(neue Methode)Float.max(float, float)
(neue Methode)Float.min(float, float)
(neue Methode)Float.sum(float, float)
(neue Methode)java.lang.FunctionalInterface
(neue Schnittstelle)java.lang.Integer.BYTES
(neues Attribut)Integer.compareUnsigned(int, int)
(neue Methode)Integer.divideUnsigned(int, int)
(neue Methode)Integer.hashCode(int)
(neue Methode)Integer.max(int, int)
(neue Methode)Integer.min(int, int)
(neue Methode)Integer.parseUnsignedInt(String)
(neue Methode)Integer.parseUnsignedInt(String, int)
(neue Methode)Integer.remainderUnsigned(int, int)
(neue Methode)Integer.sum(int, int)
(neue Methode)Integer.toUnsignedLong(int)
(neue Methode)Integer.toUnsignedString(int)
(neue Methode)Integer.toUnsignedString(int, int)
(neue Methode)InternalError(String, Throwable)
(neuer Konstruktor)InternalError(Throwable)
(neuer Konstruktor)Iterable.forEach(java.util.function.Consumer)
(neue Methode)Iterable.spliterator()
(neue Methode)java.lang.Long.BYTES
(neues Attribut)Long.compareUnsigned(long, long)
(neue Methode)Long.divideUnsigned(long, long)
(neue Methode)Long.hashCode(long)
(neue Methode)Long.max(long, long)
(neue Methode)Long.min(long, long)
(neue Methode)Long.parseUnsignedLong(String)
(neue Methode)Long.parseUnsignedLong(String, int)
(neue Methode)Long.remainderUnsigned(long, long)
(neue Methode)Long.sum(long, long)
(neue Methode)Long.toUnsignedString(long)
(neue Methode)Long.toUnsignedString(long, int)
(neue Methode)Math.addExact(int, int)
(neue Methode)Math.addExact(long, long)
(neue Methode)Math.decrementExact(int)
(neue Methode)Math.decrementExact(long)
(neue Methode)Math.floorDiv(int, int)
(neue Methode)Math.floorDiv(long, long)
(neue Methode)Math.floorMod(int, int)
(neue Methode)Math.floorMod(long, long)
(neue Methode)Math.incrementExact(int)
(neue Methode)Math.incrementExact(long)
(neue Methode)Math.multiplyExact(int, int)
(neue Methode)Math.multiplyExact(long, long)
(neue Methode)Math.negateExact(int)
(neue Methode)Math.negateExact(long)
(neue Methode)Math.nextDown(double)
(neue Methode)Math.nextDown(float)
(neue Methode)Math.subtractExact(int, int)
(neue Methode)Math.subtractExact(long, long)
(neue Methode)Math.toIntExact(long)
(neue Methode)Package.getAnnotationsByType(Class)
(neue Methode)Package.getDeclaredAnnotation(Class)
(neue Methode)Package.getDeclaredAnnotationsByType(Class)
(neue Methode)Process.destroyForcibly()
(neue Methode)Process.isAlive()
(neue Methode)Process.waitFor(long, java.util.concurrent.TimeUnit)
(neue Methode)java.lang.Short.BYTES
(neues Attribut)Short.hashCode(short)
(neue Methode)Short.toUnsignedInt(short)
(neue Methode)Short.toUnsignedLong(short)
(neue Methode)StrictMath.addExact(int, int)
(neue Methode)StrictMath.addExact(long, long)
(neue Methode)StrictMath.floorDiv(int, int)
(neue Methode)StrictMath.floorDiv(long, long)
(neue Methode)StrictMath.floorMod(int, int)
(neue Methode)StrictMath.floorMod(long, long)
(neue Methode)StrictMath.multiplyExact(int, int)
(neue Methode)StrictMath.multiplyExact(long, long)
(neue Methode)StrictMath.nextDown(double)
(neue Methode)StrictMath.nextDown(float)
(neue Methode)StrictMath.subtractExact(int, int)
(neue Methode)StrictMath.subtractExact(long, long)
(neue Methode)StrictMath.toIntExact(long)
(neue Methode)String.join(CharSequence, CharSequence[])
(neue Methode)String.join(CharSequence, Iterable)
(neue Methode)ThreadLocal.withInitial(java.util.function.Supplier)
(neue Methode)VirtualMachineError(String, Throwable)
(neuer Konstruktor)VirtualMachineError(Throwable)
(neuer Konstruktor)java.lang.annotation.ElementType.TYPE_PARAMETER
(neues Attribut)java.lang.annotation.ElementType.TYPE_USE
(neues Attribut)java.lang.annotation.Native
(neue Schnittstelle)java.lang.annotation.Repeatable
(neue Schnittstelle)java.lang.invoke.MethodHandleInfo
(neue Schnittstelle)invoke.MethodHandles.reflectAs(Class, invoke.MethodHandle)
(neue Methode)invoke.MethodHandles.Lookup.revealDirect(invoke.MethodHandle)
(neue Methode)management.LockInfo.from(javax.management.openmbean.CompositeData)
(neue Methode)reflect.AccessibleObject.getAnnotationsByType(Class)
(neue Methode)reflect.AccessibleObject.getDeclaredAnnotation(Class)
(neue Methode)reflect.AccessibleObject.getDeclaredAnnotationsByType(Class)
(neue Methode)java.lang.reflect.AnnotatedArrayType
(neue Schnittstelle)reflect.AnnotatedElement.getAnnotationsByType(Class)
(neue Methode)reflect.AnnotatedElement.getDeclaredAnnotation(Class)
(neue Methode)reflect.AnnotatedElement.getDeclaredAnnotationsByType(Class)
(neue Methode)java.lang.reflect.AnnotatedParameterizedType
(neue Schnittstelle)java.lang.reflect.AnnotatedType
(neue Schnittstelle)java.lang.reflect.AnnotatedTypeVariable
(neue Schnittstelle)java.lang.reflect.AnnotatedWildcardType
(neue Schnittstelle)reflect.Constructor.getAnnotatedReceiverType()
(neue Methode)reflect.Constructor.getAnnotatedReturnType()
(neue Methode)reflect.Constructor.getParameterCount()
(neue Methode)java.lang.reflect.Executable
(neue abstakte Klasse)reflect.Field.getAnnotatedType()
(neue Methode)reflect.Field.getAnnotationsByType(Class)
(neue Methode)java.lang.reflect.MalformedParametersException
(neuer Ausnahmetyp)reflect.Method.getAnnotatedReturnType()
(neue Methode)reflect.Method.getParameterCount()
(neue Methode)reflect.Method.isDefault()
(neue Methode)reflect.Modifier.parameterModifiers()
(neue Methode)java.lang.reflect.Parameter
(neue Klasse)reflect.Type.getTypeName()
(neue Methode)reflect.TypeVariable.getAnnotatedBounds()
(neue Methode)java.math.BigInteger.byteValueExact()
(neue Methode)java.math.BigInteger.intValueExact()
(neue Methode)java.math.BigInteger.longValueExact()
(neue Methode)java.math.BigInteger.shortValueExact()
(neue Methode)java.net.URLPermission
(neue Klasse)java.nio.file.Files.find(java.nio.file.Path, int, java.util.function.BiPredicate, java.nio.file.FileVisitOption[])
(neue Methode)java.nio.file.Files.lines(java.nio.file.Path)
(neue Methode)java.nio.file.Files.lines(java.nio.file.Path, java.nio.charset.Charset)
(neue Methode)java.nio.file.Files.list(java.nio.file.Path)
(neue Methode)java.nio.file.Files.newBufferedReader(java.nio.file.Path)
(neue Methode)java.nio.file.Files.newBufferedWriter(java.nio.file.Path, java.nio.file.OpenOption[])
(neue Methode)java.nio.file.Files.readAllLines(java.nio.file.Path)
(neue Methode)java.nio.file.Files.walk(java.nio.file.Path, int, java.nio.file.FileVisitOption[])
(neue Methode)java.nio.file.Files.walk(java.nio.file.Path, java.nio.file.FileVisitOption[])
(neue Methode)java.nio.file.Files.write(java.nio.file.Path, Iterable, java.nio.file.OpenOption[])
(neue Methode)java.nio.file.attribute.FileTime.from(java.time.Instant)
(neue Methode)java.nio.file.attribute.FileTime.toInstant()
(neue Methode)java.security.AccessController.doPrivileged(java.security.PrivilegedAction, java.security.AccessControlContext, java.security.Permission[])
(neue Methode)java.security.AccessController.doPrivileged(java.security.PrivilegedExceptionAction, java.security.AccessControlContext, java.security.Permission[])
(neue Methode)java.security.AccessController.doPrivilegedWithCombiner(java.security.PrivilegedAction, java.security.AccessControlContext, java.security.Permission[])
(neue Methode)java.security.AccessController.doPrivilegedWithCombiner(java.security.PrivilegedExceptionAction, java.security.AccessControlContext, java.security.Permission[])
(neue Methode)java.security.DomainLoadStoreParameter
(neue Klasse)java.security.KeyStore.Entry.getAttributes()
(neue Methode)java.security.KeyStore.Entry.Attribute
(neue Schnittstelle)java.security.KeyStore.PasswordProtection(char[], String, java.security.spec.AlgorithmParameterSpec)
(neuer Konstruktor)java.security.KeyStore.PasswordProtection.getProtectionAlgorithm()
(neue Methode)java.security.KeyStore.PasswordProtection.getProtectionParameters()
(neue Methode)java.security.KeyStore.PrivateKeyEntry(java.security.PrivateKey, java.security.cert.Certificate[], java.util.Set)
(neuer Konstruktor)java.security.KeyStore.PrivateKeyEntry.getAttributes()
(neue Methode)java.security.KeyStore.SecretKeyEntry(javax.crypto.SecretKey, java.util.Set)
(neuer Konstruktor)java.security.KeyStore.SecretKeyEntry.getAttributes()
(neue Methode)java.security.KeyStore.TrustedCertificateEntry(java.security.cert.Certificate, java.util.Set)
(neuer Konstruktor)java.security.KeyStore.TrustedCertificateEntry.getAttributes()
(neue Methode)java.security.PKCS12Attribute
(neue Klasse)java.security.Principal.implies(javax.security.auth.Subject)
(neue Methode)java.security.Provider.compute(Object, java.util.function.BiFunction)
(neue Methode)java.security.Provider.computeIfAbsent(Object, java.util.function.Function)
(neue Methode)java.security.Provider.computeIfPresent(Object, java.util.function.BiFunction)
(neue Methode)java.security.Provider.forEach(java.util.function.BiConsumer)
(neue Methode)java.security.Provider.getOrDefault(Object, Object)
(neue Methode)java.security.Provider.merge(Object, Object, java.util.function.BiFunction)
(neue Methode)java.security.Provider.putIfAbsent(Object, Object)
(neue Methode)java.security.Provider.remove(Object, Object)
(neue Methode)java.security.Provider.replace(Object, Object)
(neue Methode)java.security.Provider.replace(Object, Object, Object)
(neue Methode)java.security.Provider.replaceAll(java.util.function.BiFunction)
(neue Methode)java.security.SecureRandom.getInstanceStrong()
(neue Methode)java.security.cert.CertPathBuilder.getRevocationChecker()
(neue Methode)java.security.cert.CertPathBuilderSpi.engineGetRevocationChecker()
(neue Methode)java.security.cert.CertPathChecker
(neue Schnittstelle)java.security.cert.CertPathValidator.getRevocationChecker()
(neue Methode)java.security.cert.CertPathValidatorSpi.engineGetRevocationChecker()
(neue Methode)java.security.cert.Certificate.verify(java.security.PublicKey, java.security.Provider)
(neue Methode)java.security.cert.PKIXRevocationChecker
(neue abstakte Klasse)java.security.cert.X509CRL.verify(java.security.PublicKey, java.security.Provider)
(neue Methode)java.security.cert.X509Certificate.verify(java.security.PublicKey, java.security.Provider)
(neue Methode)java.security.spec.DSAGenParameterSpec
(neue Klasse)java.sql.BatchUpdateException(String, String, int, long[], Throwable)
(neuer Konstruktor)java.sql.BatchUpdateException.getLargeUpdateCounts()
(neue Methode)java.sql.CallableStatement.registerOutParameter(int, java.sql.SQLType)
(neue Methode)java.sql.CallableStatement.registerOutParameter(int, java.sql.SQLType, int)
(neue Methode)java.sql.CallableStatement.registerOutParameter(int, java.sql.SQLType, String)
(neue Methode)java.sql.CallableStatement.registerOutParameter(String, java.sql.SQLType)
(neue Methode)java.sql.CallableStatement.registerOutParameter(String, java.sql.SQLType, int)
(neue Methode)java.sql.CallableStatement.registerOutParameter(String, java.sql.SQLType, String)
(neue Methode)java.sql.CallableStatement.setObject(String, Object, java.sql.SQLType)
(neue Methode)java.sql.CallableStatement.setObject(String, Object, java.sql.SQLType, int)
(neue Methode)java.sql.DatabaseMetaData.getMaxLogicalLobSize()
(neue Methode)java.sql.DatabaseMetaData.supportsRefCursors()
(neue Methode)java.sql.Date.toLocalDate()
(neue Methode)java.sql.Date.valueOf(java.time.LocalDate)
(neue Methode)java.sql.DriverAction
(neue Schnittstelle)java.sql.DriverAction.deregister()
(neue Methode)java.sql.DriverManager.registerDriver(java.sql.Driver, java.sql.DriverAction)
(neue Methode)java.sql.JDBCType
(neue Klasse)java.sql.PreparedStatement.executeLargeUpdate()
(neue Methode)java.sql.PreparedStatement.setObject(int, Object, java.sql.SQLType)
(neue Methode)java.sql.PreparedStatement.setObject(int, Object, java.sql.SQLType, int)
(neue Methode)java.sql.ResultSet.updateObject(int, Object, java.sql.SQLType)
(neue Methode)java.sql.ResultSet.updateObject(int, Object, java.sql.SQLType, int)
(neue Methode)java.sql.ResultSet.updateObject(String, Object, java.sql.SQLType)
(neue Methode)java.sql.ResultSet.updateObject(String, Object, java.sql.SQLType, int)
(neue Methode)java.sql.SQLInput.readObject(Class)
(neue Methode)java.sql.SQLOutput.writeObject(Object, java.sql.SQLType)
(neue Methode)java.sql.SQLType
(neue Schnittstelle)java.sql.Statement.executeLargeBatch()
(neue Methode)java.sql.Statement.executeLargeUpdate(String)
(neue Methode)java.sql.Statement.executeLargeUpdate(String, int)
(neue Methode)java.sql.Statement.executeLargeUpdate(String, int[])
(neue Methode)java.sql.Statement.executeLargeUpdate(String, String[])
(neue Methode)java.sql.Statement.getLargeMaxRows()
(neue Methode)java.sql.Statement.getLargeUpdateCount()
(neue Methode)java.sql.Statement.setLargeMaxRows(long)
(neue Methode)java.sql.Time.toLocalTime()
(neue Methode)java.sql.Time.valueOf(java.time.LocalTime)
(neue Methode)java.sql.Timestamp.from(java.time.Instant)
(neue Methode)java.sql.Timestamp.toInstant()
(neue Methode)java.sql.Timestamp.toLocalDateTime()
(neue Methode)java.sql.Timestamp.valueOf(java.time.LocalDateTime)
(neue Methode)java.sql.Types.REF_CURSOR
(neues Attribut)java.sql.Types.TIMESTAMP_WITH_TIMEZONE
(neues Attribut)java.sql.Types.TIME_WITH_TIMEZONE
(neues Attribut)java.time.Clock
(neue abstakte Klasse)java.time.DateTimeException
(neuer Ausnahmetyp)java.time.DayOfWeek
(neue Klasse)java.time.Duration
(neue Klasse)java.time.Instant
(neue Klasse)java.time.LocalDate
(neue Klasse)java.time.LocalDateTime
(neue Klasse)java.time.LocalTime
(neue Klasse)java.time.Month
(neue Klasse)java.time.MonthDay
(neue Klasse)java.time.OffsetDateTime
(neue Klasse)java.time.OffsetTime
(neue Klasse)java.time.Period
(neue Klasse)java.time.Year
(neue Klasse)java.time.YearMonth
(neue Klasse)java.time.ZoneId
(neue abstakte Klasse)java.time.ZoneOffset
(neue Klasse)java.time.ZonedDateTime
(neue Klasse)java.time.chrono.AbstractChronology
(neue abstakte Klasse)java.time.chrono.ChronoLocalDate
(neue Schnittstelle)java.time.chrono.ChronoLocalDateTime
(neue Schnittstelle)java.time.chrono.ChronoPeriod
(neue Schnittstelle)java.time.chrono.ChronoZonedDateTime
(neue Schnittstelle)java.time.chrono.Chronology
(neue Schnittstelle)java.time.chrono.Era
(neue Schnittstelle)java.time.chrono.HijrahChronology
(neue Klasse)java.time.chrono.HijrahDate
(neue Klasse)java.time.chrono.HijrahEra
(neue Klasse)java.time.chrono.IsoChronology
(neue Klasse)java.time.chrono.IsoEra
(neue Klasse)java.time.chrono.JapaneseChronology
(neue Klasse)java.time.chrono.JapaneseDate
(neue Klasse)java.time.chrono.JapaneseEra
(neue Klasse)java.time.chrono.MinguoChronology
(neue Klasse)java.time.chrono.MinguoDate
(neue Klasse)java.time.chrono.MinguoEra
(neue Klasse)java.time.chrono.ThaiBuddhistChronology
(neue Klasse)java.time.chrono.ThaiBuddhistDate
(neue Klasse)java.time.chrono.ThaiBuddhistEra
(neue Klasse)java.time.format.DateTimeFormatter
(neue Klasse)java.time.format.DateTimeFormatterBuilder
(neue Klasse)java.time.format.DateTimeParseException
(neuer Ausnahmetyp)java.time.format.DecimalStyle
(neue Klasse)java.time.format.FormatStyle
(neue Klasse)java.time.format.ResolverStyle
(neue Klasse)java.time.format.SignStyle
(neue Klasse)java.time.temporal.ChronoField
(neue Klasse)java.time.temporal.ChronoUnit
(neue Klasse)java.time.temporal.IsoFields
(neue Klasse)java.time.temporal.JulianFields
(neue Klasse)java.time.temporal.Temporal
(neue Schnittstelle)java.time.temporal.TemporalAccessor
(neue Schnittstelle)java.time.temporal.TemporalAdjuster
(neue Schnittstelle)java.time.temporal.TemporalAdjusters
(neue Klasse)java.time.temporal.TemporalAmount
(neue Schnittstelle)java.time.temporal.TemporalField
(neue Schnittstelle)java.time.temporal.TemporalQueries
(neue Klasse)java.time.temporal.TemporalQuery
(neue Schnittstelle)java.time.temporal.TemporalUnit
(neue Schnittstelle)java.time.temporal.UnsupportedTemporalTypeException
(neuer Ausnahmetyp)java.time.temporal.ValueRange
(neue Klasse)java.time.temporal.WeekFields
(neue Klasse)java.time.zone.ZoneOffsetTransition
(neue Klasse)java.time.zone.ZoneOffsetTransitionRule
(neue Klasse)java.time.zone.ZoneRules
(neue Klasse)java.time.zone.ZoneRulesException
(neuer Ausnahmetyp)java.time.zone.ZoneRulesProvider
(neue abstakte Klasse)java.util.ArrayDeque.spliterator()
(neue Methode)java.util.ArrayList.spliterator()
(neue Methode)java.util.Arrays.parallelPrefix(T[], int, int, java.util.function.BinaryOperator)
(neue Methode)java.util.Arrays.parallelPrefix(T[], java.util.function.BinaryOperator)
(neue Methode)java.util.Arrays.parallelPrefix(double[], int, int, java.util.function.DoubleBinaryOperator)
(neue Methode)java.util.Arrays.parallelPrefix(double[], java.util.function.DoubleBinaryOperator)
(neue Methode)java.util.Arrays.parallelPrefix(int[], int, int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.Arrays.parallelPrefix(int[], java.util.function.IntBinaryOperator)
(neue Methode)java.util.Arrays.parallelPrefix(long[], int, int, java.util.function.LongBinaryOperator)
(neue Methode)java.util.Arrays.parallelPrefix(long[], java.util.function.LongBinaryOperator)
(neue Methode)java.util.Arrays.parallelSetAll(T[], java.util.function.IntFunction)
(neue Methode)java.util.Arrays.parallelSetAll(double[], java.util.function.IntToDoubleFunction)
(neue Methode)java.util.Arrays.parallelSetAll(int[], java.util.function.IntUnaryOperator)
(neue Methode)java.util.Arrays.parallelSetAll(long[], java.util.function.IntToLongFunction)
(neue Methode)java.util.Arrays.parallelSort(T[])
(neue Methode)java.util.Arrays.parallelSort(T[], int, int)
(neue Methode)java.util.Arrays.parallelSort(T[], int, int, java.util.Comparator)
(neue Methode)java.util.Arrays.parallelSort(T[], java.util.Comparator)
(neue Methode)java.util.Arrays.parallelSort(byte[])
(neue Methode)java.util.Arrays.parallelSort(byte[], int, int)
(neue Methode)java.util.Arrays.parallelSort(char[])
(neue Methode)java.util.Arrays.parallelSort(char[], int, int)
(neue Methode)java.util.Arrays.parallelSort(double[])
(neue Methode)java.util.Arrays.parallelSort(double[], int, int)
(neue Methode)java.util.Arrays.parallelSort(float[])
(neue Methode)java.util.Arrays.parallelSort(float[], int, int)
(neue Methode)java.util.Arrays.parallelSort(int[])
(neue Methode)java.util.Arrays.parallelSort(int[], int, int)
(neue Methode)java.util.Arrays.parallelSort(long[])
(neue Methode)java.util.Arrays.parallelSort(long[], int, int)
(neue Methode)java.util.Arrays.parallelSort(short[])
(neue Methode)java.util.Arrays.parallelSort(short[], int, int)
(neue Methode)java.util.Arrays.setAll(T[], java.util.function.IntFunction)
(neue Methode)java.util.Arrays.setAll(double[], java.util.function.IntToDoubleFunction)
(neue Methode)java.util.Arrays.setAll(int[], java.util.function.IntUnaryOperator)
(neue Methode)java.util.Arrays.setAll(long[], java.util.function.IntToLongFunction)
(neue Methode)java.util.Arrays.spliterator(T[])
(neue Methode)java.util.Arrays.spliterator(T[], int, int)
(neue Methode)java.util.Arrays.spliterator(double[])
(neue Methode)java.util.Arrays.spliterator(double[], int, int)
(neue Methode)java.util.Arrays.spliterator(int[])
(neue Methode)java.util.Arrays.spliterator(int[], int, int)
(neue Methode)java.util.Arrays.spliterator(long[])
(neue Methode)java.util.Arrays.spliterator(long[], int, int)
(neue Methode)java.util.Arrays.stream(T[])
(neue Methode)java.util.Arrays.stream(T[], int, int)
(neue Methode)java.util.Arrays.stream(double[])
(neue Methode)java.util.Arrays.stream(double[], int, int)
(neue Methode)java.util.Arrays.stream(int[])
(neue Methode)java.util.Arrays.stream(int[], int, int)
(neue Methode)java.util.Arrays.stream(long[])
(neue Methode)java.util.Arrays.stream(long[], int, int)
(neue Methode)java.util.Base64
(neue Klasse)java.util.Base64.Decoder
(neue Klasse)java.util.Base64.Encoder
(neue Klasse)java.util.BitSet.stream()
(neue Methode)java.util.Calendar.LONG_FORMAT
(neues Attribut)java.util.Calendar.LONG_STANDALONE
(neues Attribut)java.util.Calendar.NARROW_FORMAT
(neues Attribut)java.util.Calendar.NARROW_STANDALONE
(neues Attribut)java.util.Calendar.SHORT_FORMAT
(neues Attribut)java.util.Calendar.SHORT_STANDALONE
(neues Attribut)java.util.Calendar.getAvailableCalendarTypes()
(neue Methode)java.util.Calendar.getCalendarType()
(neue Methode)java.util.Calendar.toInstant()
(neue Methode)java.util.Calendar.Builder
(neue Klasse)java.util.Collection.parallelStream()
(neue Methode)java.util.Collection.removeIf(java.util.function.Predicate)
(neue Methode)java.util.Collection.spliterator()
(neue Methode)java.util.Collection.stream()
(neue Methode)java.util.Collections.checkedNavigableMap(java.util.NavigableMap, Class, Class)
(neue Methode)java.util.Collections.checkedNavigableSet(java.util.NavigableSet, Class)
(neue Methode)java.util.Collections.checkedQueue(java.util.Queue, Class)
(neue Methode)java.util.Collections.emptyNavigableMap()
(neue Methode)java.util.Collections.emptyNavigableSet()
(neue Methode)java.util.Collections.emptySortedMap()
(neue Methode)java.util.Collections.emptySortedSet()
(neue Methode)java.util.Collections.synchronizedNavigableMap(java.util.NavigableMap)
(neue Methode)java.util.Collections.synchronizedNavigableSet(java.util.NavigableSet)
(neue Methode)java.util.Collections.unmodifiableNavigableMap(java.util.NavigableMap)
(neue Methode)java.util.Collections.unmodifiableNavigableSet(java.util.NavigableSet)
(neue Methode)java.util.Comparator.comparing(java.util.function.Function)
(neue Methode)java.util.Comparator.comparing(java.util.function.Function, java.util.Comparator)
(neue Methode)java.util.Comparator.comparingDouble(java.util.function.ToDoubleFunction)
(neue Methode)java.util.Comparator.comparingInt(java.util.function.ToIntFunction)
(neue Methode)java.util.Comparator.comparingLong(java.util.function.ToLongFunction)
(neue Methode)java.util.Comparator.naturalOrder()
(neue Methode)java.util.Comparator.nullsFirst(java.util.Comparator)
(neue Methode)java.util.Comparator.nullsLast(java.util.Comparator)
(neue Methode)java.util.Comparator.reverseOrder()
(neue Methode)java.util.Comparator.reversed()
(neue Methode)java.util.Comparator.thenComparing(java.util.Comparator)
(neue Methode)java.util.Comparator.thenComparing(java.util.function.Function)
(neue Methode)java.util.Comparator.thenComparing(java.util.function.Function, java.util.Comparator)
(neue Methode)java.util.Comparator.thenComparingDouble(java.util.function.ToDoubleFunction)
(neue Methode)java.util.Comparator.thenComparingInt(java.util.function.ToIntFunction)
(neue Methode)java.util.Comparator.thenComparingLong(java.util.function.ToLongFunction)
(neue Methode)java.util.Date.from(java.time.Instant)
(neue Methode)java.util.Date.toInstant()
(neue Methode)java.util.DoubleSummaryStatistics
(neue Klasse)java.util.GregorianCalendar.from(java.time.ZonedDateTime)
(neue Methode)java.util.GregorianCalendar.getCalendarType()
(neue Methode)java.util.GregorianCalendar.toZonedDateTime()
(neue Methode)java.util.HashSet.spliterator()
(neue Methode)java.util.IntSummaryStatistics
(neue Klasse)java.util.Iterator.forEachRemaining(java.util.function.Consumer)
(neue Methode)java.util.LinkedHashSet.spliterator()
(neue Methode)java.util.LinkedList.spliterator()
(neue Methode)java.util.List.replaceAll(java.util.function.UnaryOperator)
(neue Methode)java.util.List.sort(java.util.Comparator)
(neue Methode)java.util.List.spliterator()
(neue Methode)java.util.Locale.filter(java.util.List, java.util.Collection)
(neue Methode)java.util.Locale.filter(java.util.List, java.util.Collection, java.util.Locale.FilteringMode)
(neue Methode)java.util.Locale.filterTags(java.util.List, java.util.Collection)
(neue Methode)java.util.Locale.filterTags(java.util.List, java.util.Collection, java.util.Locale.FilteringMode)
(neue Methode)java.util.Locale.hasExtensions()
(neue Methode)java.util.Locale.lookup(java.util.List, java.util.Collection)
(neue Methode)java.util.Locale.lookupTag(java.util.List, java.util.Collection)
(neue Methode)java.util.Locale.stripExtensions()
(neue Methode)java.util.Locale.FilteringMode
(neue Klasse)java.util.Locale.LanguageRange
(neue Klasse)java.util.LongSummaryStatistics
(neue Klasse)java.util.Map.compute(K, java.util.function.BiFunction)
(neue Methode)java.util.Map.computeIfAbsent(K, java.util.function.Function)
(neue Methode)java.util.Map.computeIfPresent(K, java.util.function.BiFunction)
(neue Methode)java.util.Map.forEach(java.util.function.BiConsumer)
(neue Methode)java.util.Map.getOrDefault(Object, V)
(neue Methode)java.util.Map.merge(K, V, java.util.function.BiFunction)
(neue Methode)java.util.Map.putIfAbsent(K, V)
(neue Methode)java.util.Map.remove(Object, Object)
(neue Methode)java.util.Map.replace(K, V)
(neue Methode)java.util.Map.replace(K, V, V)
(neue Methode)java.util.Map.replaceAll(java.util.function.BiFunction)
(neue Methode)java.util.Map.Entry.comparingByKey()
(neue Methode)java.util.Map.Entry.comparingByKey(java.util.Comparator)
(neue Methode)java.util.Map.Entry.comparingByValue()
(neue Methode)java.util.Map.Entry.comparingByValue(java.util.Comparator)
(neue Methode)java.util.Objects.isNull(Object)
(neue Methode)java.util.Objects.nonNull(Object)
(neue Methode)java.util.Objects.requireNonNull(T, java.util.function.Supplier)
(neue Methode)java.util.Optional
(neue Klasse)java.util.OptionalDouble
(neue Klasse)java.util.OptionalInt
(neue Klasse)java.util.OptionalLong
(neue Klasse)java.util.PrimitiveIterator
(neue Schnittstelle)java.util.PrimitiveIterator.OfDouble
(neue Schnittstelle)java.util.PrimitiveIterator.OfInt
(neue Schnittstelle)java.util.PrimitiveIterator.OfLong
(neue Schnittstelle)java.util.PriorityQueue(java.util.Comparator)
(neuer Konstruktor)java.util.PriorityQueue.spliterator()
(neue Methode)java.util.Random.doubles()
(neue Methode)java.util.Random.doubles(double, double)
(neue Methode)java.util.Random.doubles(long)
(neue Methode)java.util.Random.doubles(long, double, double)
(neue Methode)java.util.Random.ints()
(neue Methode)java.util.Random.ints(int, int)
(neue Methode)java.util.Random.ints(long)
(neue Methode)java.util.Random.ints(long, int, int)
(neue Methode)java.util.Random.longs()
(neue Methode)java.util.Random.longs(long)
(neue Methode)java.util.Random.longs(long, long)
(neue Methode)java.util.Random.longs(long, long, long)
(neue Methode)java.util.ResourceBundle.getBaseBundleName()
(neue Methode)java.util.Set.spliterator()
(neue Methode)java.util.SortedSet.spliterator()
(neue Methode)java.util.Spliterator
(neue Schnittstelle)java.util.Spliterator.OfDouble
(neue Schnittstelle)java.util.Spliterator.OfInt
(neue Schnittstelle)java.util.Spliterator.OfLong
(neue Schnittstelle)java.util.Spliterator.OfPrimitive
(neue Schnittstelle)java.util.Spliterators
(neue Klasse)java.util.Spliterators.AbstractDoubleSpliterator
(neue abstakte Klasse)java.util.Spliterators.AbstractIntSpliterator
(neue abstakte Klasse)java.util.Spliterators.AbstractLongSpliterator
(neue abstakte Klasse)java.util.Spliterators.AbstractSpliterator
(neue abstakte Klasse)java.util.SplittableRandom
(neue Klasse)java.util.StringJoiner
(neue Klasse)java.util.TimeZone.getTimeZone(java.time.ZoneId)
(neue Methode)java.util.TimeZone.toZoneId()
(neue Methode)java.util.TreeSet.spliterator()
(neue Methode)java.util.Vector.spliterator()
(neue Methode)java.util.concurrent.ArrayBlockingQueue.spliterator()
(neue Methode)java.util.concurrent.CompletableFuture
(neue Klasse)java.util.concurrent.CompletableFuture.AsynchronousCompletionTask
(neue Schnittstelle)java.util.concurrent.CompletionException
(neuer Ausnahmetyp)java.util.concurrent.CompletionStage
(neue Schnittstelle)java.util.concurrent.ConcurrentHashMap.forEach(long, java.util.function.BiConsumer)
(neue Methode)java.util.concurrent.ConcurrentHashMap.forEach(long, java.util.function.BiFunction, java.util.function.Consumer)
(neue Methode)java.util.concurrent.ConcurrentHashMap.forEachEntry(long, java.util.function.Consumer)
(neue Methode)java.util.concurrent.ConcurrentHashMap.forEachEntry(long, java.util.function.Function, java.util.function.Consumer)
(neue Methode)java.util.concurrent.ConcurrentHashMap.forEachKey(long, java.util.function.Consumer)
(neue Methode)java.util.concurrent.ConcurrentHashMap.forEachKey(long, java.util.function.Function, java.util.function.Consumer)
(neue Methode)java.util.concurrent.ConcurrentHashMap.forEachValue(long, java.util.function.Consumer)
(neue Methode)java.util.concurrent.ConcurrentHashMap.forEachValue(long, java.util.function.Function, java.util.function.Consumer)
(neue Methode)java.util.concurrent.ConcurrentHashMap.mappingCount()
(neue Methode)java.util.concurrent.ConcurrentHashMap.newKeySet()
(neue Methode)java.util.concurrent.ConcurrentHashMap.newKeySet(int)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduce(long, java.util.function.BiFunction, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceEntries(long, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceEntries(long, java.util.function.Function, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceEntriesToDouble(long, java.util.function.ToDoubleFunction, double, java.util.function.DoubleBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceEntriesToInt(long, java.util.function.ToIntFunction, int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceEntriesToLong(long, java.util.function.ToLongFunction, long, java.util.function.LongBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceKeys(long, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceKeys(long, java.util.function.Function, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceKeysToDouble(long, java.util.function.ToDoubleFunction, double, java.util.function.DoubleBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceKeysToInt(long, java.util.function.ToIntFunction, int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceKeysToLong(long, java.util.function.ToLongFunction, long, java.util.function.LongBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceToDouble(long, java.util.function.ToDoubleBiFunction, double, java.util.function.DoubleBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceToInt(long, java.util.function.ToIntBiFunction, int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceToLong(long, java.util.function.ToLongBiFunction, long, java.util.function.LongBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceValues(long, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceValues(long, java.util.function.Function, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceValuesToDouble(long, java.util.function.ToDoubleFunction, double, java.util.function.DoubleBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceValuesToInt(long, java.util.function.ToIntFunction, int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.reduceValuesToLong(long, java.util.function.ToLongFunction, long, java.util.function.LongBinaryOperator)
(neue Methode)java.util.concurrent.ConcurrentHashMap.search(long, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentHashMap.searchEntries(long, java.util.function.Function)
(neue Methode)java.util.concurrent.ConcurrentHashMap.searchKeys(long, java.util.function.Function)
(neue Methode)java.util.concurrent.ConcurrentHashMap.searchValues(long, java.util.function.Function)
(neue Methode)java.util.concurrent.ConcurrentHashMap.KeySetView
(neue Klasse)java.util.concurrent.ConcurrentLinkedDeque.spliterator()
(neue Methode)java.util.concurrent.ConcurrentLinkedQueue.spliterator()
(neue Methode)java.util.concurrent.ConcurrentMap.compute(K, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentMap.computeIfAbsent(K, java.util.function.Function)
(neue Methode)java.util.concurrent.ConcurrentMap.computeIfPresent(K, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentMap.forEach(java.util.function.BiConsumer)
(neue Methode)java.util.concurrent.ConcurrentMap.getOrDefault(Object, V)
(neue Methode)java.util.concurrent.ConcurrentMap.merge(K, V, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentMap.replaceAll(java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentSkipListMap.compute(K, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentSkipListMap.computeIfAbsent(K, java.util.function.Function)
(neue Methode)java.util.concurrent.ConcurrentSkipListMap.computeIfPresent(K, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentSkipListMap.getOrDefault(Object, V)
(neue Methode)java.util.concurrent.ConcurrentSkipListMap.merge(K, V, java.util.function.BiFunction)
(neue Methode)java.util.concurrent.ConcurrentSkipListSet.spliterator()
(neue Methode)java.util.concurrent.CopyOnWriteArrayList.spliterator()
(neue Methode)java.util.concurrent.CopyOnWriteArraySet.spliterator()
(neue Methode)java.util.concurrent.CountedCompleter
(neue abstakte Klasse)java.util.concurrent.Executors.newWorkStealingPool()
(neue Methode)java.util.concurrent.Executors.newWorkStealingPool(int)
(neue Methode)java.util.concurrent.ForkJoinPool.commonPool()
(neue Methode)java.util.concurrent.ForkJoinPool.getCommonPoolParallelism()
(neue Methode)java.util.concurrent.ForkJoinTask.compareAndSetForkJoinTaskTag(short, short)
(neue Methode)java.util.concurrent.ForkJoinTask.getForkJoinTaskTag()
(neue Methode)java.util.concurrent.ForkJoinTask.quietlyComplete()
(neue Methode)java.util.concurrent.ForkJoinTask.setForkJoinTaskTag(short)
(neue Methode)java.util.concurrent.LinkedBlockingDeque.spliterator()
(neue Methode)java.util.concurrent.LinkedBlockingQueue.spliterator()
(neue Methode)java.util.concurrent.LinkedTransferQueue.spliterator()
(neue Methode)java.util.concurrent.PriorityBlockingQueue.spliterator()
(neue Methode)java.util.concurrent.SynchronousQueue.spliterator()
(neue Methode)java.util.concurrent.ThreadLocalRandom.doubles()
(neue Methode)java.util.concurrent.ThreadLocalRandom.doubles(double, double)
(neue Methode)java.util.concurrent.ThreadLocalRandom.doubles(long)
(neue Methode)java.util.concurrent.ThreadLocalRandom.doubles(long, double, double)
(neue Methode)java.util.concurrent.ThreadLocalRandom.ints()
(neue Methode)java.util.concurrent.ThreadLocalRandom.ints(int, int)
(neue Methode)java.util.concurrent.ThreadLocalRandom.ints(long)
(neue Methode)java.util.concurrent.ThreadLocalRandom.ints(long, int, int)
(neue Methode)java.util.concurrent.ThreadLocalRandom.longs()
(neue Methode)java.util.concurrent.ThreadLocalRandom.longs(long)
(neue Methode)java.util.concurrent.ThreadLocalRandom.longs(long, long)
(neue Methode)java.util.concurrent.ThreadLocalRandom.longs(long, long, long)
(neue Methode)java.util.concurrent.atomic.AtomicInteger.accumulateAndGet(int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicInteger.getAndAccumulate(int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicInteger.getAndUpdate(java.util.function.IntUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicInteger.updateAndGet(java.util.function.IntUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicIntegerArray.accumulateAndGet(int, int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicIntegerArray.getAndAccumulate(int, int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicIntegerArray.getAndUpdate(int, java.util.function.IntUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicIntegerArray.updateAndGet(int, java.util.function.IntUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicIntegerFieldUpdater.accumulateAndGet(T, int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndAccumulate(T, int, java.util.function.IntBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndUpdate(T, java.util.function.IntUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicIntegerFieldUpdater.updateAndGet(T, java.util.function.IntUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLong.accumulateAndGet(long, java.util.function.LongBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLong.getAndAccumulate(long, java.util.function.LongBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLong.getAndUpdate(java.util.function.LongUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLong.updateAndGet(java.util.function.LongUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLongArray.accumulateAndGet(int, long, java.util.function.LongBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLongArray.getAndAccumulate(int, long, java.util.function.LongBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLongArray.getAndUpdate(int, java.util.function.LongUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLongArray.updateAndGet(int, java.util.function.LongUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLongFieldUpdater.accumulateAndGet(T, long, java.util.function.LongBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndAccumulate(T, long, java.util.function.LongBinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLongFieldUpdater.getAndUpdate(T, java.util.function.LongUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicLongFieldUpdater.updateAndGet(T, java.util.function.LongUnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReference.accumulateAndGet(V, java.util.function.BinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReference.getAndAccumulate(V, java.util.function.BinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReference.getAndUpdate(java.util.function.UnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReference.updateAndGet(java.util.function.UnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReferenceArray.accumulateAndGet(int, E, java.util.function.BinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReferenceArray.getAndAccumulate(int, E, java.util.function.BinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReferenceArray.getAndUpdate(int, java.util.function.UnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReferenceArray.updateAndGet(int, java.util.function.UnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReferenceFieldUpdater.accumulateAndGet(T, V, java.util.function.BinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndAccumulate(T, V, java.util.function.BinaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndUpdate(T, java.util.function.UnaryOperator)
(neue Methode)java.util.concurrent.atomic.AtomicReferenceFieldUpdater.updateAndGet(T, java.util.function.UnaryOperator)
(neue Methode)java.util.concurrent.atomic.DoubleAccumulator
(neue Klasse)java.util.concurrent.atomic.DoubleAdder
(neue Klasse)java.util.concurrent.atomic.LongAccumulator
(neue Klasse)java.util.concurrent.atomic.LongAdder
(neue Klasse)java.util.concurrent.locks.StampedLock
(neue Klasse)java.util.function.BiConsumer
(neue Schnittstelle)java.util.function.BiFunction
(neue Schnittstelle)java.util.function.BiPredicate
(neue Schnittstelle)java.util.function.BinaryOperator
(neue Schnittstelle)java.util.function.BooleanSupplier
(neue Schnittstelle)java.util.function.Consumer
(neue Schnittstelle)java.util.function.DoubleBinaryOperator
(neue Schnittstelle)java.util.function.DoubleConsumer
(neue Schnittstelle)java.util.function.DoubleFunction
(neue Schnittstelle)java.util.function.DoublePredicate
(neue Schnittstelle)java.util.function.DoubleSupplier
(neue Schnittstelle)java.util.function.DoubleToIntFunction
(neue Schnittstelle)java.util.function.DoubleToLongFunction
(neue Schnittstelle)java.util.function.DoubleUnaryOperator
(neue Schnittstelle)java.util.function.Function
(neue Schnittstelle)java.util.function.IntBinaryOperator
(neue Schnittstelle)java.util.function.IntConsumer
(neue Schnittstelle)java.util.function.IntFunction
(neue Schnittstelle)java.util.function.IntPredicate
(neue Schnittstelle)java.util.function.IntSupplier
(neue Schnittstelle)java.util.function.IntToDoubleFunction
(neue Schnittstelle)java.util.function.IntToLongFunction
(neue Schnittstelle)java.util.function.IntUnaryOperator
(neue Schnittstelle)java.util.function.LongBinaryOperator
(neue Schnittstelle)java.util.function.LongConsumer
(neue Schnittstelle)java.util.function.LongFunction
(neue Schnittstelle)java.util.function.LongPredicate
(neue Schnittstelle)java.util.function.LongSupplier
(neue Schnittstelle)java.util.function.LongToDoubleFunction
(neue Schnittstelle)java.util.function.LongToIntFunction
(neue Schnittstelle)java.util.function.LongUnaryOperator
(neue Schnittstelle)java.util.function.ObjDoubleConsumer
(neue Schnittstelle)java.util.function.ObjIntConsumer
(neue Schnittstelle)java.util.function.ObjLongConsumer
(neue Schnittstelle)java.util.function.Predicate
(neue Schnittstelle)java.util.function.Supplier
(neue Schnittstelle)java.util.function.ToDoubleBiFunction
(neue Schnittstelle)java.util.function.ToDoubleFunction
(neue Schnittstelle)java.util.function.ToIntBiFunction
(neue Schnittstelle)java.util.function.ToIntFunction
(neue Schnittstelle)java.util.function.ToLongBiFunction
(neue Schnittstelle)java.util.function.ToLongFunction
(neue Schnittstelle)java.util.function.UnaryOperator
(neue Schnittstelle)java.util.logging.Logger.config(java.util.function.Supplier)
(neue Methode)java.util.logging.Logger.fine(java.util.function.Supplier)
(neue Methode)java.util.logging.Logger.finer(java.util.function.Supplier)
(neue Methode)java.util.logging.Logger.finest(java.util.function.Supplier)
(neue Methode)java.util.logging.Logger.info(java.util.function.Supplier)
(neue Methode)java.util.logging.Logger.log(java.util.logging.Level, Throwable, java.util.function.Supplier)
(neue Methode)java.util.logging.Logger.log(java.util.logging.Level, java.util.function.Supplier)
(neue Methode)java.util.logging.Logger.logp(java.util.logging.Level, String, String, Throwable, java.util.function.Supplier)
(neue Methode)java.util.logging.Logger.logp(java.util.logging.Level, String, String, java.util.function.Supplier)
(neue Methode)java.util.logging.Logger.logrb(java.util.logging.Level, String, String, java.util.ResourceBundle, String, Object[])
(neue Methode)java.util.logging.Logger.logrb(java.util.logging.Level, String, String, java.util.ResourceBundle, String, Throwable)
(neue Methode)java.util.logging.Logger.setResourceBundle(java.util.ResourceBundle)
(neue Methode)java.util.logging.Logger.severe(java.util.function.Supplier)
(neue Methode)java.util.logging.Logger.warning(java.util.function.Supplier)
(neue Methode)java.util.regex.Matcher.end(String)
(neue Methode)java.util.regex.Matcher.start(String)
(neue Methode)java.util.regex.Pattern.asPredicate()
(neue Methode)java.util.regex.Pattern.splitAsStream(CharSequence)
(neue Methode)java.util.spi.CalendarDataProvider
(neue abstakte Klasse)java.util.spi.CalendarNameProvider
(neue abstakte Klasse)java.util.spi.LocaleServiceProvider.isSupportedLocale(java.util.Locale)
(neue Methode)java.util.spi.ResourceBundleControlProvider
(neue Schnittstelle)java.util.spi.TimeZoneNameProvider.getGenericDisplayName(String, int, java.util.Locale)
(neue Methode)java.util.stream.BaseStream
(neue Schnittstelle)java.util.stream.Collector
(neue Schnittstelle)java.util.stream.Collectors
(neue Klasse)java.util.stream.DoubleStream
(neue Schnittstelle)java.util.stream.DoubleStream.Builder
(neue Schnittstelle)java.util.stream.IntStream
(neue Schnittstelle)java.util.stream.IntStream.Builder
(neue Schnittstelle)java.util.stream.LongStream
(neue Schnittstelle)java.util.stream.LongStream.Builder
(neue Schnittstelle)java.util.stream.Stream
(neue Schnittstelle)java.util.stream.Stream.Builder
(neue Schnittstelle)java.util.stream.StreamSupport
(neue Klasse)java.util.zip.Adler32.update(java.nio.ByteBuffer)
(neue Methode)java.util.zip.CRC32.update(java.nio.ByteBuffer)
(neue Methode)java.util.zip.ZipEntry.getCreationTime()
(neue Methode)java.util.zip.ZipEntry.getLastAccessTime()
(neue Methode)java.util.zip.ZipEntry.getLastModifiedTime()
(neue Methode)java.util.zip.ZipEntry.setCreationTime(java.nio.file.attribute.FileTime)
(neue Methode)java.util.zip.ZipEntry.setLastAccessTime(java.nio.file.attribute.FileTime)
(neue Methode)java.util.zip.ZipEntry.setLastModifiedTime(java.nio.file.attribute.FileTime)
(neue Methode)java.util.zip.ZipFile.stream()
(neue Methode)javax.crypto.spec.PBEParameterSpec(byte[], int, java.security.spec.AlgorithmParameterSpec)
(neuer Konstruktor)javax.crypto.spec.PBEParameterSpec.getParameterSpec()
(neue Methode)javax.lang.model.AnnotatedConstruct
(neue Schnittstelle)javax.lang.model.SourceVersion.RELEASE_8
(neues Attribut)javax.lang.model.element.ExecutableElement.getReceiverType()
(neue Methode)javax.lang.model.element.ExecutableElement.isDefault()
(neue Methode)javax.lang.model.element.Modifier.DEFAULT
(neues Attribut)javax.lang.model.type.ExecutableType.getReceiverType()
(neue Methode)javax.lang.model.type.IntersectionType
(neue Schnittstelle)javax.lang.model.type.TypeKind.INTERSECTION
(neues Attribut)javax.lang.model.type.TypeVisitor.visitIntersection(javax.lang.model.type.IntersectionType, P)
(neue Methode)javax.lang.model.util.AbstractAnnotationValueVisitor8
(neue abstakte Klasse)javax.lang.model.util.AbstractElementVisitor8
(neue abstakte Klasse)javax.lang.model.util.AbstractTypeVisitor6.visitIntersection(javax.lang.model.type.IntersectionType, P)
(neue Methode)javax.lang.model.util.AbstractTypeVisitor8
(neue abstakte Klasse)javax.lang.model.util.ElementKindVisitor8
(neue Klasse)javax.lang.model.util.ElementScanner8
(neue Klasse)javax.lang.model.util.Elements.isFunctionalInterface(javax.lang.model.element.TypeElement)
(neue Methode)javax.lang.model.util.SimpleAnnotationValueVisitor8
(neue Klasse)javax.lang.model.util.SimpleElementVisitor8
(neue Klasse)javax.lang.model.util.SimpleTypeVisitor8
(neue Klasse)javax.lang.model.util.TypeKindVisitor8
(neue Klasse)javax.net.ssl.ExtendedSSLSession.getRequestedServerNames()
(neue Methode)javax.net.ssl.SNIHostName
(neue Klasse)javax.net.ssl.SNIMatcher
(neue abstakte Klasse)javax.net.ssl.SNIServerName
(neue abstakte Klasse)javax.net.ssl.SSLParameters.getSNIMatchers()
(neue Methode)javax.net.ssl.SSLParameters.getServerNames()
(neue Methode)javax.net.ssl.SSLParameters.getUseCipherSuitesOrder()
(neue Methode)javax.net.ssl.SSLParameters.setSNIMatchers(java.util.Collection)
(neue Methode)javax.net.ssl.SSLParameters.setServerNames(java.util.List)
(neue Methode)javax.net.ssl.SSLParameters.setUseCipherSuitesOrder(boolean)
(neue Methode)javax.net.ssl.SSLSocketFactory.createSocket(java.net.Socket, java.io.InputStream, boolean)
(neue Methode)javax.net.ssl.StandardConstants
(neue Klasse)javax.security.auth.kerberos.KeyTab.getInstance(javax.security.auth.kerberos.KerberosPrincipal)
(neue Methode)javax.security.auth.kerberos.KeyTab.getInstance(javax.security.auth.kerberos.KerberosPrincipal, java.io.File)
(neue Methode)javax.security.auth.kerberos.KeyTab.getPrincipal()
(neue Methode)javax.security.auth.kerberos.KeyTab.getUnboundInstance()
(neue Methode)javax.security.auth.kerberos.KeyTab.getUnboundInstance(java.io.File)
(neue Methode)javax.security.auth.kerberos.KeyTab.isBound()
(neue Methode)javax.tools.StandardLocation.NATIVE_HEADER_OUTPUT
(neues Attribut)javax.xml.validation.SchemaFactoryConfigurationError
(neue Klasse)