15 Jahre Erfahrung FreeCall 0800 tutegos

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. Von Java 9 gibt es bisher keine großen Details.

An folgende Quellen sind die Änderungen an Java 8 über die letzten Jahre gut abzulesen:

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).

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.

Java 8 IDEs

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:

Alle neuen Typen und Eigenschaften

Neuer Typ java.io.UncheckedIOException
Neue Methode java.io.BufferedReader.lines()
Neuer Konstruktor java.lang.VirtualMachineError(java.lang.String, java.lang.Throwable)
Neuer Konstruktor java.lang.VirtualMachineError(java.lang.Throwable)
Neue Methode java.lang.ThreadLocal.withInitial(java.util.function.Supplier)
Neue Methode java.lang.String.join(java.lang.CharSequence, java.lang.CharSequence[])
Neue Methode java.lang.String.join(java.lang.CharSequence, java.lang.Iterable)
Neue Methode java.lang.StrictMath.addExact(int, int)
Neue Methode java.lang.StrictMath.addExact(long, long)
Neue Methode java.lang.StrictMath.subtractExact(int, int)
Neue Methode java.lang.StrictMath.subtractExact(long, long)
Neue Methode java.lang.StrictMath.multiplyExact(int, int)
Neue Methode java.lang.StrictMath.multiplyExact(long, long)
Neue Methode java.lang.StrictMath.toIntExact(long)
Neue Methode java.lang.StrictMath.floorDiv(int, int)
Neue Methode java.lang.StrictMath.floorDiv(long, long)
Neue Methode java.lang.StrictMath.floorMod(int, int)
Neue Methode java.lang.StrictMath.floorMod(long, long)
Neue Methode java.lang.StrictMath.nextDown(double)
Neue Methode java.lang.StrictMath.nextDown(float)
Neue Methode java.lang.Short.hashCode(short)
Neue Methode java.lang.Short.toUnsignedInt(short)
Neue Methode java.lang.Short.toUnsignedLong(short)
Neues Attribut java.lang.Short.BYTES
Neue Methode java.lang.Process.waitFor(long, java.util.concurrent.TimeUnit)
Neue Methode java.lang.Process.destroyForcibly()
Neue Methode java.lang.Process.isAlive()
Neue Methode java.lang.Package.getAnnotationsByType(java.lang.Class)
Neue Methode java.lang.Package.getDeclaredAnnotation(java.lang.Class)
Neue Methode java.lang.Package.getDeclaredAnnotationsByType(java.lang.Class)
Neue Methode java.lang.Math.addExact(int, int)
Neue Methode java.lang.Math.addExact(long, long)
Neue Methode java.lang.Math.subtractExact(int, int)
Neue Methode java.lang.Math.subtractExact(long, long)
Neue Methode java.lang.Math.multiplyExact(int, int)
Neue Methode java.lang.Math.multiplyExact(long, long)
Neue Methode java.lang.Math.incrementExact(int)
Neue Methode java.lang.Math.incrementExact(long)
Neue Methode java.lang.Math.decrementExact(int)
Neue Methode java.lang.Math.decrementExact(long)
Neue Methode java.lang.Math.negateExact(int)
Neue Methode java.lang.Math.negateExact(long)
Neue Methode java.lang.Math.toIntExact(long)
Neue Methode java.lang.Math.floorDiv(int, int)
Neue Methode java.lang.Math.floorDiv(long, long)
Neue Methode java.lang.Math.floorMod(int, int)
Neue Methode java.lang.Math.floorMod(long, long)
Neue Methode java.lang.Math.nextDown(double)
Neue Methode java.lang.Math.nextDown(float)
Neue Methode java.lang.Long.toUnsignedString(long, int)
Neue Methode java.lang.Long.toUnsignedString(long)
Neue Methode java.lang.Long.parseUnsignedLong(java.lang.String, int)
Neue Methode java.lang.Long.parseUnsignedLong(java.lang.String)
Neue Methode java.lang.Long.hashCode(long)
Neue Methode java.lang.Long.compareUnsigned(long, long)
Neue Methode java.lang.Long.divideUnsigned(long, long)
Neue Methode java.lang.Long.remainderUnsigned(long, long)
Neue Methode java.lang.Long.sum(long, long)
Neue Methode java.lang.Long.max(long, long)
Neue Methode java.lang.Long.min(long, long)
Neues Attribut java.lang.Long.BYTES
Neue Methode java.lang.Iterable.forEach(java.util.function.Consumer)
Neue Methode java.lang.Iterable.spliterator()
Neuer Konstruktor java.lang.InternalError(java.lang.String, java.lang.Throwable)
Neuer Konstruktor java.lang.InternalError(java.lang.Throwable)
Neue Methode java.lang.Integer.toUnsignedString(int, int)
Neue Methode java.lang.Integer.toUnsignedString(int)
Neue Methode java.lang.Integer.parseUnsignedInt(java.lang.String, int)
Neue Methode java.lang.Integer.parseUnsignedInt(java.lang.String)
Neue Methode java.lang.Integer.hashCode(int)
Neue Methode java.lang.Integer.compareUnsigned(int, int)
Neue Methode java.lang.Integer.toUnsignedLong(int)
Neue Methode java.lang.Integer.divideUnsigned(int, int)
Neue Methode java.lang.Integer.remainderUnsigned(int, int)
Neue Methode java.lang.Integer.sum(int, int)
Neue Methode java.lang.Integer.max(int, int)
Neue Methode java.lang.Integer.min(int, int)
Neues Attribut java.lang.Integer.BYTES
Neuer Typ java.lang.FunctionalInterface
Neue Methode java.lang.Float.isFinite(float)
Neue Methode java.lang.Float.hashCode(float)
Neue Methode java.lang.Float.sum(float, float)
Neue Methode java.lang.Float.max(float, float)
Neue Methode java.lang.Float.min(float, float)
Neues Attribut java.lang.Float.BYTES
Neue Methode java.lang.Double.isFinite(double)
Neue Methode java.lang.Double.hashCode(double)
Neue Methode java.lang.Double.sum(double, double)
Neue Methode java.lang.Double.max(double, double)
Neue Methode java.lang.Double.min(double, double)
Neues Attribut java.lang.Double.BYTES
Neue Methode java.lang.Class.toGenericString()
Neue Methode java.lang.Class.getTypeName()
Neue Methode java.lang.Class.getAnnotationsByType(java.lang.Class)
Neue Methode java.lang.Class.getDeclaredAnnotation(java.lang.Class)
Neue Methode java.lang.Class.getDeclaredAnnotationsByType(java.lang.Class)
Neue Methode java.lang.Class.getAnnotatedSuperclass()
Neue Methode java.lang.Class.getAnnotatedInterfaces()
Neue Methode java.lang.Character.hashCode(char)
Neues Attribut java.lang.Character.BYTES
Neues Attribut java.lang.Character.UnicodeBlock.ARABIC_EXTENDED_A
Neues Attribut java.lang.Character.UnicodeBlock.SUNDANESE_SUPPLEMENT
Neues Attribut java.lang.Character.UnicodeBlock.MEETEI_MAYEK_EXTENSIONS
Neues Attribut java.lang.Character.UnicodeBlock.MEROITIC_HIEROGLYPHS
Neues Attribut java.lang.Character.UnicodeBlock.MEROITIC_CURSIVE
Neues Attribut java.lang.Character.UnicodeBlock.SORA_SOMPENG
Neues Attribut java.lang.Character.UnicodeBlock.CHAKMA
Neues Attribut java.lang.Character.UnicodeBlock.SHARADA
Neues Attribut java.lang.Character.UnicodeBlock.TAKRI
Neues Attribut java.lang.Character.UnicodeBlock.MIAO
Neues Attribut java.lang.Character.UnicodeBlock.ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS
Neue Methode java.lang.CharSequence.chars()
Neue Methode java.lang.CharSequence.codePoints()
Neue Methode java.lang.Byte.hashCode(byte)
Neue Methode java.lang.Byte.toUnsignedInt(byte)
Neue Methode java.lang.Byte.toUnsignedLong(byte)
Neues Attribut java.lang.Byte.BYTES
Neue Methode java.lang.Boolean.hashCode(boolean)
Neue Methode java.lang.Boolean.logicalAnd(boolean, boolean)
Neue Methode java.lang.Boolean.logicalOr(boolean, boolean)
Neue Methode java.lang.Boolean.logicalXor(boolean, boolean)
Neuer Typ java.lang.annotation.Repeatable
Neuer Typ java.lang.annotation.Native
Neues Attribut java.lang.annotation.ElementType.TYPE_PARAMETER
Neues Attribut java.lang.annotation.ElementType.TYPE_USE
Neue Methode java.lang.invoke.MethodHandles.reflectAs(java.lang.Class, java.lang.invoke.MethodHandle)
Neue Methode java.lang.invoke.MethodHandles.Lookup.revealDirect(java.lang.invoke.MethodHandle)
Neuer Typ java.lang.invoke.MethodHandleInfo
Neue Methode java.lang.management.LockInfo.from(javax.management.openmbean.CompositeData)
Neue Methode java.lang.reflect.TypeVariable.getAnnotatedBounds()
Neue Methode java.lang.reflect.Type.getTypeName()
Neuer Typ java.lang.reflect.Parameter
Neue Methode java.lang.reflect.Modifier.parameterModifiers()
Neue Methode java.lang.reflect.Method.isDefault()
Neue Methode java.lang.reflect.Method.getAnnotatedReturnType()
Neuer Typ java.lang.reflect.MalformedParametersException
Neue Methode java.lang.reflect.Field.getAnnotationsByType(java.lang.Class)
Neue Methode java.lang.reflect.Field.getAnnotatedType()
Neuer Typ java.lang.reflect.Executable
Neue Methode java.lang.reflect.Executable.getAnnotationsByType(java.lang.Class)
Neue Methode java.lang.reflect.Executable.getAnnotatedReturnType()
Neue Methode java.lang.reflect.Executable.getAnnotatedReceiverType()
Neue Methode java.lang.reflect.Executable.getAnnotatedParameterTypes()
Neue Methode java.lang.reflect.Executable.getAnnotatedExceptionTypes()
Neue Methode java.lang.reflect.Constructor.getAnnotatedReturnType()
Neuer Typ java.lang.reflect.AnnotatedWildcardType
Neuer Typ java.lang.reflect.AnnotatedTypeVariable
Neuer Typ java.lang.reflect.AnnotatedType
Neuer Typ java.lang.reflect.AnnotatedParameterizedType
Neue Methode java.lang.reflect.AnnotatedElement.getAnnotationsByType(java.lang.Class)
Neue Methode java.lang.reflect.AnnotatedElement.getDeclaredAnnotation(java.lang.Class)
Neue Methode java.lang.reflect.AnnotatedElement.getDeclaredAnnotationsByType(java.lang.Class)
Neuer Typ java.lang.reflect.AnnotatedArrayType
Neue Methode java.lang.reflect.AccessibleObject.getAnnotationsByType(java.lang.Class)
Neue Methode java.lang.reflect.AccessibleObject.getDeclaredAnnotation(java.lang.Class)
Neue Methode java.lang.reflect.AccessibleObject.getDeclaredAnnotationsByType(java.lang.Class)
Neue Methode java.math.BigInteger.longValueExact()
Neue Methode java.math.BigInteger.intValueExact()
Neue Methode java.math.BigInteger.shortValueExact()
Neue Methode java.math.BigInteger.byteValueExact()
Neuer Typ java.net.URLPermission
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.write(java.nio.file.Path, java.lang.Iterable, java.nio.file.OpenOption[])
Neue Methode java.nio.file.Files.list(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.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, java.nio.charset.Charset)
Neue Methode java.nio.file.Files.lines(java.nio.file.Path)
Neue Methode java.nio.file.attribute.FileTime.from(java.time.Instant)
Neue Methode java.nio.file.attribute.FileTime.toInstant()
Neue Methode java.security.SecureRandom.getInstanceStrong()
Neue Methode java.security.Principal.implies(javax.security.auth.Subject)
Neuer Typ java.security.PKCS12Attribute
Neue Methode java.security.KeyStore.PasswordProtection.getProtectionAlgorithm()
Neue Methode java.security.KeyStore.PasswordProtection.getProtectionParameters()
Neuer Konstruktor java.security.KeyStore.PasswordProtection(char[], java.lang.String, java.security.spec.AlgorithmParameterSpec)
Neue Methode java.security.KeyStore.Entry.getAttributes()
Neuer Typ java.security.KeyStore.Entry.Attribute
Neue Methode java.security.KeyStore.PrivateKeyEntry.getAttributes()
Neuer Konstruktor java.security.KeyStore.PrivateKeyEntry(java.security.PrivateKey, java.security.cert.Certificate[], java.util.Set)
Neue Methode java.security.KeyStore.SecretKeyEntry.getAttributes()
Neuer Konstruktor java.security.KeyStore.SecretKeyEntry(javax.crypto.SecretKey, java.util.Set)
Neue Methode java.security.KeyStore.TrustedCertificateEntry.getAttributes()
Neuer Konstruktor java.security.KeyStore.TrustedCertificateEntry(java.security.cert.Certificate, java.util.Set)
Neuer Typ java.security.DomainLoadStoreParameter
Neue Methode java.security.AccessController.doPrivileged(java.security.PrivilegedAction, 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.doPrivileged(java.security.PrivilegedExceptionAction, 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.cert.X509Certificate.verify(java.security.PublicKey, java.security.Provider)
Neue Methode java.security.cert.X509CRL.verify(java.security.PublicKey, java.security.Provider)
Neuer Typ java.security.cert.PKIXRevocationChecker
Neue Methode java.security.cert.Certificate.verify(java.security.PublicKey, java.security.Provider)
Neue Methode java.security.cert.CertPathValidatorSpi.engineGetRevocationChecker()
Neue Methode java.security.cert.CertPathValidator.getRevocationChecker()
Neuer Typ java.security.cert.CertPathChecker
Neue Methode java.security.cert.CertPathBuilderSpi.engineGetRevocationChecker()
Neue Methode java.security.cert.CertPathBuilder.getRevocationChecker()
Neuer Typ java.security.spec.DSAGenParameterSpec
Neues Attribut java.sql.Types.REF_CURSOR
Neues Attribut java.sql.Types.TIME_WITH_TIMEZONE
Neues Attribut java.sql.Types.TIMESTAMP_WITH_TIMEZONE
Neue Methode java.sql.Timestamp.valueOf(java.time.LocalDateTime)
Neue Methode java.sql.Timestamp.toLocalDateTime()
Neue Methode java.sql.Timestamp.from(java.time.Instant)
Neue Methode java.sql.Timestamp.toInstant()
Neue Methode java.sql.Time.valueOf(java.time.LocalTime)
Neue Methode java.sql.Time.toLocalTime()
Neue Methode java.sql.Statement.getLargeUpdateCount()
Neue Methode java.sql.Statement.setLargeMaxRows(long)
Neue Methode java.sql.Statement.getLargeMaxRows()
Neue Methode java.sql.Statement.executeLargeBatch()
Neue Methode java.sql.Statement.executeLargeUpdate(java.lang.String)
Neue Methode java.sql.Statement.executeLargeUpdate(java.lang.String, int)
Neue Methode java.sql.Statement.executeLargeUpdate(java.lang.String, int[])
Neue Methode java.sql.Statement.executeLargeUpdate(java.lang.String, java.lang.String[])
Neuer Typ java.sql.SQLType
Neue Methode java.sql.SQLOutput.writeObject(java.lang.Object, java.sql.SQLType)
Neue Methode java.sql.SQLInput.readObject(java.lang.Class)
Neue Methode java.sql.ResultSet.updateObject(int, java.lang.Object, java.sql.SQLType, int)
Neue Methode java.sql.ResultSet.updateObject(java.lang.String, java.lang.Object, java.sql.SQLType, int)
Neue Methode java.sql.ResultSet.updateObject(int, java.lang.Object, java.sql.SQLType)
Neue Methode java.sql.ResultSet.updateObject(java.lang.String, java.lang.Object, java.sql.SQLType)
Neue Methode java.sql.PreparedStatement.setObject(int, java.lang.Object, java.sql.SQLType, int)
Neue Methode java.sql.PreparedStatement.setObject(int, java.lang.Object, java.sql.SQLType)
Neue Methode java.sql.PreparedStatement.executeLargeUpdate()
Neuer Typ java.sql.JDBCType
Neuer Typ java.sql.DriverAction
Neue Methode java.sql.DriverAction.deregister()
Neue Methode java.sql.Date.valueOf(java.time.LocalDate)
Neue Methode java.sql.Date.toLocalDate()
Neue Methode java.sql.DatabaseMetaData.getMaxLogicalLobSize()
Neue Methode java.sql.DatabaseMetaData.supportsRefCursors()
Neue Methode java.sql.CallableStatement.setObject(java.lang.String, java.lang.Object, java.sql.SQLType, int)
Neue Methode java.sql.CallableStatement.setObject(java.lang.String, java.lang.Object, java.sql.SQLType)
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, java.lang.String)
Neue Methode java.sql.CallableStatement.registerOutParameter(java.lang.String, java.sql.SQLType)
Neue Methode java.sql.CallableStatement.registerOutParameter(java.lang.String, java.sql.SQLType, int)
Neue Methode java.sql.CallableStatement.registerOutParameter(java.lang.String, java.sql.SQLType, java.lang.String)
Neue Methode java.sql.BatchUpdateException.getLargeUpdateCounts()
Neuer Konstruktor java.sql.BatchUpdateException(java.lang.String, java.lang.String, int, long[], java.lang.Throwable)
Neuer Typ java.time.chrono.ThaiBuddhistEra
Neuer Typ java.time.chrono.ThaiBuddhistDate
Neuer Typ java.time.chrono.ThaiBuddhistChronology
Neuer Typ java.time.chrono.MinguoEra
Neuer Typ java.time.chrono.MinguoDate
Neuer Typ java.time.chrono.MinguoChronology
Neuer Typ java.time.chrono.JapaneseEra
Neuer Typ java.time.chrono.JapaneseDate
Neuer Typ java.time.chrono.JapaneseChronology
Neuer Typ java.time.chrono.IsoEra
Neuer Typ java.time.chrono.IsoChronology
Neuer Typ java.time.chrono.HijrahEra
Neuer Typ java.time.chrono.HijrahDate
Neuer Typ java.time.chrono.HijrahChronology
Neuer Typ java.time.chrono.Era
Neuer Typ java.time.chrono.Chronology
Neuer Typ java.time.chrono.ChronoZonedDateTime
Neuer Typ java.time.chrono.ChronoPeriod
Neuer Typ java.time.chrono.ChronoLocalDateTime
Neuer Typ java.time.chrono.ChronoLocalDate
Neuer Typ java.time.chrono.AbstractChronology
Neuer Typ java.time.ZonedDateTime
Neuer Typ java.time.ZoneOffset
Neuer Typ java.time.ZoneId
Neuer Typ java.time.YearMonth
Neuer Typ java.time.Year
Neuer Typ java.time.Period
Neuer Typ java.time.OffsetTime
Neuer Typ java.time.OffsetDateTime
Neuer Typ java.time.MonthDay
Neuer Typ java.time.Month
Neuer Typ java.time.LocalTime
Neuer Typ java.time.LocalDateTime
Neuer Typ java.time.LocalDate
Neuer Typ java.time.Instant
Neuer Typ java.time.Duration
Neuer Typ java.time.DayOfWeek
Neuer Typ java.time.DateTimeException
Neuer Typ java.time.Clock
Neuer Typ java.time.format.SignStyle
Neuer Typ java.time.format.ResolverStyle
Neuer Typ java.time.format.FormatStyle
Neuer Typ java.time.format.DecimalStyle
Neuer Typ java.time.format.DateTimeParseException
Neuer Typ java.time.format.DateTimeFormatterBuilder
Neuer Typ java.time.format.DateTimeFormatter
Neuer Typ java.time.temporal.WeekFields
Neuer Typ java.time.temporal.ValueRange
Neuer Typ java.time.temporal.UnsupportedTemporalTypeException
Neuer Typ java.time.temporal.TemporalUnit
Neuer Typ java.time.temporal.TemporalQuery
Neuer Typ java.time.temporal.TemporalQueries
Neuer Typ java.time.temporal.TemporalField
Neuer Typ java.time.temporal.TemporalAmount
Neuer Typ java.time.temporal.TemporalAdjusters
Neuer Typ java.time.temporal.TemporalAdjuster
Neuer Typ java.time.temporal.TemporalAccessor
Neuer Typ java.time.temporal.Temporal
Neuer Typ java.time.temporal.JulianFields
Neuer Typ java.time.temporal.IsoFields
Neuer Typ java.time.temporal.ChronoUnit
Neuer Typ java.time.temporal.ChronoField
Neuer Typ java.time.zone.ZoneRulesProvider
Neuer Typ java.time.zone.ZoneRulesException
Neuer Typ java.time.zone.ZoneRules
Neuer Typ java.time.zone.ZoneOffsetTransitionRule
Neuer Typ java.time.zone.ZoneOffsetTransition
Neue Methode java.util.Vector.spliterator()
Neue Methode java.util.TreeSet.spliterator()
Neue Methode java.util.TimeZone.getTimeZone(java.time.ZoneId)
Neue Methode java.util.TimeZone.toZoneId()
Neuer Typ java.util.StringJoiner
Neuer Typ java.util.SplittableRandom
Neuer Typ java.util.Spliterators
Neuer Typ java.util.Spliterators.AbstractSpliterator
Neuer Typ java.util.Spliterators.AbstractIntSpliterator
Neuer Typ java.util.Spliterators.AbstractLongSpliterator
Neuer Typ java.util.Spliterators.AbstractDoubleSpliterator
Neuer Typ java.util.Spliterator
Neuer Typ java.util.Spliterator.OfPrimitive
Neuer Typ java.util.Spliterator.OfInt
Neuer Typ java.util.Spliterator.OfLong
Neuer Typ java.util.Spliterator.OfDouble
Neue Methode java.util.SortedSet.spliterator()
Neue Methode java.util.Set.spliterator()
Neue Methode java.util.ResourceBundle.getBaseBundleName()
Neue Methode java.util.Random.ints(long)
Neue Methode java.util.Random.ints()
Neue Methode java.util.Random.ints(long, int, int)
Neue Methode java.util.Random.ints(int, int)
Neue Methode java.util.Random.longs(long)
Neue Methode java.util.Random.longs()
Neue Methode java.util.Random.longs(long, long, long)
Neue Methode java.util.Random.longs(long, long)
Neue Methode java.util.Random.doubles(long)
Neue Methode java.util.Random.doubles()
Neue Methode java.util.Random.doubles(long, double, double)
Neue Methode java.util.Random.doubles(double, double)
Neue Methode java.util.PriorityQueue.spliterator()
Neuer Konstruktor java.util.PriorityQueue(java.util.Comparator)
Neuer Typ java.util.PrimitiveIterator
Neuer Typ java.util.PrimitiveIterator.OfInt
Neuer Typ java.util.PrimitiveIterator.OfLong
Neuer Typ java.util.PrimitiveIterator.OfDouble
Neuer Typ java.util.OptionalLong
Neuer Typ java.util.OptionalInt
Neuer Typ java.util.OptionalDouble
Neuer Typ java.util.Optional
Neue Methode java.util.Objects.isNull(java.lang.Object)
Neue Methode java.util.Objects.nonNull(java.lang.Object)
Neue Methode java.util.Objects.requireNonNull(T, java.util.function.Supplier)
Neue Methode java.util.Map.getOrDefault(java.lang.Object, V)
Neue Methode java.util.Map.forEach(java.util.function.BiConsumer)
Neue Methode java.util.Map.replaceAll(java.util.function.BiFunction)
Neue Methode java.util.Map.putIfAbsent(K, V)
Neue Methode java.util.Map.remove(java.lang.Object, java.lang.Object)
Neue Methode java.util.Map.replace(K, V, V)
Neue Methode java.util.Map.replace(K, V)
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.compute(K, java.util.function.BiFunction)
Neue Methode java.util.Map.merge(K, V, java.util.function.BiFunction)
Neue Methode java.util.Map.Entry.comparingByKey()
Neue Methode java.util.Map.Entry.comparingByValue()
Neue Methode java.util.Map.Entry.comparingByKey(java.util.Comparator)
Neue Methode java.util.Map.Entry.comparingByValue(java.util.Comparator)
Neuer Typ java.util.LongSummaryStatistics
Neue Methode java.util.Locale.hasExtensions()
Neue Methode java.util.Locale.stripExtensions()
Neue Methode java.util.Locale.filter(java.util.List, java.util.Collection, java.util.Locale.FilteringMode)
Neue Methode java.util.Locale.filter(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.filterTags(java.util.List, java.util.Collection)
Neue Methode java.util.Locale.lookup(java.util.List, java.util.Collection)
Neue Methode java.util.Locale.lookupTag(java.util.List, java.util.Collection)
Neuer Typ java.util.Locale.FilteringMode
Neuer Typ java.util.Locale.LanguageRange
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.LinkedList.spliterator()
Neue Methode java.util.LinkedHashSet.spliterator()
Neue Methode java.util.Iterator.forEachRemaining(java.util.function.Consumer)
Neuer Typ java.util.IntSummaryStatistics
Neue Methode java.util.HashSet.spliterator()
Neue Methode java.util.GregorianCalendar.getCalendarType()
Neue Methode java.util.GregorianCalendar.toZonedDateTime()
Neue Methode java.util.GregorianCalendar.from(java.time.ZonedDateTime)
Neuer Typ java.util.DoubleSummaryStatistics
Neue Methode java.util.Date.from(java.time.Instant)
Neue Methode java.util.Date.toInstant()
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, java.util.Comparator)
Neue Methode java.util.Comparator.thenComparing(java.util.function.Function)
Neue Methode java.util.Comparator.thenComparingInt(java.util.function.ToIntFunction)
Neue Methode java.util.Comparator.thenComparingLong(java.util.function.ToLongFunction)
Neue Methode java.util.Comparator.thenComparingDouble(java.util.function.ToDoubleFunction)
Neue Methode java.util.Comparator.reverseOrder()
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.comparing(java.util.function.Function, java.util.Comparator)
Neue Methode java.util.Comparator.comparing(java.util.function.Function)
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.comparingDouble(java.util.function.ToDoubleFunction)
Neue Methode java.util.Collections.unmodifiableNavigableSet(java.util.NavigableSet)
Neue Methode java.util.Collections.unmodifiableNavigableMap(java.util.NavigableMap)
Neue Methode java.util.Collections.synchronizedNavigableSet(java.util.NavigableSet)
Neue Methode java.util.Collections.synchronizedNavigableMap(java.util.NavigableMap)
Neue Methode java.util.Collections.checkedQueue(java.util.Queue, java.lang.Class)
Neue Methode java.util.Collections.checkedNavigableSet(java.util.NavigableSet, java.lang.Class)
Neue Methode java.util.Collections.checkedNavigableMap(java.util.NavigableMap, java.lang.Class, java.lang.Class)
Neue Methode java.util.Collections.emptySortedSet()
Neue Methode java.util.Collections.emptyNavigableSet()
Neue Methode java.util.Collections.emptySortedMap()
Neue Methode java.util.Collections.emptyNavigableMap()
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.Collection.parallelStream()
Neue Methode java.util.Calendar.getAvailableCalendarTypes()
Neue Methode java.util.Calendar.getCalendarType()
Neue Methode java.util.Calendar.toInstant()
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.LONG_FORMAT
Neues Attribut java.util.Calendar.SHORT_STANDALONE
Neues Attribut java.util.Calendar.LONG_STANDALONE
Neuer Typ java.util.Calendar.Builder
Neue Methode java.util.BitSet.stream()
Neuer Typ java.util.Base64
Neuer Typ java.util.Base64.Encoder
Neuer Typ java.util.Base64.Decoder
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(short[])
Neue Methode java.util.Arrays.parallelSort(short[], 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(float[])
Neue Methode java.util.Arrays.parallelSort(float[], int, int)
Neue Methode java.util.Arrays.parallelSort(double[])
Neue Methode java.util.Arrays.parallelSort(double[], int, int)
Neue Methode java.util.Arrays.parallelSort(T[])
Neue Methode java.util.Arrays.parallelSort(T[], int, int)
Neue Methode java.util.Arrays.parallelSort(T[], java.util.Comparator)
Neue Methode java.util.Arrays.parallelSort(T[], int, int, java.util.Comparator)
Neue Methode java.util.Arrays.parallelPrefix(T[], java.util.function.BinaryOperator)
Neue Methode java.util.Arrays.parallelPrefix(T[], int, int, java.util.function.BinaryOperator)
Neue Methode java.util.Arrays.parallelPrefix(long[], java.util.function.LongBinaryOperator)
Neue Methode java.util.Arrays.parallelPrefix(long[], int, int, java.util.function.LongBinaryOperator)
Neue Methode java.util.Arrays.parallelPrefix(double[], java.util.function.DoubleBinaryOperator)
Neue Methode java.util.Arrays.parallelPrefix(double[], int, int, java.util.function.DoubleBinaryOperator)
Neue Methode java.util.Arrays.parallelPrefix(int[], java.util.function.IntBinaryOperator)
Neue Methode java.util.Arrays.parallelPrefix(int[], int, int, java.util.function.IntBinaryOperator)
Neue Methode java.util.Arrays.setAll(T[], java.util.function.IntFunction)
Neue Methode java.util.Arrays.parallelSetAll(T[], java.util.function.IntFunction)
Neue Methode java.util.Arrays.setAll(int[], java.util.function.IntUnaryOperator)
Neue Methode java.util.Arrays.parallelSetAll(int[], java.util.function.IntUnaryOperator)
Neue Methode java.util.Arrays.setAll(long[], java.util.function.IntToLongFunction)
Neue Methode java.util.Arrays.parallelSetAll(long[], java.util.function.IntToLongFunction)
Neue Methode java.util.Arrays.setAll(double[], java.util.function.IntToDoubleFunction)
Neue Methode java.util.Arrays.parallelSetAll(double[], java.util.function.IntToDoubleFunction)
Neue Methode java.util.Arrays.spliterator(T[])
Neue Methode java.util.Arrays.spliterator(T[], 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.spliterator(double[])
Neue Methode java.util.Arrays.spliterator(double[], int, int)
Neue Methode java.util.Arrays.stream(T[])
Neue Methode java.util.Arrays.stream(T[], 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.Arrays.stream(double[])
Neue Methode java.util.Arrays.stream(double[], int, int)
Neue Methode java.util.ArrayList.spliterator()
Neue Methode java.util.ArrayDeque.spliterator()
Neue Methode java.util.concurrent.ThreadLocalRandom.ints(long)
Neue Methode java.util.concurrent.ThreadLocalRandom.ints()
Neue Methode java.util.concurrent.ThreadLocalRandom.ints(long, int, int)
Neue Methode java.util.concurrent.ThreadLocalRandom.ints(int, int)
Neue Methode java.util.concurrent.ThreadLocalRandom.longs(long)
Neue Methode java.util.concurrent.ThreadLocalRandom.longs()
Neue Methode java.util.concurrent.ThreadLocalRandom.longs(long, long, long)
Neue Methode java.util.concurrent.ThreadLocalRandom.longs(long, long)
Neue Methode java.util.concurrent.ThreadLocalRandom.doubles(long)
Neue Methode java.util.concurrent.ThreadLocalRandom.doubles()
Neue Methode java.util.concurrent.ThreadLocalRandom.doubles(long, double, double)
Neue Methode java.util.concurrent.ThreadLocalRandom.doubles(double, double)
Neue Methode java.util.concurrent.SynchronousQueue.spliterator()
Neue Methode java.util.concurrent.PriorityBlockingQueue.spliterator()
Neue Methode java.util.concurrent.LinkedTransferQueue.spliterator()
Neue Methode java.util.concurrent.LinkedBlockingQueue.spliterator()
Neue Methode java.util.concurrent.LinkedBlockingDeque.spliterator()
Neue Methode java.util.concurrent.ForkJoinTask.quietlyComplete()
Neue Methode java.util.concurrent.ForkJoinTask.getForkJoinTaskTag()
Neue Methode java.util.concurrent.ForkJoinTask.setForkJoinTaskTag(short)
Neue Methode java.util.concurrent.ForkJoinTask.compareAndSetForkJoinTaskTag(short, short)
Neue Methode java.util.concurrent.ForkJoinPool.commonPool()
Neue Methode java.util.concurrent.ForkJoinPool.getCommonPoolParallelism()
Neue Methode java.util.concurrent.Executors.newWorkStealingPool(int)
Neue Methode java.util.concurrent.Executors.newWorkStealingPool()
Neuer Typ java.util.concurrent.CountedCompleter
Neue Methode java.util.concurrent.CopyOnWriteArraySet.spliterator()
Neue Methode java.util.concurrent.CopyOnWriteArrayList.spliterator()
Neue Methode java.util.concurrent.ConcurrentSkipListSet.spliterator()
Neue Methode java.util.concurrent.ConcurrentSkipListMap.getOrDefault(java.lang.Object, V)
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.compute(K, java.util.function.BiFunction)
Neue Methode java.util.concurrent.ConcurrentSkipListMap.merge(K, V, java.util.function.BiFunction)
Neue Methode java.util.concurrent.ConcurrentLinkedQueue.spliterator()
Neue Methode java.util.concurrent.ConcurrentLinkedDeque.spliterator()
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.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.search(long, java.util.function.BiFunction)
Neue Methode java.util.concurrent.ConcurrentHashMap.reduce(long, java.util.function.BiFunction, java.util.function.BiFunction)
Neue Methode java.util.concurrent.ConcurrentHashMap.reduceToDouble(long, java.util.function.ToDoubleBiFunction, double, java.util.function.DoubleBinaryOperator)
Neue Methode java.util.concurrent.ConcurrentHashMap.reduceToLong(long, java.util.function.ToLongBiFunction, long, java.util.function.LongBinaryOperator)
Neue Methode java.util.concurrent.ConcurrentHashMap.reduceToInt(long, java.util.function.ToIntBiFunction, int, java.util.function.IntBinaryOperator)
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.searchKeys(long, java.util.function.Function)
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.reduceKeysToLong(long, java.util.function.ToLongFunction, long, java.util.function.LongBinaryOperator)
Neue Methode java.util.concurrent.ConcurrentHashMap.reduceKeysToInt(long, java.util.function.ToIntFunction, int, java.util.function.IntBinaryOperator)
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.searchValues(long, java.util.function.Function)
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.reduceValuesToLong(long, java.util.function.ToLongFunction, long, java.util.function.LongBinaryOperator)
Neue Methode java.util.concurrent.ConcurrentHashMap.reduceValuesToInt(long, java.util.function.ToIntFunction, int, java.util.function.IntBinaryOperator)
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.searchEntries(long, java.util.function.Function)
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.reduceEntriesToLong(long, java.util.function.ToLongFunction, long, java.util.function.LongBinaryOperator)
Neue Methode java.util.concurrent.ConcurrentHashMap.reduceEntriesToInt(long, java.util.function.ToIntFunction, int, java.util.function.IntBinaryOperator)
Neuer Typ java.util.concurrent.ConcurrentHashMap.KeySetView
Neuer Typ java.util.concurrent.CompletionStage
Neuer Typ java.util.concurrent.CompletionException
Neuer Typ java.util.concurrent.CompletableFuture
Neuer Typ java.util.concurrent.CompletableFuture.AsynchronousCompletionTask
Neue Methode java.util.concurrent.ArrayBlockingQueue.spliterator()
Neuer Typ java.util.concurrent.atomic.LongAdder
Neuer Typ java.util.concurrent.atomic.LongAccumulator
Neuer Typ java.util.concurrent.atomic.DoubleAdder
Neuer Typ java.util.concurrent.atomic.DoubleAccumulator
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.AtomicReferenceFieldUpdater.getAndAccumulate(T, V, java.util.function.BinaryOperator)
Neue Methode java.util.concurrent.atomic.AtomicReferenceFieldUpdater.accumulateAndGet(T, V, 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.AtomicReferenceArray.getAndAccumulate(int, E, java.util.function.BinaryOperator)
Neue Methode java.util.concurrent.atomic.AtomicReferenceArray.accumulateAndGet(int, E, 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.AtomicReference.getAndAccumulate(V, java.util.function.BinaryOperator)
Neue Methode java.util.concurrent.atomic.AtomicReference.accumulateAndGet(V, java.util.function.BinaryOperator)
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.AtomicLongFieldUpdater.getAndAccumulate(T, long, java.util.function.LongBinaryOperator)
Neue Methode java.util.concurrent.atomic.AtomicLongFieldUpdater.accumulateAndGet(T, 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.AtomicLongArray.getAndAccumulate(int, long, java.util.function.LongBinaryOperator)
Neue Methode java.util.concurrent.atomic.AtomicLongArray.accumulateAndGet(int, 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.AtomicLong.getAndAccumulate(long, java.util.function.LongBinaryOperator)
Neue Methode java.util.concurrent.atomic.AtomicLong.accumulateAndGet(long, java.util.function.LongBinaryOperator)
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.AtomicIntegerFieldUpdater.getAndAccumulate(T, int, java.util.function.IntBinaryOperator)
Neue Methode java.util.concurrent.atomic.AtomicIntegerFieldUpdater.accumulateAndGet(T, 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.AtomicIntegerArray.getAndAccumulate(int, int, java.util.function.IntBinaryOperator)
Neue Methode java.util.concurrent.atomic.AtomicIntegerArray.accumulateAndGet(int, 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.AtomicInteger.getAndAccumulate(int, java.util.function.IntBinaryOperator)
Neue Methode java.util.concurrent.atomic.AtomicInteger.accumulateAndGet(int, java.util.function.IntBinaryOperator)
Neuer Typ java.util.concurrent.locks.StampedLock
Neuer Typ java.util.function.UnaryOperator
Neuer Typ java.util.function.ToLongFunction
Neuer Typ java.util.function.ToLongBiFunction
Neuer Typ java.util.function.ToIntFunction
Neuer Typ java.util.function.ToIntBiFunction
Neuer Typ java.util.function.ToDoubleFunction
Neuer Typ java.util.function.ToDoubleBiFunction
Neuer Typ java.util.function.Supplier
Neuer Typ java.util.function.Predicate
Neuer Typ java.util.function.ObjLongConsumer
Neuer Typ java.util.function.ObjIntConsumer
Neuer Typ java.util.function.ObjDoubleConsumer
Neuer Typ java.util.function.LongUnaryOperator
Neuer Typ java.util.function.LongToIntFunction
Neuer Typ java.util.function.LongToDoubleFunction
Neuer Typ java.util.function.LongSupplier
Neuer Typ java.util.function.LongPredicate
Neuer Typ java.util.function.LongFunction
Neuer Typ java.util.function.LongConsumer
Neuer Typ java.util.function.LongBinaryOperator
Neuer Typ java.util.function.IntUnaryOperator
Neuer Typ java.util.function.IntToLongFunction
Neuer Typ java.util.function.IntToDoubleFunction
Neuer Typ java.util.function.IntSupplier
Neuer Typ java.util.function.IntPredicate
Neuer Typ java.util.function.IntFunction
Neuer Typ java.util.function.IntConsumer
Neuer Typ java.util.function.IntBinaryOperator
Neuer Typ java.util.function.Function
Neuer Typ java.util.function.DoubleUnaryOperator
Neuer Typ java.util.function.DoubleToLongFunction
Neuer Typ java.util.function.DoubleToIntFunction
Neuer Typ java.util.function.DoubleSupplier
Neuer Typ java.util.function.DoublePredicate
Neuer Typ java.util.function.DoubleFunction
Neuer Typ java.util.function.DoubleConsumer
Neuer Typ java.util.function.DoubleBinaryOperator
Neuer Typ java.util.function.Consumer
Neuer Typ java.util.function.BooleanSupplier
Neuer Typ java.util.function.BinaryOperator
Neuer Typ java.util.function.BiPredicate
Neuer Typ java.util.function.BiFunction
Neuer Typ java.util.function.BiConsumer
Neue Methode java.util.logging.Logger.log(java.util.logging.Level, java.lang.Throwable, java.util.function.Supplier)
Neue Methode java.util.logging.Logger.logp(java.util.logging.Level, java.lang.String, java.lang.String, java.util.function.Supplier)
Neue Methode java.util.logging.Logger.logp(java.util.logging.Level, java.lang.String, java.lang.String, java.lang.Throwable, java.util.function.Supplier)
Neue Methode java.util.logging.Logger.logrb(java.util.logging.Level, java.lang.String, java.lang.String, java.util.ResourceBundle, java.lang.String, java.lang.Object[])
Neue Methode java.util.logging.Logger.logrb(java.util.logging.Level, java.lang.String, java.lang.String, java.util.ResourceBundle, java.lang.String, java.lang.Throwable)
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.logging.Logger.info(java.util.function.Supplier)
Neue Methode 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.setResourceBundle(java.util.ResourceBundle)
Neue Methode java.util.regex.Pattern.asPredicate()
Neue Methode java.util.regex.Pattern.splitAsStream(java.lang.CharSequence)
Neue Methode java.util.regex.Matcher.start(java.lang.String)
Neue Methode java.util.regex.Matcher.end(java.lang.String)
Neue Methode java.util.spi.TimeZoneNameProvider.getGenericDisplayName(java.lang.String, int, java.util.Locale)
Neuer Typ java.util.spi.ResourceBundleControlProvider
Neue Methode java.util.spi.LocaleServiceProvider.isSupportedLocale(java.util.Locale)
Neuer Typ java.util.spi.CalendarNameProvider
Neuer Typ java.util.spi.CalendarDataProvider
Neuer Typ java.util.stream.StreamSupport
Neuer Typ java.util.stream.Stream
Neuer Typ java.util.stream.Stream.Builder
Neuer Typ java.util.stream.LongStream
Neuer Typ java.util.stream.LongStream.Builder
Neuer Typ java.util.stream.IntStream
Neuer Typ java.util.stream.IntStream.Builder
Neuer Typ java.util.stream.DoubleStream
Neuer Typ java.util.stream.DoubleStream.Builder
Neuer Typ java.util.stream.Collectors
Neuer Typ java.util.stream.Collector
Neuer Typ java.util.stream.BaseStream
Neue Methode java.util.zip.ZipFile.stream()
Neue Methode java.util.zip.ZipEntry.setLastModifiedTime(java.nio.file.attribute.FileTime)
Neue Methode java.util.zip.ZipEntry.getLastModifiedTime()
Neue Methode java.util.zip.ZipEntry.setLastAccessTime(java.nio.file.attribute.FileTime)
Neue Methode java.util.zip.ZipEntry.getLastAccessTime()
Neue Methode java.util.zip.ZipEntry.setCreationTime(java.nio.file.attribute.FileTime)
Neue Methode java.util.zip.ZipEntry.getCreationTime()
Neue Methode java.util.zip.CRC32.update(java.nio.ByteBuffer)
Neue Methode java.util.zip.Adler32.update(java.nio.ByteBuffer)
Neues Attribut javax.lang.model.SourceVersion.RELEASE_8
Neuer Typ javax.lang.model.AnnotatedConstruct
Neues Attribut javax.lang.model.element.Modifier.DEFAULT
Neue Methode javax.lang.model.element.ExecutableElement.getReceiverType()
Neue Methode javax.lang.model.element.ExecutableElement.isDefault()
Neue Methode javax.lang.model.type.TypeVisitor.visitIntersection(javax.lang.model.type.IntersectionType, P)
Neues Attribut javax.lang.model.type.TypeKind.INTERSECTION
Neuer Typ javax.lang.model.type.IntersectionType
Neue Methode javax.lang.model.type.ExecutableType.getReceiverType()
Neuer Typ javax.lang.model.util.TypeKindVisitor8
Neuer Typ javax.lang.model.util.SimpleTypeVisitor8
Neuer Typ javax.lang.model.util.SimpleElementVisitor8
Neuer Typ javax.lang.model.util.SimpleAnnotationValueVisitor8
Neue Methode javax.lang.model.util.Elements.isFunctionalInterface(javax.lang.model.element.TypeElement)
Neuer Typ javax.lang.model.util.ElementScanner8
Neuer Typ javax.lang.model.util.ElementKindVisitor8
Neuer Typ javax.lang.model.util.AbstractTypeVisitor8
Neue Methode javax.lang.model.util.AbstractTypeVisitor6.visitIntersection(javax.lang.model.type.IntersectionType, P)
Neuer Typ javax.lang.model.util.AbstractElementVisitor8
Neuer Typ javax.lang.model.util.AbstractAnnotationValueVisitor8
Neue Methode javax.security.auth.kerberos.KeyTab.getUnboundInstance(java.io.File)
Neue Methode javax.security.auth.kerberos.KeyTab.getInstance(javax.security.auth.kerberos.KerberosPrincipal, java.io.File)
Neue Methode javax.security.auth.kerberos.KeyTab.getUnboundInstance()
Neue Methode javax.security.auth.kerberos.KeyTab.getInstance(javax.security.auth.kerberos.KerberosPrincipal)
Neue Methode javax.security.auth.kerberos.KeyTab.getPrincipal()
Neue Methode javax.security.auth.kerberos.KeyTab.isBound()
Neues Attribut javax.tools.StandardLocation.NATIVE_HEADER_OUTPUT
Neuer Typ javax.xml.validation.SchemaFactoryConfigurationError