New APIs in Java 21
Comparing Java 21 (21.0.7+6-LTS-tem) with Java 19 (19.0.2+7-tem).
Element | Modification |
---|---|
java.base | |
java.io | |
BufferedInputStream | |
| |
PushbackInputStream | |
SequenceInputStream | |
java.lang.constant | |
ConstantDescs | |
ClassDesc | |
MethodHandleDesc | |
MethodTypeDesc | |
| |
java.lang.foreign | |
ValueLayout.OfAddress |
|
Addressable | |
| |
| |
| |
asVariadic(MemoryLayout...) | |
| |
| |
equals(Object) | |
firstVariadicArgumentIndex() | |
hashCode() | |
| |
| |
toString() | |
| |
equals(Object) | |
hashCode() | |
isStruct() | |
isUnion() | |
| |
toString() | |
withBitAlignment(long) | |
| |
Linker | |
downcallHandle(Addressable, FunctionDescriptor) | |
downcallHandle(FunctionDescriptor) | |
downcallType(FunctionDescriptor) | |
upcallStub(MethodHandle, FunctionDescriptor,... | |
upcallType(FunctionDescriptor) | |
MemoryAddress | |
MemoryLayout.PathElement | |
MemoryLayout | |
bitAlignment() | |
bitOffset(MemoryLayout.PathElement...) | |
bitOffsetHandle(MemoryLayout.PathElement...) | |
bitSize() | |
| |
isPadding() | |
paddingLayout(long) | |
structLayout(MemoryLayout...) | |
unionLayout(MemoryLayout...) | |
valueLayout(Class, ByteOrder) | |
withBitAlignment(long) | |
| |
address() | |
allocateNative(MemoryLayout, MemorySession) | |
allocateNative(long, MemorySession) | |
allocateNative(long, long, MemorySession) | |
| |
get(ValueLayout.OfAddress, long) | |
getAtIndex(ValueLayout.OfAddress, long) | |
| |
ofAddress(MemoryAddress, long, MemorySession) | |
session() | |
set(ValueLayout.OfAddress, long, Addressable) | |
setAtIndex(ValueLayout.OfAddress, long,... | |
MemorySession | |
SegmentAllocator | |
allocate(ValueLayout.OfAddress, Addressable) | |
implicitAllocator() | |
newNativeArena(MemorySession) | |
newNativeArena(long, MemorySession) | |
newNativeArena(long, long, MemorySession) | |
| |
| |
| |
equals(Object) | |
| |
hashCode() | |
| |
toString() | |
withBitAlignment(long) | |
| |
| |
SymbolLookup | |
libraryLookup(Path, MemorySession) | |
libraryLookup(String, MemorySession) | |
lookup(String) | |
VaList.Builder | |
VaList | |
| |
withBitAlignment(long) | |
| |
| |
| |
withBitAlignment(long) | |
| |
| |
| |
withBitAlignment(long) | |
| |
| |
| |
withBitAlignment(long) | |
| |
| |
| |
withBitAlignment(long) | |
| |
| |
| |
withBitAlignment(long) | |
| |
| |
| |
withBitAlignment(long) | |
| |
| |
| |
withBitAlignment(long) | |
| |
| |
| |
| |
| |
equals(Object) | |
hashCode() | |
| |
toString() | |
withBitAlignment(long) | |
| |
| |
java.lang.invoke | |
ClassSpecializer.Factory | |
ClassSpecializer.SpeciesData | |
StringConcatFactory | |
VarHandle | |
| |
java.lang.module | |
ModuleDescriptor.Exports | |
ModuleDescriptor.Opens | |
ModuleDescriptor.Requires | |
ModuleDescriptor | |
java.lang.reflect | |
Executable | |
| |
Field | |
Parameter | |
Member | |
java.lang.runtime | |
| |
java.lang | |
Character.UnicodeBlock | |
Character | |
Class | |
Compiler | |
FdLibm.Cbrt | |
FdLibm.Hypot | |
FdLibm.Pow | |
Float | |
| |
Math | |
ModuleLayer.Controller | |
Module | |
StrictMath | |
| |
| |
String | |
| |
ThreadGroup | |
allowThreadSuspension(boolean) | |
Thread | |
| |
| |
| |
| |
Character.UnicodeScript | |
| |
allowSetThreadLocals(boolean) | |
| |
allowSetThreadLocals(boolean) | |
| |
allowSetThreadLocals(boolean) | |
java.net | |
URL | |
| |
| |
| |
| |
| |
| |
java.nio.channels | |
FileChannel | |
map(FileChannel.MapMode, long, long,... | |
java.nio.file.spi | |
FileSystemProvider | |
java.security.interfaces | |
DSAKeyPairGenerator | |
| |
| |
java.security | |
InvalidParameterException | |
java.util.concurrent | |
ConcurrentSkipListMap | |
ConcurrentSkipListSet | |
CopyOnWriteArrayList | |
DelayQueue | |
Executors | |
| |
| |
ForkJoinPool | |
ForkJoinWorkerThread | |
java.util.regex | |
Matcher | |
Pattern | |
MatchResult | |
java.util.zip | |
ZipInputStream | |
java.util | |
ArrayList | |
| |
Collections | |
IdentityHashMap | |
| |
| |
LinkedList | |
Locale | |
TreeMap | |
TreeSet | |
| |
| |
NavigableMap | |
NavigableSet | |
| |
| |
javax.crypto | |
javax.net.ssl | |
KeyManagerFactory | |
| |
SSLParameters | |
TrustManagerFactory | |
| |
java.compiler | |
javax.lang.model.element | |
TypeElement | |
VariableElement | |
javax.lang.model.util | |
Elements | |
javax.lang.model | |
SourceVersion | |
java.desktop | |
javax.swing.plaf.synth | |
SynthComboBoxUI | |
SynthLookAndFeel | |
| |
SynthPasswordFieldUI | |
javax.swing.text.html | |
AccessibleHTML.HTMLAccessibleContext | |
javax.swing.text | |
DefaultEditorKit | |
java.management.rmi | |
javax.management.remote.rmi | |
RMIIIOPServerImpl | |
java.management | |
javax.management.loading | |
| |
| |
| |
| |
javax.management.remote | |
JMXConnector | |
| |
java.net.http | |
java.net.http | |
| |
java.xml.crypto | |
javax.xml.crypto.dsig | |
SignatureMethod | |
This report is based on simple comparison of all public
and
protected
APIs of the java.*
and javax.*
packages of JDK builds 21.0.7+6-LTS-tem and
19.0.2+7-tem. It does not make statements about
compatibility.
For the latest Java versions the corresponding CSRs (Compatibility & Specification Review) are linked for a quick reference to find out about the reasoning of the change.