New APIs in Java 24
Comparing Java 24 (24-ea+15-1658-open) with Java 23 (23+37-2369-open).
Element | Modification |
---|---|
java.base |
|
java.lang.classfile.attribute |
|
CodeAttribute |
|
ModuleAttribute.ModuleAttributeBuilder |
|
build() |
|
java.lang.classfile.components |
|
CodeRelabeler |
|
relabel(Label, CodeBuilder) |
|
java.lang.classfile.constantpool |
|
|
|
annotationConstantValueEntry(ConstantDesc) |
|
writeBootstrapMethods(BufWriter) |
|
|
|
java.lang.classfile.instruction |
|
LocalVariableType |
|
writeTo(BufWriter) |
|
LocalVariable |
|
writeTo(BufWriter) |
|
java.lang.classfile |
|
CustomAttribute |
|
writeTo(BufWriter) |
|
Opcode |
|
constantValue() |
|
isUnconditionalBranch() |
|
primaryTypeKind() |
|
secondaryTypeKind() |
|
slot() |
|
TypeKind |
|
BooleanType |
|
ByteType |
|
CharType |
|
DoubleType |
|
FloatType |
|
IntType |
|
LongType |
|
ReferenceType |
|
ShortType |
|
VoidType |
|
descriptor() |
|
typeName() |
|
AccessFlags |
|
ofClass(AccessFlag...) |
|
ofClass(int) |
|
ofField(AccessFlag...) |
|
ofField(int) |
|
ofMethod(AccessFlag...) |
|
ofMethod(int) |
|
|
|
AnnotationValue.OfBoolean |
|
AnnotationValue.OfByte |
|
AnnotationValue.OfCharacter |
|
AnnotationValue.OfConstant |
|
constantValue() |
|
AnnotationValue.OfDouble |
|
AnnotationValue.OfFloat |
|
AnnotationValue.OfInteger |
|
AnnotationValue.OfLong |
|
AnnotationValue.OfShort |
|
AnnotationValue.OfString |
|
|
|
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) |
|
|
|
AttributeMapper |
|
readAttribute(AttributedElement, ClassReader, int) |
|
writeAttribute(BufWriter, Object) |
|
|
|
|
|
BufWriter |
|
copyTo(byte[], int) |
|
writeBytes(BufWriter) |
|
writeList(List) |
|
writeListIndices(List) |
|
ClassBuilder |
|
original() |
|
ClassFileBuilder |
|
canWriteDirect(ConstantPool) |
|
transform(CompoundElement, ClassFileTransform) |
|
ClassFileTransform.ResolvedTransform |
|
ClassFileTransform |
|
resolve(ClassFileBuilder) |
|
ClassFile |
|
transform(ClassModel, ClassDesc, ClassTransform) |
|
transform(ClassModel, ClassEntry, ClassTransform) |
|
transform(ClassModel, ClassTransform) |
|
ClassReader |
|
compare(BufWriter, int, int, int) |
|
readClassEntry(int) |
|
readMethodHandleEntry(int) |
|
readModuleEntry(int) |
|
readNameAndTypeEntry(int) |
|
readPackageEntry(int) |
|
readUtf8Entry(int) |
|
readUtf8EntryOrNull(int) |
|
ClassTransform |
|
resolve(ClassBuilder) |
|
CodeBuilder |
|
if_nonnull(Label) |
|
if_null(Label) |
|
loadConstant(Opcode, ConstantDesc) |
|
original() |
|
CodeModel |
|
maxLocals() |
|
maxStack() |
|
CodeTransform |
|
resolve(CodeBuilder) |
|
CompoundElement |
|
elements() |
|
forEachElement(Consumer) |
|
FieldBuilder |
|
original() |
|
|
|
FieldTransform |
|
resolve(FieldBuilder) |
|
MethodBuilder |
|
original() |
|
|
|
MethodTransform |
|
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.reflect |
|
ClassFileFormatVersion |
|
java.lang |
|
Process |
|
java.compiler |
|
javax.lang.model |
|
SourceVersion |
|
java.desktop |
|
javax.swing.plaf.basic |
|
BasicSplitPaneDivider |
|
javax.swing |
|
JSplitPane |
|
This report is based on simple comparison of all public
and
protected
APIs of the java.*
and javax.*
packages of JDK builds 24-ea+15-1658-open and
23+37-2369-open. 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.