×
Java虚拟机规范-(Java SE 8版)-(英文版)

包邮Java虚拟机规范-(Java SE 8版)-(英文版)

1星价 ¥42.0 (3.9折)
2星价¥42.0 定价¥108.0

温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>

暂无评论
图文详情
  • ISBN:9787121273056
  • 装帧:暂无
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:580
  • 出版时间:2016-04-01
  • 条形码:9787121273056 ; 978-7-121-27305-6

内容简介

本书由Java虚拟机技术创建人撰写,全面而准确地阐释了Java虚拟机各方面的细节,围绕Java虚拟机整体架构、编译器、class文件格式、加载、链接与初始化、指令集等核心主题对Java虚拟机进行全面而深入的分析,深刻揭示Java虚拟机的工作原理。书中完整地讲述了由JavaSE8所引入的新特性,例如对包含默认实现代码的接口方法所做的调用,以及为支持类型注解及方法参数注解而对class文件格式所做的扩展等,还阐明了class文件中各属性的含义及字节码验证的规则。本书基于JavaSE8,是深度了解Java虚拟机和Java语言实现细节的极佳选择。

目录

目录 前言 1 Introduction 1.1 A Bit of History 1.2 The Java Virtual Machine 1.3 Organization of the Specification 1.4 Notation 1.5 Feedback 2 The Structure of the Java Virtual Machine 2.1 The class File Format 2.2 Data Types 2.3 Primitive Types and Values 2.3.1 Integral Types and Values 2.3.2 Floating-Point Types, Value Sets, and Values 2.3.3 The returnAddress Type and Values 2.3.4 The boolean Type 2.4 Reference Types and Values 2.5 Run-Time Data Areas 2.5.1 The pc Register 2.5.2 Java Virtual Machine Stacks 2.5.3 Heap 2.5.4 Method Area 2.5.5 Run-Time Constant Pool 2.5.6 Native Method Stacks 2.6 Frames 2.6.1 Local Variables 2.6.2 Operand Stacks 2.6.3 Dynamic Linking 2.6.4 Normal Method Invocation Completion 2.6.5 Abrupt Method Invocation Completion 2.7 Representation of Objects 2.8 Floating-Point Arithmetic 2.8.1 Java Virtual Machine Floating-Point Arithmetic and IEEE 754 2.8.2 Floating-Point Modes 2.8.3 Value Set Conversion 2.9 Special Methods 2.10 Exceptions 2.11 Instruction Set Summary 2.11.1 Types and the Java Virtual Machine 2.11.2 Load and Store Instructions 2.11.3 Arithmetic Instructions 2.11.4 Type Conversion Instructions 2.11.5 Object Creation and Manipulation 2.11.6 Operand Stack Management Instructions 2.11.7 Control Transfer Instructions 2.11.8 Method Invocation and Return Instructions 2.11.9 Throwing Exceptions 2.11.10 Synchronization 2.12 Class Libraries 2.13 Public Design, Private Implementation 3 Compiling for the Java Virtual Machine 3.1 Format of Examples 3.2 Use of Constants, Local Variables, and Control Constructs 3.3 Arithmetic 3.4 Accessing the Run-Time Constant Pool 3.5 More Control Examples 3.6 Receiving Arguments 3.7 Invoking Methods 3.8 Working with Class Instances 3.9 Arrays 3.10 Compiling Switches 3.11 Operations on the Operand Stack 3.12 Throwing and Handling Exceptions 3.13 Compiling finally 3.14 Synchronization 3.15 Annotations 4 The class File Format 4.1 The ClassFile Structure 4.2 The Internal Form of Names 4.2.1 Binary Class and Interface Names 4.2.2 Unqualified Names 4.3 Descriptors 4.3.1 Grammar Notation 4.3.2 Field Descriptors 4.3.3 Method Descriptors 4.4 The Constant Pool 4.4.1 The CONSTANT_Class_info Structure 4.4.2 The CONSTANT_Fieldref_info, CONSTANT_Methodref_info, and CONSTANT_InterfaceMethodref_info Structures 4.4.3 The CONSTANT_String_info 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.6 The CONSTANT_NameAndType_info Structure 4.4.7 The CONSTANT_Utf8_info Structure 4.4.8 The CONSTANT_MethodHandle_info Structure 4.4.9 The CONSTANT_MethodType_info Structure 4.4.10 The CONSTANT_InvokeDynamic_info Structure 4.5 Fields 4.6 Methods 4.7 Attributes 4.7.1 Defining and Naming New Attributes 4.7.2 The ConstantValue Attribute 4.7.3 The Code Attribute 4.7.4 The StackMapTable Attribute 4.7.5 The Exceptions Attribute 4.7.6 The InnerClasses Attribute 4.7.7 The EnclosingMethod Attribute 4.7.8 The Synthetic Attribute 4.7.9 The Signature Attribute 4.7.9.1 Signatures 4.7.10 The SourceFile Attribute 4.7.11 The SourceDebugExtension Attribute 4.7.12 The LineNumberTable Attribute 4.7.13 The LocalVariableTable Attribute 4.7.14 The LocalVariableTypeTable Attribute 4.7.15 The Deprecated Attribute 4.7.16 The RuntimeVisibleAnnotations Attribute 4.7.16.1 The element_value structure 4.7.17 The RuntimeInvisibleAnnotations 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.20.2 The type_path structure 4.7.21 The RuntimeInvisibleTypeAnnotations Attribute 4.7.22 The AnnotationDefault Attribute 4.7.23 The BootstrapMethods Attribute 4.7.24 The MethodParameters Attribute 4.8 Format Checking 4.9 Constraints on Java Virtual Machine Code 4.9.1 Static Constraints 4.9.2 Structural Constraints 4.10 Verification of class Files 4.10.1 Verification by Type Checking 4.10.1.1 Accessors for Java Virtual Machine Artifacts 4.10.1.2 Verification Type System 4.10.1.3 Instruction Representation 4.10.1.4 Stack Map Frame Representation 4.10.1.5 Type Checking Abstract and Native Methods 4.10.1.6 Type Checking Methods with Code 4.10.1.7 Type Checking Load and Store Instructions 4.10.1.8 Type Checking for protected Members 4.10.1.9 Type Checking Instructions 4.10.2 Verification by Type Inference 4.10.2.1 The Process of Verification by Type Inference 4.10.2.2 The Bytecode Verifier 4.10.2.3 Values of Types long and double 4.10.2.4 Instance Initialization Methods and Newly Created Objects 4.10.2.5 Exceptions and finally 4.11 Limitations of the Java Virtual Machine 5 Loading, Linking, and Initializing 5.1 The Run-Time Constant Pool 5.2 Java Virtual Machine Startup 5.3 Creation and Loading 5.3.1 Loading Using the Bootstrap Class Loader 5.3.2 Loading Using a User-defined Class Loader 5.3.3 Creating Array Classes 5.3.4 Loading Constraints 5.3.5 Deriving a Class from a class File Representation 5.4 Linking 5.4.1 Verification 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 Call Site Specifier Resolution 5.4.4 Access Control 5.4.5 Overriding 5.5 Initialization 5.6 Binding Native Method Implementations 5.7 Java Virtual Machine Exit 6 The Java Virtual Machine Instruction Set 6.1 Assumptions: The Meaning of "Must" 6.2 Reserved Opcodes 6.3 Virtual Machine Errors 6.4 Format of Instruction Descriptions mnemonic 6.5 Instructions aaload aastore aconst_ aload aload_<n> anewarray areturn arraylength astore astore_<n> athrow baload bastore bipush caload castore checkcast d2f d2i d2l dadd daload dastore dcmp<op> dconst_<d> ddiv dload dload_<n> dmul dneg drem dreturn dstore dstore_<n> dsub dup dup_x1 dup_x2 dup2 dup2_x1 dup2_x2 f2d f2i f2l fadd faload fastore fcmp<op> fconst_<f> fdiv fload fload_<n> fmul fneg frem freturn fstore fstore_<n> fsub getfield getstatic goto goto_w i2b i2c i2d i2f i2l i2s iadd iaload iand iastore iconst_<i> idiv if_acmp<cond> if_icmp<cond> if<cond> ifnon if iinc iload iload_<n> imul ineg instanceof invokedynamic invokeinterface invokespecial invokestatic invokevirtual ior irem ireturn ishl ishr istore istore_<n> isub iushr ixor jsr jsr_w l2d l2f l2i ladd laload land lastore lcmp lconst_<l> ldc ldc_w ldc2_w ldiv lload lload_<n> lmul lneg lookupswitch lor lrem lreturn lshl lshr lstore lstore_<n> lsub lushr lxor monitorenter monitorexit multianewarray new newarray nop pop pop2 putfield putstatic ret return saload sastore sipush swap tableswitch wide 7 Opcode Mnemonics by Opcode Index A Limited License Grant
展开全部

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航