The Java Version Almanac
javaalmanac.io
Feedback on this page?

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
                • - implements WritableElement
                annotationConstantValueEntry(ConstantDesc)
                writeBootstrapMethods(BufWriter)
                • - implements WritableElement
                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)
                                • - implements WritableElement
                                AnnotationValue.OfBoolean
                                  AnnotationValue.OfByte
                                    AnnotationValue.OfCharacter
                                    AnnotationValue.OfConstant
                                      constantValue()
                                      AnnotationValue.OfDouble
                                        AnnotationValue.OfFloat
                                          AnnotationValue.OfInteger
                                          AnnotationValue.OfLong
                                            AnnotationValue.OfShort
                                              AnnotationValue.OfString
                                                • - implements WritableElement
                                                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)
                                                • - implements WritableElement
                                                AttributeMapper
                                                  readAttribute(AttributedElement, ClassReader, int)
                                                  writeAttribute(BufWriter, Object)
                                                  • - implements WritableElement
                                                  • + implements ClassFileElement
                                                  • - implements WritableElement
                                                  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()
                                                                          • - implements WritableElement
                                                                          FieldTransform
                                                                            resolve(FieldBuilder)
                                                                            MethodBuilder
                                                                              original()
                                                                              • - implements WritableElement
                                                                              MethodTransform
                                                                                resolve(MethodBuilder)
                                                                                • - implements Annotation
                                                                                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.