Finally, the introduction of preview features in Java Supporting only a minor version of 0 under the new major Introducing support for a new major version (47, 48, etc) but Version 46, the only minor version supported under that major When JDK 1.2 introduced support for major JDK 1.1 supported versions 45.0 throughĤ5.65535 inclusive. JDK 1.0.2 supported versions 45.0 throughĤ5.3 inclusive. Inclusive, the minor_version may be any value.Ī historical perspective on versions of the class fileįormat is warranted. In this chapter should be interpreted to mean the Unicode code pointįor a class file whose major_version is 56 or above, theįor a class file whose major_version is between 45 and 55 More contiguous fixed-sized items and can be indexed like an array. Structure as an array, it consists of zero or Structures means that it is not possible to translate a table indexĭirectly to a byte offset into the table. To table items, the fact that tables are streams of varying-sized Although we use C-like array syntax to refer Successive items are stored in the class file sequentially, withoutĬonsisting of zero or more variable-sized items, are used in severalĬlass file structures. To avoid confusion with the fields of classes andĬlass instances, etc., the contents of the structures describing theĬlass file format are referred to as items. For example, valuesĬlass file format using pseudostructures written in a C-like Supported by interfaces java.io.DataInputĪnd java.io.DataOutput and classes such asĪnd java.io.DataOutputStream. In the Java SE Platform API, the class file format is To represent an unsigned one-, two-, or four-byte quantity, respectively. Multibyte data items are always stored in big-endian order, where the 16-bit and 32-bit quantities are constructedīy reading in two and four consecutive 8-bit bytes, respectively. Representation of a class, interface, or module as being in the Generated by a class loader), we will colloquially refer to any valid Literally contained in a file (for instance, because the class is Interface, or module need not have an external representation EachĬlass file contains the definition of a single class, interface, or module. This chapter describes the class file format of the Java Virtual Machine. Instance Initialization Methods and Newly Created Objects 4.10.2.5. Values of Types long and double 4.10.2.4. The Process of Verification by Type Inference 4.10.2.2. Type Checking Instructions aaload aastore aconst_null aload, aload_ anewarray areturn arraylength astore, astore_ athrow baload bastore bipush caload castore checkcast d2f, d2i, d2l dadd daload dastore dcmp dconst_ ddiv dload, dload_ dmul dneg drem dreturn dstore, dstore_ dsub dup dup_x1 dup_x2 dup2 dup2_x1 dup2_x2 f2d, f2i, f2l fadd faload fastore fcmp fconst_ fdiv fload, fload_ fmul fneg frem freturn fstore, fstore_ fsub getfield getstatic goto, goto_w i2b, i2c, i2d, i2f, i2l, i2s iadd iaload iand iastore iconst_ idiv if_acmp if_icmp if ifnonnull, ifnull iinc iload, iload_ imul ineg instanceof invokedynamic invokeinterface invokespecial invokestatic invokevirtual ior, irem ireturn ishl, ishr, iushr istore, istore_ isub, ixor l2d, l2f, l2i ladd laload land lastore lcmp lconst_ ldc, ldc_w, ldc2_w ldiv lload, lload_ lmul lneg lookupswitch lor, lrem lreturn lshl, lshr, lushr lstore, lstore_ lsub, lxor monitorenter, monitorexit multianewarray new newarray nop pop, pop2 putfield putstatic return saload sastore sipush swap tableswitch wide 4.10.2. Type Checking for protected Members 4.10.1.9. Type Checking Load and Store Instructions 4.10.1.8. Type Checking Methods with Code 4.10.1.7. Type Checking Abstract and Native Methods 4.10.1.6. Stack Map Frames and Type Transitions 4.10.1.5. Accessors for Java Virtual Machine Artifacts 4.10.1.2. Constraints on Java Virtual Machine Code 4.9.1. The RuntimeInvisibleTypeAnnotations Attribute 4.7.22. The RuntimeVisibleTypeAnnotations Attribute 4.7.20.1. The RuntimeInvisibleParameterAnnotations Attribute 4.7.20. The RuntimeVisibleParameterAnnotations Attribute 4.7.19. The RuntimeInvisibleAnnotations Attribute 4.7.18. The RuntimeVisibleAnnotations Attribute 4.7.16.1. The LocalVariableTypeTable Attribute 4.7.15. The SourceDebugExtension Attribute 4.7.12. Defining and Naming New Attributes 4.7.2. The CONSTANT_Module_info Structure 4.4.12. The CONSTANT_Dynamic_info and CONSTANT_InvokeDynamic_info Structures 4.4.11. The CONSTANT_MethodType_info Structure 4.4.10. The CONSTANT_MethodHandle_info Structure 4.4.9. The CONSTANT_NameAndType_info Structure 4.4.7. The CONSTANT_Long_info and CONSTANT_Double_info Structures 4.4.6. The CONSTANT_Integer_info and CONSTANT_Float_info Structures 4.4.5. The CONSTANT_String_info Structure 4.4.4. The CONSTANT_Fieldref_info, CONSTANT_Methodref_info, and CONSTANT_InterfaceMethodref_info Structures 4.4.3.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |