New APIs in Java 24
Comparing Java 24 (24-ea+29-3578-open) with Java 23 (23.0.1+11-tem).
Element | Modification |
---|---|
java.base |
|
java.io |
|
Console |
|
IO |
|
ObjectInputStream |
|
|
|
|
|
ObjectOutputStream |
|
|
|
|
|
Reader |
|
|
|
|
|
ITEM_DOUBLE |
|
ITEM_FLOAT |
|
ITEM_INTEGER |
|
ITEM_LONG |
|
ITEM_NULL |
|
ITEM_TOP |
|
ITEM_UNINITIALIZED_THIS |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
build() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
java.lang.classfile.components |
|
|
|
|
|
|
|
|
|
|
|
|
|
annotationConstantValueEntry(ConstantDesc) |
|
writeBootstrapMethods(BufWriter) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
tag() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
writeTo(BufWriter) |
|
|
|
writeTo(BufWriter) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
attributeName() |
|
writeTo(BufWriter) |
|
|
|
|
|
DROP_UNSTABLE_ATRIBUTES |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
constantValue() |
|
isUnconditionalBranch() |
|
primaryTypeKind() |
|
secondaryTypeKind() |
|
slot() |
|
|
|
|
|
|
|
|
|
BooleanType |
|
ByteType |
|
CharType |
|
DoubleType |
|
FloatType |
|
IntType |
|
LongType |
|
ReferenceType |
|
ShortType |
|
VoidType |
|
descriptor() |
|
typeName() |
|
|
|
ofClass(AccessFlag...) |
|
ofClass(int) |
|
ofField(AccessFlag...) |
|
ofField(int) |
|
ofMethod(AccessFlag...) |
|
ofMethod(int) |
|
|
|
|
|
|
|
|
|
|
|
AnnotationValue.OfCharacter |
|
|
|
|
|
constantValue() |
|
|
|
|
|
|
|
AnnotationValue.OfInteger |
|
|
|
|
|
|
|
|
|
ofBoolean(IntegerEntry) |
|
ofBoolean(boolean) |
|
ofByte(IntegerEntry) |
|
ofByte(byte) |
|
ofChar(IntegerEntry) |
|
ofChar(char) |
|
ofDouble(DoubleEntry) |
|
ofDouble(double) |
|
ofFloat(FloatEntry) |
|
ofFloat(float) |
|
ofInt(IntegerEntry) |
|
ofInt(int) |
|
ofLong(LongEntry) |
|
ofLong(long) |
|
ofShort(IntegerEntry) |
|
ofShort(short) |
|
ofString(String) |
|
ofString(Utf8Entry) |
|
tag() |
|
|
|
|
|
readAttribute(AttributedElement, ClassReader, int) |
|
writeAttribute(BufWriter, Object) |
|
|
|
attributeName() |
|
|
|
|
|
|
|
copyTo(byte[], int) |
|
writeBytes(BufWriter) |
|
writeList(List) |
|
writeListIndices(List) |
|
|
|
original() |
|
|
|
|
|
|
|
|
|
|
|
canWriteDirect(ConstantPool) |
|
transform(CompoundElement, ClassFileTransform) |
|
|
|
ClassFileTransform.ResolvedTransform |
|
|
|
resolve(ClassFileBuilder) |
|
|
|
|
|
AALOAD |
|
AASTORE |
|
ACONST_NULL |
|
AEV_ANNOTATION |
|
AEV_ARRAY |
|
AEV_BOOLEAN |
|
AEV_BYTE |
|
AEV_CHAR |
|
AEV_CLASS |
|
AEV_DOUBLE |
|
AEV_ENUM |
|
AEV_FLOAT |
|
AEV_INT |
|
AEV_LONG |
|
AEV_SHORT |
|
AEV_STRING |
|
ALOAD |
|
ALOAD_0 |
|
ALOAD_1 |
|
ALOAD_2 |
|
ALOAD_3 |
|
ANEWARRAY |
|
ARETURN |
|
ARRAYLENGTH |
|
ASTORE |
|
ASTORE_0 |
|
ASTORE_1 |
|
ASTORE_2 |
|
ASTORE_3 |
|
ATHROW |
|
BALOAD |
|
BASTORE |
|
BIPUSH |
|
CALOAD |
|
CASTORE |
|
CHECKCAST |
|
CRT_ASSIGNMENT |
|
CRT_BLOCK |
|
CRT_BRANCH_FALSE |
|
CRT_BRANCH_TRUE |
|
CRT_CREATE |
|
CRT_FLOW_CONTROLLER |
|
CRT_FLOW_TARGET |
|
CRT_INVOKE |
|
CRT_STATEMENT |
|
D2F |
|
D2I |
|
D2L |
|
DADD |
|
DALOAD |
|
DASTORE |
|
DCMPG |
|
DCMPL |
|
DCONST_0 |
|
DCONST_1 |
|
DDIV |
|
DEFAULT_CLASS_FLAGS |
|
DLOAD |
|
DLOAD_0 |
|
DLOAD_1 |
|
DLOAD_2 |
|
DLOAD_3 |
|
DMUL |
|
DNEG |
|
DREM |
|
DRETURN |
|
DSTORE |
|
DSTORE_0 |
|
DSTORE_1 |
|
DSTORE_2 |
|
DSTORE_3 |
|
DSUB |
|
DUP2 |
|
DUP2_X1 |
|
DUP2_X2 |
|
DUP |
|
DUP_X1 |
|
DUP_X2 |
|
F2D |
|
F2I |
|
F2L |
|
FADD |
|
FALOAD |
|
FASTORE |
|
FCMPG |
|
FCMPL |
|
FCONST_0 |
|
FCONST_1 |
|
FCONST_2 |
|
FDIV |
|
FLOAD |
|
FLOAD_0 |
|
FLOAD_1 |
|
FLOAD_2 |
|
FLOAD_3 |
|
FMUL |
|
FNEG |
|
FREM |
|
FRETURN |
|
FSTORE |
|
FSTORE_0 |
|
FSTORE_1 |
|
FSTORE_2 |
|
FSTORE_3 |
|
FSUB |
|
GETFIELD |
|
GETSTATIC |
|
GOTO |
|
GOTO_W |
|
I2B |
|
I2C |
|
I2D |
|
I2F |
|
I2L |
|
I2S |
|
IADD |
|
IALOAD |
|
IAND |
|
IASTORE |
|
ICONST_0 |
|
ICONST_1 |
|
ICONST_2 |
|
ICONST_3 |
|
ICONST_4 |
|
ICONST_5 |
|
ICONST_M1 |
|
IDIV |
|
IFEQ |
|
IFGE |
|
IFGT |
|
IFLE |
|
IFLT |
|
IFNE |
|
IFNONNULL |
|
IFNULL |
|
IF_ACMPEQ |
|
IF_ACMPNE |
|
IF_ICMPEQ |
|
IF_ICMPGE |
|
IF_ICMPGT |
|
IF_ICMPLE |
|
IF_ICMPLT |
|
IF_ICMPNE |
|
IINC |
|
ILOAD |
|
ILOAD_0 |
|
ILOAD_1 |
|
ILOAD_2 |
|
ILOAD_3 |
|
IMUL |
|
INEG |
|
INSTANCEOF |
|
INVOKEDYNAMIC |
|
INVOKEINTERFACE |
|
INVOKESPECIAL |
|
INVOKESTATIC |
|
INVOKEVIRTUAL |
|
IOR |
|
IREM |
|
IRETURN |
|
ISHL |
|
ISHR |
|
ISTORE |
|
ISTORE_0 |
|
ISTORE_1 |
|
ISTORE_2 |
|
ISTORE_3 |
|
ISUB |
|
IUSHR |
|
IXOR |
|
JSR |
|
JSR_W |
|
L2D |
|
L2F |
|
L2I |
|
LADD |
|
LALOAD |
|
LAND |
|
LASTORE |
|
LCMP |
|
LCONST_0 |
|
LCONST_1 |
|
LDC2_W |
|
LDC |
|
LDC_W |
|
LDIV |
|
LLOAD |
|
LLOAD_0 |
|
LLOAD_1 |
|
LLOAD_2 |
|
LLOAD_3 |
|
LMUL |
|
LNEG |
|
LOOKUPSWITCH |
|
LOR |
|
LREM |
|
LRETURN |
|
LSHL |
|
LSHR |
|
LSTORE |
|
LSTORE_0 |
|
LSTORE_1 |
|
LSTORE_2 |
|
LSTORE_3 |
|
LSUB |
|
LUSHR |
|
LXOR |
|
MONITORENTER |
|
MONITOREXIT |
|
MULTIANEWARRAY |
|
NEWARRAY |
|
NEW |
|
NOP |
|
POP2 |
|
POP |
|
PUTFIELD |
|
PUTSTATIC |
|
RETURN |
|
RET |
|
SALOAD |
|
SASTORE |
|
SIPUSH |
|
SWAP |
|
TABLESWITCH |
|
TAG_CLASS |
|
TAG_CONSTANTDYNAMIC |
|
TAG_DOUBLE |
|
TAG_FIELDREF |
|
TAG_FLOAT |
|
TAG_INTEGER |
|
TAG_INTERFACEMETHODREF |
|
TAG_INVOKEDYNAMIC |
|
TAG_LONG |
|
TAG_METHODHANDLE |
|
TAG_METHODREF |
|
TAG_METHODTYPE |
|
TAG_MODULE |
|
TAG_NAMEANDTYPE |
|
TAG_PACKAGE |
|
TAG_STRING |
|
TAG_UNICODE |
|
TAG_UTF8 |
|
TAT_CAST |
|
TAT_CLASS_EXTENDS |
|
TAT_CLASS_TYPE_PARAMETER |
|
TAT_CLASS_TYPE_PARAMETER_BOUND |
|
TAT_CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT |
|
TAT_CONSTRUCTOR_REFERENCE |
|
TAT_CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT |
|
TAT_EXCEPTION_PARAMETER |
|
TAT_FIELD |
|
TAT_INSTANCEOF |
|
TAT_LOCAL_VARIABLE |
|
TAT_METHOD_FORMAL_PARAMETER |
|
TAT_METHOD_INVOCATION_TYPE_ARGUMENT |
|
TAT_METHOD_RECEIVER |
|
TAT_METHOD_REFERENCE |
|
TAT_METHOD_REFERENCE_TYPE_ARGUMENT |
|
TAT_METHOD_RETURN |
|
TAT_METHOD_TYPE_PARAMETER |
|
TAT_METHOD_TYPE_PARAMETER_BOUND |
|
TAT_NEW |
|
TAT_RESOURCE_VARIABLE |
|
TAT_THROWS |
|
VT_DOUBLE |
|
VT_FLOAT |
|
VT_INTEGER |
|
VT_LONG |
|
VT_NULL |
|
VT_OBJECT |
|
VT_TOP |
|
VT_UNINITIALIZED |
|
VT_UNINITIALIZED_THIS |
|
WIDE |
|
transform(ClassModel, ClassDesc, ClassTransform) |
|
transform(ClassModel, ClassEntry, ClassTransform) |
|
transform(ClassModel, ClassTransform) |
|
|
|
|
|
|
|
|
|
compare(BufWriter, int, int, int) |
|
readClassEntry(int) |
|
readMethodHandleEntry(int) |
|
readModuleEntry(int) |
|
readNameAndTypeEntry(int) |
|
readPackageEntry(int) |
|
readUtf8Entry(int) |
|
readUtf8EntryOrNull(int) |
|
|
|
|
|
resolve(ClassBuilder) |
|
|
|
|
|
|
|
if_nonnull(Label) |
|
if_null(Label) |
|
loadConstant(Opcode, ConstantDesc) |
|
original() |
|
|
|
|
|
maxLocals() |
|
maxStack() |
|
|
|
resolve(CodeBuilder) |
|
|
|
elements() |
|
forEachElement(Consumer) |
|
|
|
|
|
original() |
|
|
|
|
|
|
|
resolve(FieldBuilder) |
|
|
|
|
|
|
|
|
|
original() |
|
|
|
|
|
|
|
|
|
resolve(MethodBuilder) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
of(TypeAnnotation.TargetInfo, List, ClassDesc,... |
|
of(TypeAnnotation.TargetInfo, List, ClassDesc,... |
|
of(TypeAnnotation.TargetInfo, List, Utf8Entry,... |
|
of(TypeAnnotation.TargetInfo, List, Utf8Entry,... |
|
WritableElement |
|
java.lang.constant |
|
ClassDesc |
|
|
|
|
|
|
|
java.lang.reflect |
|
ClassFileFormatVersion |
|
java.lang |
|
Character.UnicodeBlock |
|
Class |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Process |
|
ScopedValue |
|
callWhere(ScopedValue, Object,... |
|
runWhere(ScopedValue, Object, Runnable) |
|
SecurityManager |
|
|
|
Character.UnicodeScript |
|
java.security.spec |
|
NamedParameterSpec |
|
java.util.stream |
|
|
|
|
|
|
|
|
|
|
|
Stream |
|
|
|
java.util.zip |
|
|
|
javax.crypto.spec |
|
javax.crypto |
|
java.compiler |
|
javax.lang.model |
|
SourceVersion |
|
java.desktop |
|
java.awt.peer |
|
WindowPeer |
|
repositionSecurityWarning() |
|
java.awt |
|
|
|
KeyboardFocusManager |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Window |
|
|
|
|
|
java.beans |
|
Beans |
|
|
|
|
|
javax.sound.sampled |
|
|
|
javax.swing.plaf.basic |
|
BasicSplitPaneDivider |
|
javax.swing |
|
FocusManager |
|
|
|
JInternalFrame |
|
|
|
JSplitPane |
|
UIManager |
|
|
|
java.logging |
|
java.util.logging |
|
FileHandler |
|
|
|
|
|
|
|
|
|
|
|
|
|
Handler |
|
|
|
|
|
|
|
|
|
|
|
LogManager |
|
|
|
|
|
|
|
|
|
Logger |
|
|
|
|
|
|
|
|
|
MemoryHandler |
|
|
|
|
|
SocketHandler |
|
|
|
StreamHandler |
|
|
|
|
|
|
|
java.naming |
|
javax.naming |
|
Context |
|
APPLET |
|
java.rmi |
|
java.rmi.server |
|
RMIClassLoader |
|
|
This report is based on simple comparison of all public
and
protected
APIs of the java.*
and javax.*
packages of JDK builds 24-ea+29-3578-open and
23.0.1+11-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.