New APIs in Java 23
Comparing Java 23 (23+37-tem) with Java 22 (22.0.2+9-tem).
Element | Modification |
---|---|
java.base |
|
java.io |
|
Console |
|
ObjectOutputStream.PutField |
|
|
|
java.lang.classfile.constantpool |
|
ConstantPool |
|
java.lang.classfile |
|
|
|
ANNOTATION_DEFAULT |
|
BOOTSTRAP_METHODS |
|
CHARACTER_RANGE_TABLE |
|
CODE |
|
COMPILATION_ID |
|
CONSTANT_VALUE |
|
DEPRECATED |
|
ENCLOSING_METHOD |
|
EXCEPTIONS |
|
INNER_CLASSES |
|
LINE_NUMBER_TABLE |
|
LOCAL_VARIABLE_TABLE |
|
LOCAL_VARIABLE_TYPE_TABLE |
|
METHOD_PARAMETERS |
|
MODULE |
|
MODULE_HASHES |
|
MODULE_MAIN_CLASS |
|
MODULE_PACKAGES |
|
MODULE_RESOLUTION |
|
MODULE_TARGET |
|
NEST_HOST |
|
NEST_MEMBERS |
|
PERMITTED_SUBCLASSES |
|
PREDEFINED_ATTRIBUTES |
|
RECORD |
|
RUNTIME_INVISIBLE_ANNOTATIONS |
|
RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS |
|
RUNTIME_INVISIBLE_TYPE_ANNOTATIONS |
|
RUNTIME_VISIBLE_ANNOTATIONS |
|
RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS |
|
RUNTIME_VISIBLE_TYPE_ANNOTATIONS |
|
SIGNATURE |
|
SOURCE_DEBUG_EXTENSION |
|
SOURCE_FILE |
|
SOURCE_ID |
|
STACK_MAP_TABLE |
|
SYNTHETIC |
|
standardAttribute(Utf8Entry) |
|
Signature.TypeArg.WildcardIndicator |
|
TypeKind |
|
fromNewArrayCode(int) |
|
newarraycode() |
|
BufWriter |
|
asByteBuffer() |
|
ClassFile |
|
ClassReader |
|
skipAttributeHolder(int) |
|
thisClassPos() |
|
utf8EntryByIndex(int) |
|
ClassSignature |
|
of(List, Signature.RefTypeSig,... |
|
of(Signature.RefTypeSig, Signature.RefTypeSig...) |
|
superclassSignature() |
|
CodeBuilder |
|
arrayLoadInstruction(TypeKind) |
|
arrayStoreInstruction(TypeKind) |
|
branchInstruction(Opcode, Label) |
|
constantInstruction(ConstantDesc) |
|
constantInstruction(Opcode, ConstantDesc) |
|
convertInstruction(TypeKind, TypeKind) |
|
fieldInstruction(Opcode, ClassDesc, String,... |
|
fieldInstruction(Opcode, FieldRefEntry) |
|
incrementInstruction(int, int) |
|
instanceof_(ClassDesc) |
|
instanceof_(ClassEntry) |
|
invokeDynamicInstruction(DynamicCallSiteDesc) |
|
invokeDynamicInstruction(InvokeDynamicEntry) |
|
invokeInstruction(Opcode, ClassDesc, String,... |
|
invokeInstruction(Opcode, MemberRefEntry) |
|
loadInstruction(TypeKind, int) |
|
lookupSwitchInstruction(Label, List) |
|
monitorInstruction(Opcode) |
|
newMultidimensionalArrayInstruction(int,... |
|
newMultidimensionalArrayInstruction(int,... |
|
newObjectInstruction(ClassDesc) |
|
newObjectInstruction(ClassEntry) |
|
newPrimitiveArrayInstruction(TypeKind) |
|
newReferenceArrayInstruction(ClassDesc) |
|
newReferenceArrayInstruction(ClassEntry) |
|
nopInstruction() |
|
operatorInstruction(Opcode) |
|
returnInstruction(TypeKind) |
|
stackInstruction(Opcode) |
|
storeInstruction(TypeKind, int) |
|
tableSwitchInstruction(int, int, Label, List) |
|
throwInstruction() |
|
typeCheckInstruction(Opcode, ClassDesc) |
|
typeCheckInstruction(Opcode, ClassEntry) |
|
Signature.TypeArg |
|
boundType() |
|
extendsOf(Signature.RefTypeSig) |
|
of(Signature.RefTypeSig) |
|
of(Signature.TypeArg.WildcardIndicator, Optional) |
|
superOf(Signature.RefTypeSig) |
|
unbounded() |
|
wildcardIndicator() |
|
java.lang.foreign |
|
MemorySegment |
|
SymbolLookup |
|
java.lang.invoke |
|
StringConcatFactory |
|
MAX_INDY_CONCAT_ARG_SLOTS |
|
makeConcatWithTemplate(List, List) |
|
makeConcatWithTemplateCluster(List, List, int) |
|
makeConcatWithTemplateGetters(List, List, int) |
|
java.lang.reflect |
|
ClassFileFormatVersion |
|
java.lang.runtime |
|
TemplateRuntime |
|
java.lang |
|
ScopedValue.Carrier |
|
call(Callable) |
|
get(Supplier) |
|
ScopedValue |
|
callWhere(ScopedValue, Object, Callable) |
|
getWhere(ScopedValue, Object, Supplier) |
|
ThreadGroup |
|
resume() |
|
stop() |
|
suspend() |
|
Thread |
|
resume() |
|
suspend() |
|
StringTemplate.Processor.Linkage |
|
StringTemplate.Processor |
|
StringTemplate |
|
java.net |
|
DatagramSocketImpl |
|
|
|
|
|
Inet4Address |
|
MulticastSocket |
|
|
|
|
|
|
|
Socket |
|
|
|
|
|
java.text |
|
ChoiceFormat |
|
CompactNumberFormat |
|
DecimalFormat |
|
MessageFormat |
|
NumberFormat |
|
SimpleDateFormat |
|
java.time |
|
Instant |
|
java.util.zip |
|
Deflater |
|
|
|
|
|
Inflater |
|
|
|
|
|
ZipFile |
|
java.util |
|
FormatProcessor |
|
java.compiler |
|
javax.lang.model.util |
|
Elements |
|
Types |
|
javax.lang.model |
|
SourceVersion |
|
javax.tools |
|
SimpleJavaFileObject |
|
java.desktop |
|
java.beans.beancontext |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
java.beans |
|
Beans |
|
|
|
javax.print.attribute.standard |
|
javax.swing.plaf.basic |
|
BasicSliderUI |
|
|
|
javax.swing.plaf.synth |
|
SynthTreeUI |
|
javax.swing |
|
JScrollBar |
|
java.management.rmi |
|
javax.management.remote.rmi |
|
RMIConnector |
|
getMBeanServerConnection(Subject) |
|
java.management |
|
javax.management.loading |
|
MLetContent |
|
MLet |
|
PrivateMLet |
|
MLetMBean |
|
javax.management.remote |
|
JMXConnector |
|
|
This report is based on simple comparison of all public
and
protected
APIs of the java.*
and javax.*
packages of JDK builds 23+37-tem and
22.0.2+9-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.