Java 8 以降の Java 仮想マシンの仕様のうち、各バージョンの差分を洗い出しました。the が that になったり、item が entry になる変更で、文の意味が変らない変更は除いています。
I listed the differences between each version of the Java Virtual Machine specification for Java 8 and later. I excluded changes that do not change the meaning of the statement, such as the changing of "the" to "that" or the changing of "item" to "entry".
元の情報はこちらです。
The original information is here.
The changes of "The Java Virtual Machine Specification Java SE 15 Edition"
- The Structure of the Java Virtual Machine
- 2.3.2 Floating-Point Types, Value Sets, and Values
- 2.8. Floating-Point Arithmetic- 2.8.1. Java Virtual Machine Floating-Point Arithmetic and IEEE 754
- 2.8.3. Value Set Conversion
- 2.11.3. Arithmetic Instructions
- 2.11.4. Type Conversion Instructions
- 4.1. The ClassFile Structure
- 4.4.4. The CONSTANT_Integer_info and CONSTANT_Float_info Structures
- 4.4.5. The CONSTANT_Long_info and CONSTANT_Double_info Structures
- 4.4.7. The CONSTANT_Utf8_info Structure
- 4.7.16.1. The element_value structure
- 5.4.4. Access Control
- d2f
- d2i
- d2l
- dadd
- ddiv
- dmul
- drem
- dsub
- f2i
- f2l
- fadd
- fdiv
- fmul
- frem
- fsub
- i2f
- l2d
- l2f
The changes of "The Java Virtual Machine Specification Java SE 14 Edition"
Nothing
The changes of "The Java Virtual Machine Specification Java SE 13 Edition"
- Chapter 2. The Structure of the Java Virtual Machine
- 4.1 The ClassFile Structure
- 4.4.7. The CONSTANT_Utf8_info Structure
- 4.7.3. The Code Attribute
The changes of "The Java Virtual Machine Specification Java SE 12 Edition"
- 4.1. The ClassFile Structure
- 4.7.20.2. The type_path structure
- 5.3.2 Loading Using a User-defined Class Loader
- 5.3.5. Deriving a Class from a class File Representation
- invokespecial
The changes of "The Java Virtual Machine Specification Java SE 11 Edition"
- The Structure of the Java Virtual Machine
- 2.11.8 Method Invocation and Return Instructions
- 3.7 Invoking Methods
- 4.4 The Constant Pool
- 4.4.2 The CONSTANT_Fieldref_info, CONSTANT_Methodref_info, and CONSTANT_InterfaceMethodref_info Structures
- 4.4.5 The CONSTANT_Long_info and CONSTANT_Double_info Structures
- 4.4.7 The CONSTANT_Utf8_info Structure
- 4.4.10 The CONSTANT_Dynamic_info and CONSTANT_InvokeDynamic_info Structures
- 4.5 Fields
- 4.6 Methods
- 4.7 Attributes
- 4.7.2 The ConstantValue Attribute
- 4.7.23 The BootstrapMethods Attribute
- 4.7.24 The MethodParameters Attribute
- 4.7.27 The ModuleMainClass Attribute
- 4.7.28 The NestHost Attribute new!
- 4.7.29 The NestMembers Attribute new!
- 4.9.1 Static Constraints
- 4.10.1.3 Instruction Representation
- ldc, ldc_w, ldc2_w
- 5.1. The Run-Time Constant Pool
- 5.3.3. Creating Array Classes
- 5.3.6. Modules and Layers
- 5.4. Linking
- 5.4.2. Preparation
- 5.4.3. Resolution
- 5.4.3.1. Class and Interface Resolution
- 5.4.3.2. Field Resolution
- 5.4.3.3. Method Resolution
- 5.4.3.4. Interface Method Resolution
- 5.4.3.5. Method Type and Method Handle Resolution
- 5.4.3.6. Dynamically-Computed Constant and Call Site Resolution
- 5.4.4. Access Control
- 5.4.5. Method Overriding
- 5.4.6. Method Selection
- invokedynamic
- invokeinterface
- invokespecial
- invokevirtual
- ldc
- ldc_w
- ldc2_w
The changes of "The Java Virtual Machine Specification Java SE 10 Edition"
- 4.1 The ClassFile Structure
- 4.6 Methods
- 4.7. Attributes
- 4.7.25. The Module Attribute
- 5.2. Java Virtual Machine Startup
The changes of "The Java Virtual Machine Specification Java SE 9 Edition"
- 2 The Structure of the Java Virtual Machine
- 2.9.1 Instance Initialization Methods
- 2.9.2 Class Initialization Methods
- 2.9.3 Signature Polymorphic Methods
- 3.16 Modules new!
- 4 The class File Format
- 4.1 The ClassFile Structure
- 4.2.3. Module and Package Names new!
- 4.4. The Constant Pool
- 4.4.3. The CONSTANT_String_info Structure
- 4.4.6. The CONSTANT_NameAndType_info Structure
- 4.4.7. The CONSTANT_Utf8_info Structure
- 4.4.8. The CONSTANT_MethodHandle_info Structure
- 4.4.10. The CONSTANT_InvokeDynamic_info Structure
- 4.4.11. The CONSTANT_Module_info Structure
- 4.4.12. The CONSTANT_Package_info Structure
- 4.6. Methods
- 4.7. Attributes
- 4.7.1. Defining and Naming New Attributes
- 4.7.3. The Code Attribute
- 4.7.6. The InnerClasses Attribute
- 4.7.9. The Signature Attribute
- 4.7.9.1. Signatures
- 4.7.12. The LineNumberTable Attribute
- 4.7.13. The LocalVariableTable Attribute
- 4.7.14. The LocalVariableTypeTable Attribute
- 4.7.16. The RuntimeVisibleAnnotations Attribute
- 4.7.18. The RuntimeVisibleParameterAnnotations Attribute
- 4.7.19. The RuntimeInvisibleParameterAnnotations Attribute
- 4.7.20. The RuntimeVisibleTypeAnnotations Attribute
- 4.7.20.1. The target_info union
- 4.7.22. The AnnotationDefault Attribute
- 4.7.23. The BootstrapMethods Attribute
- 4.7.25. The Module Attribute new!
- 4.8. Format Checking
- 4.9.2. Structural Constraints
- 4.10.1.2. Verification Type System
- 4.10.1.4. Stack Map Frames and Type Transitions
- anewarray
- getfield
- iconst_ new!
- idiv new!
- invokespecial
- putfield
- 4.10.2.2. The Bytecode Verifier
- 5.2. Java Virtual Machine Startup
- 5.3.5. Deriving a Class from a class File Representation
- 5.3.6. Modules and Layers new!
- 5.4.3. Resolution
- 5.4.3.5. Method Type and Method Handle Resolution
- 5.4.4. Access Control
- 5.5. Initialization
- aastore
- bastore
- checkcast
- getfield
- instanceof
- invokedynamic
- invokespecial
- invokestatic
- invokevirtual
- ireturn
- new
- putfield
- putstatic