| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 论坛
 上传资源
上传编程相关的资源,源源不断赚取资源分,以备将来下载之需
ghf794785671
文件大小:130.17 MB
文件类型:pdf
发布时间:2022-12-31 11:31:34
需资源分:2
下载次数:0
Tag:JAVA  高并发
::资源简介::
Kafka权威指南.[美]Neha Narkhede(详细书签)
     封面
     译者介绍
     书名
     版权
     目录
     序
     前言
     第1章 初识Kafka
          1.1 发布与订阅消息系统
               1.1.1 如何开始
               1.1.2 独立的队列系统
          1.2 Kafka登场
               1.2.1 消息和批次
               1.2.2 模式
               1.2.3 主题和分区
               1.2.4 生产者和消费者
               1.2.5 broker和集群
               1.2.6 多集群
          1.3 为什么选择Kafka
               1.3.1 多个生产者
               1.3.2 多个消费者
               1.3.3 基于磁盘的数据存储
               1.3.4 伸缩性
               1.3.5 高性能
          1.4 数据生态系统
          1.5 起源故事
               1.5.1 LinkedIn的问题
               1.5.2 Kafka的诞生
               1.5.3 走向开源
               1.5.4 命名
          1.6 开始Kafka之旅
     第2章 安装Kafka
          2.1 要事先行
               2.1.1 选择操作系统
               2.1.2 安装Java
               2.1.3 安装Zookeeper
          2.2 安装Kafka Broker
          2.3 broker配置
               2.3.1 常规配置
               2.3.2 主题的默认配置
          2.4 硬件的选择
               2.4.1 磁盘吞吐量
               2.4.2 磁盘容量
               2.4.3 内存
               2.4.4 网络
               2.4.5 CPU
          2.5 云端的Kafka
          2.6 Kafka集群
               2.6.1 需要多少个broker
               2.6.2 broker 配置
               2.6.3 操作系统调优
          2.7 生产环境的注意事项
               2.7.1 垃圾回收器选项
               2.7.2 数据中心布局
               2.7.3 共享Zookeeper
          2.8 总结
     第3章 Kafka生产者——向Kafka写入数据
          3.1 生产者概览
          3.2 创建Kafka生产者
          3.3 发送消息到Kafka
               3.3.1 同步发送消息
               3.3.2 异步发送消息
          3.4 生产者的配置
          3.5 序列化器
               3.5.1 自定义序列化器
               3.5.2 使用Avro序列化
               3.5.3 在Kafka里使用Avro
          3.6 分区
          3.7 旧版的生产者API
          3.8 总结
     第4章 Kafka消费者——从Kafka读取数据
          4.1 KafkaConsumer概念
               4.1.1 消费者和消费者群组
               4.1.2 消费者群组和分区再均衡
          4.2 创建Kafka消费者
          4.3 订阅主题
          4.4 轮询
          4.5 消费者的配置
          4.6 提交和偏移量
               4.6.1 自动提交
               4.6.2 提交当前偏移量
               4.6.3 异步提交
               4.6.4 同步和异步组合提交
               4.6.5 提交特定的偏移量
          4.7 再均衡监听器
          4.8 从特定偏移量处开始处理记录
          4.9 如何退出
          4.10 反序列化器
          4.11 独立消费者——为什么以及怎样使用没有群组的消费者
          4.12 旧版的消费者API
          4.13 总结
     第5章 深入Kafka
          5.1 集群成员关系
          5.2 控制器
          5.3 复制
          5.4 处理请求
               5.4.1 生产请求
               5.4.2 获取请求
               5.4.3 其他请求
          5.5 物理存储
               5.5.1 分区分配
               5.5.2 文件管理
               5.5.3 文件格式
               5.5.4 索引
               5.5.5 清理
               5.5.6 清理的工作原理
               5.5.7 被删除的事件
               5.5.8 何时会清理主题
          5.9 总结
     第6章 可靠的数据传递
          6.1 可靠性保证
          6.2 复制
          6.3 broker配置
               6.3.1 复制系数
               6.3.2 不完全的首领选举
               6.3.3 最少同步副本
          6.4 在可靠的系统里使用生产者
               6.4.1 发送确认
               6.4.2 配置生产者的重试参数
               6.4.3 额外的错误处理
          6.5 在可靠的系统里使用消费者
               6.5.1 消费者的可靠性配置
               6.5.2 显式提交偏移量
          6.6 验证系统可靠性
               6.6.1 配置验证
               6.6.2 应用程序验证
               6.6.3 在生产环境监控可靠性
          6.7 总结
     第7章 构建数据管道
          7.1 构建数据管道时需要考虑的问题
               7.1.1 及时性
               7.1.2 可靠性
               7.1.3 高吞吐量和动态吞吐量
               7.1.4 数据格式
               7.1.5 转换
               7.1.6 安全性
               7.1.7 故障处理能力
               7.1.8 耦合性和灵活性
          7.2 如何在Connect API和客户端API之间作出选择
          7.3 Kafka Connect
               7.3.1 运行Connect
               7.3.2 连接器示例——文件数据源和文件数据池
               7.3.3 连接器示例——从MySQL到ElasticSearch
               7.3.4 深入理解Connect
          7.4 Connect之外的选择
               7.4.1 用于其他数据存储的摄入框架
               7.4.2 基于图形界面的ETL工具
               7.4.3 流式处理框架
          7.5 总结
     第8章 跨集群数据镜像
          8.1 跨集群镜像的使用场景
          8.2 多集群架构
               8.2.1 跨数据中心通信的一些现实情况
               8.2.2 Hub和Spoke架构
               8.2.3 双活架构
               8.2.4 主备架构
               8.2.5 延展集群
          8.3 Kafka的MirrorMaker
               8.3.1 如何配置
               8.3.2 在生产环境部署MirrorMaker
               8.3.3 MirrorMaker调优
          8.4 其他跨集群镜像方案
               8.4.1 优步的uReplicator
               8.4.2 Confluent的Replicator
          8.5 总结
     第9章 管理Kafka
          9.1 主题操作
               9.1.1 创建主题
               9.1.2 增加分区
               9.1.3 删除主题
               9.1.4 列出集群里的所有主题
               9.1.5 列出主题详细信息
          9.2 消费者群组
               9.2.1 列出并描述群组
               9.2.2 删除群组
               9.2.3 偏移量管理
          9.3 动态配置变更
               9.3.1 覆盖主题的默认配置
               9.3.2 覆盖客户端的默认配置
               9.3.3 列出被覆盖的配置
               9.3.4 移除被覆盖的配置
          9.4 分区管理
               9.4.1 首选的首领选举
               9.4.2 修改分区副本
               9.4.3 修改复制系数
               9.4.4 转储日志片段
               9.4.5 副本验证
          9.5 消费和生产
               9.5.1 控制台消费者
               9.5.2 控制台生产者
          9.6 客户端ACL
          9.7 不安全的操作
               9.7.1 移动集群控制器
               9.7.2 取消分区重分配
               9.7.3 移除待删除的主题
               9.7.4 手动删除主题
          9.8 总结
     第10章 监控Kafka
          10.1 度量指标基础
               10.1.1 度量指标在哪里
               10.1.2 内部或外部度量
               10.1.3 应用程序健康检测
               10.1.4 度量指标的覆盖面
          10.2 broker的度量指标
               10.2.1 非同步分区
               10.2.2 broker度量指标
               10.2.3 主题和分区的度量指标
               10.2.4 Java虚拟机监控
               10.2.5 操作系统监控
               10.2.6 日志
          10.3 客户端监控
               10.3.1 生产者度量指标
               10.3.2 消费者度量指标
               10.3.3 配额
          10.4 延时监控
          10.5 端到端监控
          10.6 总结
     第11章 流式处理
          11.1 什么是流式处理
          11.2 流式处理的一些概念
               11.2.1 时间
               11.2.2 状态
               11.2.3 流和表的二元性
               11.2.4 时间窗口
          11.3 流式处理的设计模式
               11.3.1 单个事件处理
               11.3.2 使用本地状态
               11.3.3 多阶段处理和重分区
               11.3.4 使用外部查找——流和表的连接
               11.3.5 流与流的连接
               11.3.6 乱序的事件
               11.3.7 重新处理
          11.4 Streams示例
               11.4.1 字数统计
               11.4.2 股票市场统计
               11.4.3 填充点击事件流
          11.5 Kafka Streams的架构概览
               11.5.1 构建拓扑
               11.5.2 对拓扑进行伸缩
               11.5.3 从故障中存活下来
          11.6 流式处理使用场景
          11.7 如何选择流式处理框架
          11.8 总结
     附录A 在其他操作系统上安装Kafka
     作者介绍
     封面介绍
     封底
ASM4使用指南
class文件的字节码结构
Docker中文手册
     简介
     01-Docker简介
     02-Docker安装
     03-配置镜像加速器
     04-镜像常用命令
     05-容器常用命令
     06-实战:修改Nginx首页
     07-Dockerfile指令详解
     08-实战:使用Dockerfile修改Nginx首页
     09-实战:巩固-阅读常用软件的Dockerfile
     10-使用Docker Hub管理镜像
     11-使用Docker Registry管理Docker镜像
     12-使用Nexus管理Docker镜像
     13-Docker可视化管理工具
     14-Docker数据持久化
     15-端口映射
     16-遗留网络
     17-Docker网络
     18-network命令
     19-默认bridge网络中配置DNS
     20-用户定义网络中的内嵌DNS服务器
     21-Docker Compose简介
     22-安装Docker Compose
     23-Docker Compose快速入门
     24-docker-compose.yml常用命令
     25-docker-compose常用命令
     26-Docker Compose网络设置
     27-实战:使用Docker Compose编排WordPress博客
     28-控制服务启动顺序
     29-在生产环境中使用Docker Compose
     30-实战:使用Docker Compose运行ELK
     31-使用Docker Compose伸缩应用
jls8-图灵课堂
     The Java® Language Specification
     Table of Contents
     Preface to the Java SE 8 Edition
     1. Introduction
          1.1. Organization of the Specification
          1.2. Example Programs
          1.3. Notation
          1.4. Relationship to Predefined Classes and Interfaces
          1.5. Feedback
          1.6. References
               Bibliography
     2. Grammars
          2.1. Context-Free Grammars
          2.2. The Lexical Grammar
          2.3. The Syntactic Grammar
          2.4. Grammar Notation
     3. Lexical Structure
          3.1. Unicode
          3.2. Lexical Translations
          3.3. Unicode Escapes
          3.4. Line Terminators
          3.5. Input Elements and Tokens
          3.6. White Space
          3.7. Comments
          3.8. Identifiers
          3.9. Keywords
          3.10. Literals
               3.10.1. Integer Literals
               3.10.2. Floating-Point Literals
               3.10.3. Boolean Literals
               3.10.4. Character Literals
               3.10.5. String Literals
               3.10.6. Escape Sequences for Character and String Literals
               3.10.7. The Null Literal
          3.11. Separators
          3.12. Operators
     4. Types, Values, and Variables
          4.1. The Kinds of Types and Values
          4.2. Primitive Types and Values
               4.2.1. Integral Types and Values
               4.2.2. Integer Operations
               4.2.3. Floating-Point Types, Formats, and Values
               4.2.4. Floating-Point Operations
               4.2.5. The boolean Type and boolean Values
          4.3. Reference Types and Values
               4.3.1. Objects
               4.3.2. The Class Object
               4.3.3. The Class String
               4.3.4. When Reference Types Are the Same
          4.4. Type Variables
          4.5. Parameterized Types
               4.5.1. Type Arguments of Parameterized Types
               4.5.2. Members and Constructors of Parameterized Types
          4.6. Type Erasure
          4.7. Reifiable Types
          4.8. Raw Types
          4.9. Intersection Types
          4.10. Subtyping
               4.10.1. Subtyping among Primitive Types
               4.10.2. Subtyping among Class and Interface Types
               4.10.3. Subtyping among Array Types
               4.10.4. Least Upper Bound
          4.11. Where Types Are Used
          4.12. Variables
               4.12.1. Variables of Primitive Type
               4.12.2. Variables of Reference Type
               4.12.3. Kinds of Variables
               4.12.4. final Variables
               4.12.5. Initial Values of Variables
               4.12.6. Types, Classes, and Interfaces
     5. Conversions and Contexts
          5.1. Kinds of Conversion
               5.1.1. Identity Conversion
               5.1.2. Widening Primitive Conversion
               5.1.3. Narrowing Primitive Conversion
               5.1.4. Widening and Narrowing Primitive Conversion
               5.1.5. Widening Reference Conversion
               5.1.6. Narrowing Reference Conversion
               5.1.7. Boxing Conversion
               5.1.8. Unboxing Conversion
               5.1.9. Unchecked Conversion
               5.1.10. Capture Conversion
               5.1.11. String Conversion
               5.1.12. Forbidden Conversions
               5.1.13. Value Set Conversion
          5.2. Assignment Contexts
          5.3. Invocation Contexts
          5.4. String Contexts
          5.5. Casting Contexts
               5.5.1. Reference Type Casting
               5.5.2. Checked Casts and Unchecked Casts
               5.5.3. Checked Casts at Run Time
          5.6. Numeric Contexts
               5.6.1. Unary Numeric Promotion
               5.6.2. Binary Numeric Promotion
     6. Names
          6.1. Declarations
          6.2. Names and Identifiers
          6.3. Scope of a Declaration
          6.4. Shadowing and Obscuring
               6.4.1. Shadowing
               6.4.2. Obscuring
          6.5. Determining the Meaning of a Name
               6.5.1. Syntactic Classification of a Name According to Context
               6.5.2. Reclassification of Contextually Ambiguous Names
               6.5.3. Meaning of Package Names
                    6.5.3.1. Simple Package Names
                    6.5.3.2. Qualified Package Names
               6.5.4. Meaning of PackageOrTypeNames
                    6.5.4.1. Simple PackageOrTypeNames
                    6.5.4.2. Qualified PackageOrTypeNames
               6.5.5. Meaning of Type Names
                    6.5.5.1. Simple Type Names
                    6.5.5.2. Qualified Type Names
               6.5.6. Meaning of Expression Names
                    6.5.6.1. Simple Expression Names
                    6.5.6.2. Qualified Expression Names
               6.5.7. Meaning of Method Names
                    6.5.7.1. Simple Method Names
          6.6. Access Control
               6.6.1. Determining Accessibility
               6.6.2. Details on protected Access
                    6.6.2.1. Access to a protected Member
                    6.6.2.2. Qualified Access to a protected Constructor
          6.7. Fully Qualified Names and Canonical Names
     7. Packages
          7.1. Package Members
          7.2. Host Support for Packages
          7.3. Compilation Units
          7.4. Package Declarations
               7.4.1. Named Packages
               7.4.2. Unnamed Packages
               7.4.3. Observability of a Package
          7.5. Import Declarations
               7.5.1. Single-Type-Import Declarations
               7.5.2. Type-Import-on-Demand Declarations
               7.5.3. Single-Static-Import Declarations
               7.5.4. Static-Import-on-Demand Declarations
          7.6. Top Level Type Declarations
     8. Classes
          8.1. Class Declarations
               8.1.1. Class Modifiers
                    8.1.1.1. abstract Classes
                    8.1.1.2. final Classes
                    8.1.1.3. strictfp Classes
               8.1.2. Generic Classes and Type Parameters
               8.1.3. Inner Classes and Enclosing Instances
               8.1.4. Superclasses and Subclasses
               8.1.5. Superinterfaces
               8.1.6. Class Body and Member Declarations
          8.2. Class Members
          8.3. Field Declarations
               8.3.1. Field Modifiers
                    8.3.1.1. static Fields
                    8.3.1.2. final Fields
                    8.3.1.3. transient Fields
                    8.3.1.4. volatile Fields
               8.3.2. Field Initialization
               8.3.3. Forward References During Field Initialization
          8.4. Method Declarations
               8.4.1. Formal Parameters
               8.4.2. Method Signature
               8.4.3. Method Modifiers
                    8.4.3.1. abstract Methods
                    8.4.3.2. static Methods
                    8.4.3.3. final Methods
                    8.4.3.4. native Methods
                    8.4.3.5. strictfp Methods
                    8.4.3.6. synchronized Methods
               8.4.4. Generic Methods
               8.4.5. Method Result
               8.4.6. Method Throws
               8.4.7. Method Body
               8.4.8. Inheritance, Overriding, and Hiding
                    8.4.8.1. Overriding (by Instance Methods)
                    8.4.8.2. Hiding (by Class Methods)
                    8.4.8.3. Requirements in Overriding and Hiding
                    8.4.8.4. Inheriting Methods with Override-Equivalent Signatures
               8.4.9. Overloading
          8.5. Member Type Declarations
               8.5.1. Static Member Type Declarations
          8.6. Instance Initializers
          8.7. Static Initializers
          8.8. Constructor Declarations
               8.8.1. Formal Parameters
               8.8.2. Constructor Signature
               8.8.3. Constructor Modifiers
               8.8.4. Generic Constructors
               8.8.5. Constructor Throws
               8.8.6. The Type of a Constructor
               8.8.7. Constructor Body
                    8.8.7.1. Explicit Constructor Invocations
               8.8.8. Constructor Overloading
               8.8.9. Default Constructor
               8.8.10. Preventing Instantiation of a Class
          8.9. Enum Types
               8.9.1. Enum Constants
               8.9.2. Enum Body Declarations
               8.9.3. Enum Members
     9. Interfaces
          9.1. Interface Declarations
               9.1.1. Interface Modifiers
                    9.1.1.1. abstract Interfaces
                    9.1.1.2. strictfp Interfaces
               9.1.2. Generic Interfaces and Type Parameters
               9.1.3. Superinterfaces and Subinterfaces
               9.1.4. Interface Body and Member Declarations
          9.2. Interface Members
          9.3. Field (Constant) Declarations
               9.3.1. Initialization of Fields in Interfaces
          9.4. Method Declarations
               9.4.1. Inheritance and Overriding
                    9.4.1.1. Overriding (by Instance Methods)
                    9.4.1.2. Requirements in Overriding
                    9.4.1.3. Inheriting Methods with Override-Equivalent Signatures
               9.4.2. Overloading
               9.4.3. Interface Method Body
          9.5. Member Type Declarations
          9.6. Annotation Types
               9.6.1. Annotation Type Elements
               9.6.2. Defaults for Annotation Type Elements
               9.6.3. Repeatable Annotation Types
               9.6.4. Predefined Annotation Types
                    9.6.4.1. @Target
                    9.6.4.2. @Retention
                    9.6.4.3. @Inherited
                    9.6.4.4. @Override
                    9.6.4.5. @SuppressWarnings
                    9.6.4.6. @Deprecated
                    9.6.4.7. @SafeVarargs
                    9.6.4.8. @Repeatable
                    9.6.4.9. @FunctionalInterface
          9.7. Annotations
               9.7.1. Normal Annotations
               9.7.2. Marker Annotations
               9.7.3. Single-Element Annotations
               9.7.4. Where Annotations May Appear
               9.7.5. Multiple Annotations of the Same Type
          9.8. Functional Interfaces
          9.9. Function Types
     10. Arrays
          10.1. Array Types
          10.2. Array Variables
          10.3. Array Creation
          10.4. Array Access
          10.5. Array Store Exception
          10.6. Array Initializers
          10.7. Array Members
          10.8. Class Objects for Arrays
          10.9. An Array of Characters Is Not a String
     11. Exceptions
          11.1. The Kinds and Causes of Exceptions
               11.1.1. The Kinds of Exceptions
               11.1.2. The Causes of Exceptions
               11.1.3. Asynchronous Exceptions
          11.2. Compile-Time Checking of Exceptions
               11.2.1. Exception Analysis of Expressions
               11.2.2. Exception Analysis of Statements
               11.2.3. Exception Checking
          11.3. Run-Time Handling of an Exception
     12. Execution
          12.1. Java Virtual Machine Startup
               12.1.1. Load the Class Test
               12.1.2. Link Test: Verify, Prepare, (Optionally) Resolve
               12.1.3. Initialize Test: Execute Initializers
               12.1.4. Invoke Test.main
          12.2. Loading of Classes and Interfaces
               12.2.1. The Loading Process
          12.3. Linking of Classes and Interfaces
               12.3.1. Verification of the Binary Representation
               12.3.2. Preparation of a Class or Interface Type
               12.3.3. Resolution of Symbolic References
          12.4. Initialization of Classes and Interfaces
               12.4.1. When Initialization Occurs
               12.4.2. Detailed Initialization Procedure
          12.5. Creation of New Class Instances
          12.6. Finalization of Class Instances
               12.6.1. Implementing Finalization
               12.6.2. Interaction with the Memory Model
          12.7. Unloading of Classes and Interfaces
          12.8. Program Exit
     13. Binary Compatibility
          13.1. The Form of a Binary
          13.2. What Binary Compatibility Is and Is Not
          13.3. Evolution of Packages
          13.4. Evolution of Classes
               13.4.1. abstract Classes
               13.4.2. final Classes
               13.4.3. public Classes
               13.4.4. Superclasses and Superinterfaces
               13.4.5. Class Type Parameters
               13.4.6. Class Body and Member Declarations
               13.4.7. Access to Members and Constructors
               13.4.8. Field Declarations
               13.4.9. final Fields and static Constant Variables
               13.4.10. static Fields
               13.4.11. transient Fields
               13.4.12. Method and Constructor Declarations
               13.4.13. Method and Constructor Type Parameters
               13.4.14. Method and Constructor Formal Parameters
               13.4.15. Method Result Type
               13.4.16. abstract Methods
               13.4.17. final Methods
               13.4.18. native Methods
               13.4.19. static Methods
               13.4.20. synchronized Methods
               13.4.21. Method and Constructor Throws
               13.4.22. Method and Constructor Body
               13.4.23. Method and Constructor Overloading
               13.4.24. Method Overriding
               13.4.25. Static Initializers
               13.4.26. Evolution of Enums
          13.5. Evolution of Interfaces
               13.5.1. public Interfaces
               13.5.2. Superinterfaces
               13.5.3. Interface Members
               13.5.4. Interface Type Parameters
               13.5.5. Field Declarations
               13.5.6. Interface Method Declarations
               13.5.7. Evolution of Annotation Types
     14. Blocks and Statements
          14.1. Normal and Abrupt Completion of Statements
          14.2. Blocks
          14.3. Local Class Declarations
          14.4. Local Variable Declaration Statements
               14.4.1. Local Variable Declarators and Types
               14.4.2. Execution of Local Variable Declarations
          14.5. Statements
          14.6. The Empty Statement
          14.7. Labeled Statements
          14.8. Expression Statements
          14.9. The if Statement
               14.9.1. The if-then Statement
               14.9.2. The if-then-else Statement
          14.10. The assert Statement
          14.11. The switch Statement
          14.12. The while Statement
               14.12.1. Abrupt Completion of while Statement
          14.13. The do Statement
               14.13.1. Abrupt Completion of do Statement
          14.14. The for Statement
               14.14.1. The basic for Statement
                    14.14.1.1. Initialization of for Statement
                    14.14.1.2. Iteration of for Statement
                    14.14.1.3. Abrupt Completion of for Statement
               14.14.2. The enhanced for statement
          14.15. The break Statement
          14.16. The continue Statement
          14.17. The return Statement
          14.18. The throw Statement
          14.19. The synchronized Statement
          14.20. The try statement
               14.20.1. Execution of try-catch
               14.20.2. Execution of try-finally and try-catch-finally
               14.20.3. try-with-resources
                    14.20.3.1. Basic try-with-resources
                    14.20.3.2. Extended try-with-resources
          14.21. Unreachable Statements
     15. Expressions
          15.1. Evaluation, Denotation, and Result
          15.2. Forms of Expressions
          15.3. Type of an Expression
          15.4. FP-strict Expressions
          15.5. Expressions and Run-Time Checks
          15.6. Normal and Abrupt Completion of Evaluation
          15.7. Evaluation Order
               15.7.1. Evaluate Left-Hand Operand First
               15.7.2. Evaluate Operands before Operation
               15.7.3. Evaluation Respects Parentheses and Precedence
               15.7.4. Argument Lists are Evaluated Left-to-Right
               15.7.5. Evaluation Order for Other Expressions
          15.8. Primary Expressions
               15.8.1. Lexical Literals
               15.8.2. Class Literals
               15.8.3. this
               15.8.4. Qualified this
               15.8.5. Parenthesized Expressions
          15.9. Class Instance Creation Expressions
               15.9.1. Determining the Class being Instantiated
               15.9.2. Determining Enclosing Instances
               15.9.3. Choosing the Constructor and its Arguments
               15.9.4. Run-Time Evaluation of Class Instance Creation Expressions
               15.9.5. Anonymous Class Declarations
                    15.9.5.1. Anonymous Constructors
          15.10. Array Creation and Access Expressions
               15.10.1. Array Creation Expressions
               15.10.2. Run-Time Evaluation of Array Creation Expressions
               15.10.3. Array Access Expressions
               15.10.4. Run-Time Evaluation of Array Access Expressions
          15.11. Field Access Expressions
               15.11.1. Field Access Using a Primary
               15.11.2. Accessing Superclass Members using super
          15.12. Method Invocation Expressions
               15.12.1. Compile-Time Step 1: Determine Class or Interface to Search
               15.12.2. Compile-Time Step 2: Determine Method Signature
                    15.12.2.1. Identify Potentially Applicable Methods
                    15.12.2.2. Phase 1: Identify Matching Arity Methods Applicable by Strict Invocation
                    15.12.2.3. Phase 2: Identify Matching Arity Methods Applicable by Loose Invocation
                    15.12.2.4. Phase 3: Identify Methods Applicable by Variable Arity Invocation
                    15.12.2.5. Choosing the Most Specific Method
                    15.12.2.6. Method Invocation Type
               15.12.3. Compile-Time Step 3: Is the Chosen Method Appropriate?
               15.12.4. Run-Time Evaluation of Method Invocation
                    15.12.4.1. Compute Target Reference (If Necessary)
                    15.12.4.2. Evaluate Arguments
                    15.12.4.3. Check Accessibility of Type and Method
                    15.12.4.4. Locate Method to Invoke
                    15.12.4.5. Create Frame, Synchronize, Transfer Control
          15.13. Method Reference Expressions
               15.13.1. Compile-Time Declaration of a Method Reference
               15.13.2. Type of a Method Reference
               15.13.3. Run-Time Evaluation of Method References
          15.14. Postfix Expressions
               15.14.1. Expression Names
               15.14.2. Postfix Increment Operator ++
               15.14.3. Postfix Decrement Operator --
          15.15. Unary Operators
               15.15.1. Prefix Increment Operator ++
               15.15.2. Prefix Decrement Operator --
               15.15.3. Unary Plus Operator +
               15.15.4. Unary Minus Operator -
               15.15.5. Bitwise Complement Operator ~
               15.15.6. Logical Complement Operator !
          15.16. Cast Expressions
          15.17. Multiplicative Operators
               15.17.1. Multiplication Operator *
               15.17.2. Division Operator /
               15.17.3. Remainder Operator %
          15.18. Additive Operators
               15.18.1. String Concatenation Operator +
               15.18.2. Additive Operators (+ and -) for Numeric Types
          15.19. Shift Operators
          15.20. Relational Operators
               15.20.1.&#160;Numerical Comparison Operators <, <=, >, and >=
               15.20.2.&#160;Type Comparison Operator instanceof
          15.21.&#160;Equality Operators
               15.21.1.&#160;Numerical Equality Operators == and !=
               15.21.2.&#160;Boolean Equality Operators == and !=
               15.21.3.&#160;Reference Equality Operators == and !=
          15.22.&#160;Bitwise and Logical Operators
               15.22.1.&#160;Integer Bitwise Operators &, ^, and |
               15.22.2.&#160;Boolean Logical Operators &, ^, and |
          15.23.&#160;Conditional-And Operator &&
          15.24.&#160;Conditional-Or Operator ||
          15.25.&#160;Conditional Operator ? :
               15.25.1.&#160;Boolean Conditional Expressions
               15.25.2.&#160;Numeric Conditional Expressions
               15.25.3.&#160;Reference Conditional Expressions
          15.26.&#160;Assignment Operators
               15.26.1.&#160;Simple Assignment Operator =
               15.26.2.&#160;Compound Assignment Operators
          15.27.&#160;Lambda Expressions
               15.27.1.&#160;Lambda Parameters
               15.27.2.&#160;Lambda Body
               15.27.3.&#160;Type of a Lambda Expression
               15.27.4.&#160;Run-Time Evaluation of Lambda Expressions
          15.28.&#160;Constant Expressions
     16. Definite Assignment
          16.1.&#160;Definite Assignment and Expressions
               16.1.1.&#160;Boolean Constant Expressions
               16.1.2.&#160;Conditional-And Operator &&
               16.1.3.&#160;Conditional-Or Operator ||
               16.1.4.&#160;Logical Complement Operator !
               16.1.5.&#160;Conditional Operator ? :
               16.1.6.&#160;Conditional Operator ? :
               16.1.7.&#160;Other Expressions of Type boolean
               16.1.8.&#160;Assignment Expressions
               16.1.9.&#160;Operators ++ and --
               16.1.10.&#160;Other Expressions
          16.2.&#160;Definite Assignment and Statements
               16.2.1.&#160;Empty Statements
               16.2.2.&#160;Blocks
               16.2.3.&#160;Local Class Declaration Statements
               16.2.4.&#160;Local Variable Declaration Statements
               16.2.5.&#160;Labeled Statements
               16.2.6.&#160;Expression Statements
               16.2.7.&#160;if Statements
               16.2.8.&#160;assert Statements
               16.2.9.&#160;switch Statements
               16.2.10.&#160;while Statements
               16.2.11.&#160;do Statements
               16.2.12.&#160;for Statements
                    16.2.12.1.&#160;Initialization Part of for Statement
                    16.2.12.2.&#160;Incrementation Part of for Statement
               16.2.13.&#160;break, continue, return, and throw Statements
               16.2.14.&#160;synchronized Statements
               16.2.15.&#160;try Statements
          16.3.&#160;Definite Assignment and Parameters
          16.4.&#160;Definite Assignment and Array Initializers
          16.5.&#160;Definite Assignment and Enum Constants
          16.6.&#160;Definite Assignment and Anonymous Classes
          16.7.&#160;Definite Assignment and Member Types
          16.8.&#160;Definite Assignment and Static Initializers
          16.9.&#160;Definite Assignment, Constructors, and Instance Initializers
     17. Threads and Locks
          17.1.&#160;Synchronization
          17.2.&#160;Wait Sets and Notification
               17.2.1.&#160;Wait
               17.2.2.&#160;Notification
               17.2.3.&#160;Interruptions
               17.2.4.&#160;Interactions of Waits, Notification, and Interruption
          17.3.&#160;Sleep and Yield
          17.4.&#160;Memory Model
               17.4.1.&#160;Shared Variables
               17.4.2.&#160;Actions
               17.4.3.&#160;Programs and Program Order
               17.4.4.&#160;Synchronization Order
               17.4.5.&#160;Happens-before Order
               17.4.6.&#160;Executions
               17.4.7.&#160;Well-Formed Executions
               17.4.8.&#160;Executions and Causality Requirements
               17.4.9.&#160;Observable Behavior and Nonterminating Executions
          17.5.&#160;final Field Semantics
               17.5.1.&#160;Semantics of final Fields
               17.5.2.&#160;Reading final Fields During Construction
               17.5.3.&#160;Subsequent Modification of final Fields
               17.5.4.&#160;Write-Protected Fields
          17.6.&#160;Word Tearing
          17.7.&#160;Non-Atomic Treatment of double and long
     18. Type Inference
          18.1.&#160;Concepts and Notation
               18.1.1.&#160;Inference Variables
               18.1.2.&#160;Constraint Formulas
               18.1.3.&#160;Bounds
          18.2.&#160;Reduction
               18.2.1.&#160;Expression Compatibility Constraints
               18.2.2.&#160;Type Compatibility Constraints
               18.2.3.&#160;Subtyping Constraints
               18.2.4.&#160;Type Equality Constraints
               18.2.5.&#160;Checked Exception Constraints
          18.3.&#160;Incorporation
               18.3.1.&#160;Complementary Pairs of Bounds
               18.3.2.&#160;Bounds Involving Capture Conversion
          18.4.&#160;Resolution
          18.5.&#160;Uses of Inference
               18.5.1.&#160;Invocation Applicability Inference
               18.5.2.&#160;Invocation Type Inference
               18.5.3.&#160;Functional Interface Parameterization Inference
               18.5.4.&#160;More Specific Method Inference
     19. Syntax
     Index
     A. Limited License Grant
jvms8-图灵课堂
     The Java&#174; Virtual Machine Specification
     Table of Contents
     Preface to the Java SE 8 Edition
     1. Introduction
          1.1.&#160;A Bit of History
          1.2.&#160;The Java Virtual Machine
          1.3.&#160;Organization of the Specification
          1.4.&#160;Notation
          1.5.&#160;Feedback
     2. The Structure of the Java Virtual Machine
          2.1.&#160;The class File Format
          2.2.&#160;Data Types
          2.3.&#160;Primitive Types and Values
               2.3.1.&#160;Integral Types and Values
               2.3.2.&#160;Floating-Point Types, Value Sets, and Values
               2.3.3.&#160;The returnAddress Type and Values
               2.3.4.&#160;The boolean Type
          2.4.&#160;Reference Types and Values
          2.5.&#160;Run-Time Data Areas
               2.5.1.&#160;The pc Register
               2.5.2.&#160;Java Virtual Machine Stacks
               2.5.3.&#160;Heap
               2.5.4.&#160;Method Area
               2.5.5.&#160;Run-Time Constant Pool
               2.5.6.&#160;Native Method Stacks
          2.6.&#160;Frames
               2.6.1.&#160;Local Variables
               2.6.2.&#160;Operand Stacks
               2.6.3.&#160;Dynamic Linking
               2.6.4.&#160;Normal Method Invocation Completion
               2.6.5.&#160;Abrupt Method Invocation Completion
          2.7.&#160;Representation of Objects
          2.8.&#160;Floating-Point Arithmetic
               2.8.1.&#160;Java Virtual Machine Floating-Point Arithmetic and IEEE 754
               2.8.2.&#160;Floating-Point Modes
               2.8.3.&#160;Value Set Conversion
          2.9.&#160;Special Methods
          2.10.&#160;Exceptions
          2.11.&#160;Instruction Set Summary
               2.11.1.&#160;Types and the Java Virtual Machine
               2.11.2.&#160;Load and Store Instructions
               2.11.3.&#160;Arithmetic Instructions
               2.11.4.&#160;Type Conversion Instructions
               2.11.5.&#160;Object Creation and Manipulation
               2.11.6.&#160;Operand Stack Management Instructions
               2.11.7.&#160;Control Transfer Instructions
               2.11.8.&#160;Method Invocation and Return Instructions
               2.11.9.&#160;Throwing Exceptions
               2.11.10.&#160;Synchronization
          2.12.&#160;Class Libraries
          2.13.&#160;Public Design, Private Implementation
     3. Compiling for the Java Virtual Machine
          3.1.&#160;Format of Examples
          3.2.&#160;Use of Constants, Local Variables, and Control Constructs
          3.3.&#160;Arithmetic
          3.4.&#160;Accessing the Run-Time Constant Pool
          3.5.&#160;More Control Examples
          3.6.&#160;Receiving Arguments
          3.7.&#160;Invoking Methods
          3.8.&#160;Working with Class Instances
          3.9.&#160;Arrays
          3.10.&#160;Compiling Switches
          3.11.&#160;Operations on the Operand Stack
          3.12.&#160;Throwing and Handling Exceptions
          3.13.&#160;Compiling finally
          3.14.&#160;Synchronization
          3.15.&#160;Annotations
     4. The class File Format
          4.1.&#160;The ClassFile Structure
          4.2.&#160;The Internal Form of Names
               4.2.1.&#160;Binary Class and Interface Names
               4.2.2.&#160;Unqualified Names
          4.3.&#160;Descriptors
               4.3.1.&#160;Grammar Notation
               4.3.2.&#160;Field Descriptors
               4.3.3.&#160;Method Descriptors
          4.4.&#160;The Constant Pool
               4.4.1.&#160;The CONSTANT_Class_info Structure
               4.4.2.&#160;The CONSTANT_Fieldref_info, CONSTANT_Methodref_info, and CONSTANT_InterfaceMethodref_info Structures
               4.4.3.&#160;The CONSTANT_String_info Structure
               4.4.4.&#160;The CONSTANT_Integer_info and CONSTANT_Float_info Structures
               4.4.5.&#160;The CONSTANT_Long_info and CONSTANT_Double_info Structures
               4.4.6.&#160;The CONSTANT_NameAndType_info Structure
               4.4.7.&#160;The CONSTANT_Utf8_info Structure
               4.4.8.&#160;The CONSTANT_MethodHandle_info Structure
               4.4.9.&#160;The CONSTANT_MethodType_info Structure
               4.4.10.&#160;The CONSTANT_InvokeDynamic_info Structure
          4.5.&#160;Fields
          4.6.&#160;Methods
          4.7.&#160;Attributes
               4.7.1.&#160;Defining and Naming New Attributes
               4.7.2.&#160;The ConstantValue Attribute
               4.7.3.&#160;The Code Attribute
               4.7.4.&#160;The StackMapTable Attribute
               4.7.5.&#160;The Exceptions Attribute
               4.7.6.&#160;The InnerClasses Attribute
               4.7.7.&#160;The EnclosingMethod Attribute
               4.7.8.&#160;The Synthetic Attribute
               4.7.9.&#160;The Signature Attribute
                    4.7.9.1.&#160;Signatures
               4.7.10.&#160;The SourceFile Attribute
               4.7.11.&#160;The SourceDebugExtension Attribute
               4.7.12.&#160;The LineNumberTable Attribute
               4.7.13.&#160;The LocalVariableTable Attribute
               4.7.14.&#160;The LocalVariableTypeTable Attribute
               4.7.15.&#160;The Deprecated Attribute
               4.7.16.&#160;The RuntimeVisibleAnnotations Attribute
                    4.7.16.1.&#160;The element_value structure
               4.7.17.&#160;The RuntimeInvisibleAnnotations Attribute
               4.7.18.&#160;The RuntimeVisibleParameterAnnotations Attribute
               4.7.19.&#160;The RuntimeInvisibleParameterAnnotations Attribute
               4.7.20.&#160;The RuntimeVisibleTypeAnnotations Attribute
                    4.7.20.1.&#160;The target_info union
                    4.7.20.2.&#160;The type_path structure
               4.7.21.&#160;The RuntimeInvisibleTypeAnnotations Attribute
               4.7.22.&#160;The AnnotationDefault Attribute
               4.7.23.&#160;The BootstrapMethods Attribute
               4.7.24.&#160;The MethodParameters Attribute
          4.8.&#160;Format Checking
          4.9.&#160;Constraints on Java Virtual Machine Code
               4.9.1.&#160;Static Constraints
               4.9.2.&#160;Structural Constraints
          4.10.&#160;Verification of class Files
               4.10.1.&#160;Verification by Type Checking
                    4.10.1.1.&#160;Accessors for Java Virtual Machine Artifacts
                    4.10.1.2.&#160;Verification Type System
                    4.10.1.3.&#160;Instruction Representation
                    4.10.1.4.&#160;Stack Map Frame Representation
                    4.10.1.5.&#160;Type Checking Abstract and Native Methods
                    4.10.1.6.&#160;Type Checking Methods with Code
                    4.10.1.7.&#160;Type Checking Load and Store Instructions
                    4.10.1.8.&#160;Type Checking for protected Members
                    4.10.1.9.&#160;Type Checking Instructions
                         aaload
                         aastore
                         aconst_null
                         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
                         if_acmp<cond>
                         if_icmp<cond>
                         if<cond>
                         ifnonnull
                         ifnull
                         iinc
                         iload, iload_<n>
                         imul
                         ineg
                         instanceof
                         invokedynamic
                         invokeinterface
                         invokespecial
                         invokestatic
                         invokevirtual
                         ior
                         irem
                         ireturn
                         ishl, ishr, iushr
                         istore, istore_<n>
                         isub
                         ixor
                         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, lushr
                         lstore, lstore_<n>
                         lsub
                         lxor
                         monitorenter
                         monitorexit
                         multianewarray
                         new
                         newarray
                         nop
                         pop, pop2
                         putfield
                         putstatic
                         return
                         saload
                         sastore
                         sipush
                         swap
                         tableswitch
                         wide
               4.10.2.&#160;Verification by Type Inference
                    4.10.2.1.&#160;The Process of Verification by Type Inference
                    4.10.2.2.&#160;The Bytecode Verifier
                    4.10.2.3.&#160;Values of Types long and double
                    4.10.2.4.&#160;Instance Initialization Methods and Newly Created Objects
                    4.10.2.5.&#160;Exceptions and finally
          4.11.&#160;Limitations of the Java Virtual Machine
     5. Loading, Linking, and Initializing
          5.1.&#160;The Run-Time Constant Pool
          5.2.&#160;Java Virtual Machine Startup
          5.3.&#160;Creation and Loading
               5.3.1.&#160;Loading Using the Bootstrap Class Loader
               5.3.2.&#160;Loading Using a User-defined Class Loader
               5.3.3.&#160;Creating Array Classes
               5.3.4.&#160;Loading Constraints
               5.3.5.&#160;Deriving a Class from a class File Representation
          5.4.&#160;Linking
               5.4.1.&#160;Verification
               5.4.2.&#160;Preparation
               5.4.3.&#160;Resolution
                    5.4.3.1.&#160;Class and Interface Resolution
                    5.4.3.2.&#160;Field Resolution
                    5.4.3.3.&#160;Method Resolution
                    5.4.3.4.&#160;Interface Method Resolution
                    5.4.3.5.&#160;Method Type and Method Handle Resolution
                    5.4.3.6.&#160;Call Site Specifier Resolution
               5.4.4.&#160;Access Control
               5.4.5.&#160;Overriding
          5.5.&#160;Initialization
          5.6.&#160;Binding Native Method Implementations
          5.7.&#160;Java Virtual Machine Exit
     6. The Java Virtual Machine Instruction Set
          6.1.&#160;Assumptions: The Meaning of "Must"
          6.2.&#160;Reserved Opcodes
          6.3.&#160;Virtual Machine Errors
          6.4.&#160;Format of Instruction Descriptions
               mnemonic
          6.5.&#160;Instructions
               aaload
               aastore
               aconst_null
               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>
               ifnonnull
               ifnull
               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
jvms11-图灵课堂
     The Java&#174; Virtual Machine Specification
     Table of Contents
     1. Introduction
          1.1.&#160;A Bit of History
          1.2.&#160;The Java Virtual Machine
          1.3.&#160;Organization of the Specification
          1.4.&#160;Notation
          1.5.&#160;Feedback
     2. The Structure of the Java Virtual Machine
          2.1.&#160;The class File Format
          2.2.&#160;Data Types
          2.3.&#160;Primitive Types and Values
               2.3.1.&#160;Integral Types and Values
               2.3.2.&#160;Floating-Point Types, Value Sets, and Values
               2.3.3.&#160;The returnAddress Type and Values
               2.3.4.&#160;The boolean Type
          2.4.&#160;Reference Types and Values
          2.5.&#160;Run-Time Data Areas
               2.5.1.&#160;The pc Register
               2.5.2.&#160;Java Virtual Machine Stacks
               2.5.3.&#160;Heap
               2.5.4.&#160;Method Area
               2.5.5.&#160;Run-Time Constant Pool
               2.5.6.&#160;Native Method Stacks
          2.6.&#160;Frames
               2.6.1.&#160;Local Variables
               2.6.2.&#160;Operand Stacks
               2.6.3.&#160;Dynamic Linking
               2.6.4.&#160;Normal Method Invocation Completion
               2.6.5.&#160;Abrupt Method Invocation Completion
          2.7.&#160;Representation of Objects
          2.8.&#160;Floating-Point Arithmetic
               2.8.1.&#160;Java Virtual Machine Floating-Point Arithmetic and IEEE 754
               2.8.2.&#160;Floating-Point Modes
               2.8.3.&#160;Value Set Conversion
          2.9.&#160;Special Methods
               2.9.1.&#160;Instance Initialization Methods
               2.9.2.&#160;Class Initialization Methods
               2.9.3.&#160;Signature Polymorphic Methods
          2.10.&#160;Exceptions
          2.11.&#160;Instruction Set Summary
               2.11.1.&#160;Types and the Java Virtual Machine
               2.11.2.&#160;Load and Store Instructions
               2.11.3.&#160;Arithmetic Instructions
               2.11.4.&#160;Type Conversion Instructions
               2.11.5.&#160;Object Creation and Manipulation
               2.11.6.&#160;Operand Stack Management Instructions
               2.11.7.&#160;Control Transfer Instructions
               2.11.8.&#160;Method Invocation and Return Instructions
               2.11.9.&#160;Throwing Exceptions
               2.11.10.&#160;Synchronization
          2.12.&#160;Class Libraries
          2.13.&#160;Public Design, Private Implementation
     3. Compiling for the Java Virtual Machine
          3.1.&#160;Format of Examples
          3.2.&#160;Use of Constants, Local Variables, and Control Constructs
          3.3.&#160;Arithmetic
          3.4.&#160;Accessing the Run-Time Constant Pool
          3.5.&#160;More Control Examples
          3.6.&#160;Receiving Arguments
          3.7.&#160;Invoking Methods
          3.8.&#160;Working with Class Instances
          3.9.&#160;Arrays
          3.10.&#160;Compiling Switches
          3.11.&#160;Operations on the Operand Stack
          3.12.&#160;Throwing and Handling Exceptions
          3.13.&#160;Compiling finally
          3.14.&#160;Synchronization
          3.15.&#160;Annotations
          3.16.&#160;Modules
     4. The class File Format
          4.1.&#160;The ClassFile Structure
          4.2.&#160;Names
               4.2.1.&#160;Binary Class and Interface Names
               4.2.2.&#160;Unqualified Names
               4.2.3.&#160;Module and Package Names
          4.3.&#160;Descriptors
               4.3.1.&#160;Grammar Notation
               4.3.2.&#160;Field Descriptors
               4.3.3.&#160;Method Descriptors
          4.4.&#160;The Constant Pool
               4.4.1.&#160;The CONSTANT_Class_info Structure
               4.4.2.&#160;The CONSTANT_Fieldref_info, CONSTANT_Methodref_info, and CONSTANT_InterfaceMethodref_info Structures
               4.4.3.&#160;The CONSTANT_String_info Structure
               4.4.4.&#160;The CONSTANT_Integer_info and CONSTANT_Float_info Structures
               4.4.5.&#160;The CONSTANT_Long_info and CONSTANT_Double_info Structures
               4.4.6.&#160;The CONSTANT_NameAndType_info Structure
               4.4.7.&#160;The CONSTANT_Utf8_info Structure
               4.4.8.&#160;The CONSTANT_MethodHandle_info Structure
               4.4.9.&#160;The CONSTANT_MethodType_info Structure
               4.4.10.&#160;The CONSTANT_Dynamic_info and CONSTANT_InvokeDynamic_info Structures
               4.4.11.&#160;The CONSTANT_Module_info Structure
               4.4.12.&#160;The CONSTANT_Package_info Structure
          4.5.&#160;Fields
          4.6.&#160;Methods
          4.7.&#160;Attributes
               4.7.1.&#160;Defining and Naming New Attributes
               4.7.2.&#160;The ConstantValue Attribute
               4.7.3.&#160;The Code Attribute
               4.7.4.&#160;The StackMapTable Attribute
               4.7.5.&#160;The Exceptions Attribute
               4.7.6.&#160;The InnerClasses Attribute
               4.7.7.&#160;The EnclosingMethod Attribute
               4.7.8.&#160;The Synthetic Attribute
               4.7.9.&#160;The Signature Attribute
                    4.7.9.1.&#160;Signatures
               4.7.10.&#160;The SourceFile Attribute
               4.7.11.&#160;The SourceDebugExtension Attribute
               4.7.12.&#160;The LineNumberTable Attribute
               4.7.13.&#160;The LocalVariableTable Attribute
               4.7.14.&#160;The LocalVariableTypeTable Attribute
               4.7.15.&#160;The Deprecated Attribute
               4.7.16.&#160;The RuntimeVisibleAnnotations Attribute
                    4.7.16.1.&#160;The element_value structure
               4.7.17.&#160;The RuntimeInvisibleAnnotations Attribute
               4.7.18.&#160;The RuntimeVisibleParameterAnnotations Attribute
               4.7.19.&#160;The RuntimeInvisibleParameterAnnotations Attribute
               4.7.20.&#160;The RuntimeVisibleTypeAnnotations Attribute
                    4.7.20.1.&#160;The target_info union
                    4.7.20.2.&#160;The type_path structure
               4.7.21.&#160;The RuntimeInvisibleTypeAnnotations Attribute
               4.7.22.&#160;The AnnotationDefault Attribute
               4.7.23.&#160;The BootstrapMethods Attribute
               4.7.24.&#160;The MethodParameters Attribute
               4.7.25.&#160;The Module Attribute
               4.7.26.&#160;The ModulePackages Attribute
               4.7.27.&#160;The ModuleMainClass Attribute
               4.7.28.&#160;The NestHost Attribute
               4.7.29.&#160;The NestMembers Attribute
          4.8.&#160;Format Checking
          4.9.&#160;Constraints on Java Virtual Machine Code
               4.9.1.&#160;Static Constraints
               4.9.2.&#160;Structural Constraints
          4.10.&#160;Verification of class Files
               4.10.1.&#160;Verification by Type Checking
                    4.10.1.1.&#160;Accessors for Java Virtual Machine Artifacts
                    4.10.1.2.&#160;Verification Type System
                    4.10.1.3.&#160;Instruction Representation
                    4.10.1.4.&#160;Stack Map Frames and Type Transitions
                    4.10.1.5.&#160;Type Checking Abstract and Native Methods
                    4.10.1.6.&#160;Type Checking Methods with Code
                    4.10.1.7.&#160;Type Checking Load and Store Instructions
                    4.10.1.8.&#160;Type Checking for protected Members
                    4.10.1.9.&#160;Type Checking Instructions
                         aaload
                         aastore
                         aconst_null
                         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>
                         ifnonnull, ifnull
                         iinc
                         iload, iload_<n>
                         imul
                         ineg
                         instanceof
                         invokedynamic
                         invokeinterface
                         invokespecial
                         invokestatic
                         invokevirtual
                         ior, irem
                         ireturn
                         ishl, ishr, iushr
                         istore, istore_<n>
                         isub, ixor
                         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, lushr
                         lstore, lstore_<n>
                         lsub, lxor
                         monitorenter, monitorexit
                         multianewarray
                         new
                         newarray
                         nop
                         pop, pop2
                         putfield
                         putstatic
                         return
                         saload
                         sastore
                         sipush
                         swap
                         tableswitch
                         wide
               4.10.2.&#160;Verification by Type Inference
                    4.10.2.1.&#160;The Process of Verification by Type Inference
                    4.10.2.2.&#160;The Bytecode Verifier
                    4.10.2.3.&#160;Values of Types long and double
                    4.10.2.4.&#160;Instance Initialization Methods and Newly Created Objects
                    4.10.2.5.&#160;Exceptions and finally
          4.11.&#160;Limitations of the Java Virtual Machine
     5. Loading, Linking, and Initializing
          5.1.&#160;The Run-Time Constant Pool
          5.2.&#160;Java Virtual Machine Startup
          5.3.&#160;Creation and Loading
               5.3.1.&#160;Loading Using the Bootstrap Class Loader
               5.3.2.&#160;Loading Using a User-defined Class Loader
               5.3.3.&#160;Creating Array Classes
               5.3.4.&#160;Loading Constraints
               5.3.5.&#160;Deriving a Class from a class File Representation
               5.3.6.&#160;Modules and Layers
          5.4.&#160;Linking
               5.4.1.&#160;Verification
               5.4.2.&#160;Preparation
               5.4.3.&#160;Resolution
                    5.4.3.1.&#160;Class and Interface Resolution
                    5.4.3.2.&#160;Field Resolution
                    5.4.3.3.&#160;Method Resolution
                    5.4.3.4.&#160;Interface Method Resolution
                    5.4.3.5.&#160;Method Type and Method Handle Resolution
                    5.4.3.6.&#160;Dynamically-Computed Constant and Call Site Resolution
               5.4.4.&#160;Access Control
               5.4.5.&#160;Method Overriding
               5.4.6.&#160;Method Selection
          5.5.&#160;Initialization
          5.6.&#160;Binding Native Method Implementations
          5.7.&#160;Java Virtual Machine Exit
     6. The Java Virtual Machine Instruction Set
          6.1.&#160;Assumptions: The Meaning of "Must"
          6.2.&#160;Reserved Opcodes
          6.3.&#160;Virtual Machine Errors
          6.4.&#160;Format of Instruction Descriptions
               mnemonic
          6.5.&#160;Instructions
     7. Opcode Mnemonics by Opcode
     A. Limited License Grant
JVM调优工具命令详解-图灵课堂
JVM指令手册
并发内存模型与线程规范-图灵课堂
     1 介绍
          1.1 锁
          1.2 示例中的表示法
     2 未正确同步的程序会表现出出人意料的行为
     3 非正式语义
          3.1 顺序一致性(Sequential Consistency)
          3.2 final字段
     4 什么是内存模型
     5 定义
     6 Java内存模型的近似模型
          6.1 顺序一致的内存模型
          6.2 Happens-Before内存模型
          6.3 因果关系
               6.3.1 Happens-Before太弱了
               6.3.2 难以捉摸的因果关系
               6.3.3 分析因果关系的途径
     7 Java内存模型的正式规范
          7.1 动作与执行过程(Actions and Executions)
          7.2 定义
          7.3 良构的( Well-Formed)执行过程
          7.4 执行过程的因果(Causality)要求
          7.5 可观察的行为与不会终止的执行过程
     8 经典测试用例与行为
          8.1 内存模型允许的怪异行为
          8.2 内存模型禁止的行为
     9 final字段的语义
          9.1 final字段语义的目标与要求
               9.1.1 final字段构建后再改变
          9.2 final字段的正式语义
               9.2.1 final字段安全上下文
               9.2.2 替换 和/或 补充顺序约束(Replacement and/or Supplemental Ordering Constraints)
               9.2.3 静态final字段
          9.3 用于final字段的JVM规则
     10 典型测试用例与final字段的行为
     11 字分裂(Word Tearing)
     12 double和long的非原子性处理
     13 公平性
     14 wait集与通知(Notification)
          14.1 等待(Wait)
          14.2 通知(Notification)
          14.3 中断(Interruptions)
          14.4 等待(Waits),通知( Notification)以及中断(Interruption)间的相互影响
     15 Sleep 与 Yield
     16 终结操作(Finalization)
          16.1 终结操作的实现
          16.2 与内存模型的交互
彻底理解Java中的各种锁-图灵课堂
鸟哥的linux私房菜_基础学习篇[第三版]
     基础学习篇快速索引
     第0章、计算器概论
     第1章、Linux是什么
     第2章、Linux 如何学习
     第3章、主机规划与磁盘分区
     第4章、安装 CentOS 5.x 与多重引导小技巧
     第5章、首次登入与在线求助 man page
     第6章、Linux 的档案权限与目录配置
     第7章、Linux 档案与目录管理
     第8章、Linux 磁盘与文件系统管理
     第9章、档案与文件系统的压缩与打包
     第10章、vim 程序编辑器
     第11章、认识与学习 BASH
     第12章、正规表示法与文件格式化处理
     第13章、学习 Shell Scripts
     第14章、Linux 账号管理与 ACL 权限设定
     第15章、磁盘配额(Quota)与进阶文件系统管理
     第16章、例行性工作排程 (crontab)
     第17章、程序管理与 SELinux 初探
     第18章、认识系统服务 (daemons)
     第19章、认识与分析登录档
     第20章、开机流程、模块管理与 Loader
     第21章、系统设定工具(网络与打印机)与硬件侦测
     第22章、软件安装:原始码与 Tarball
     第23章、软件安装: RPM, SRPM 与 YUM 功能
     第24章、 X Window 设定介绍
     第25章、 Linux 备份策略
     第26章、Linux 核心编译与管理
     一些基础的 Linux 问题
     附录 A: GNU 的 GPL 条文 version 2
     附录 B: EXT2  EXT3 文件系统
     一个简单的 SPFdisk 分割实例
深入分析Java_Web技术内幕
实战Java高并发程序设计
     封面
     目录
     第1章 走入并行世界
          1.1 何去何从的并行计算 
          1.2 你必须知道的几个概念 
          1.3 并发级别
          1.4 有关并行的两个重要定律
          1.5 回到Java:JMM 
     第2章 Java并行程序基础 
          2.1 有关线程你必须知道的事 
          2.2 初始线程:线程的基本操作 
          2.3 volatile与Java内存模型(JMM)
          2.4 分门别类的管理:线程组
          2.5 驻守后台:守护线程(Daemon)
          2.6 先干重要的事:线程优先级 
          2.7 线程安全的概念与synchronized
          2.8 程序中的幽灵:隐蔽的错误
     第3章 JDK并发包
          3.1 多线程的团队协作:同步控制
          3.2 线程复用:线程池
          3.3 不要重复发明轮子:JDK的并发容器
     第4章 锁的优化及注意事项
          4.1 有助于提高“锁”性能的几点建议
          4.2 Java虚拟机对锁优化所做的努力
          4.3 人手一支笔:ThreadLocal
          4.4 无锁
          4.5 有关死锁的问题
     第5章 并行模式与算法
          5.1 探讨单例模式
          5.2 不变模式
          5.3 生产者-消费者模式
          5.4 高性能的生产者-消费者:无锁的实现
          5.5 Future模式
          5.6 并行流水线
          5.7 并行搜索
          5.8 并行排序
          5.9 并行算法:矩阵乘法
          5.10 准备好了再通知我:网络NIO
          5.11 读完了再通知我:AIO
     第6章 Java 8与并发
          6.1 Java 8的函数式编程简介
          6.2 函数式编程基础
          6.3 一步一步走入函数式编程
          6.4 并行流与并行排序
          6.5 增强的Future:CompletableFuture
          6.6 读写锁的改进:StampedLock
          6.7 原子类的增强
     第7章 使用Akka构建高并发程序
          7.1 新并发模型:Actor
          7.2 Akka之Hello World
          7.3 有关消息投递的一些说明
          7.4 Actor的生命周期
          7.5 监督策略
          7.6 选择Actor
          7.7 消息收件箱(Inbox)
          7.8 消息路由
          7.9 Actor的内置状态转换
          7.10 询问模式:Actor中的Future
          7.11 多个Actor同时修改数据:Agent
          7.12 像数据库一样操作内存数据:软件事务内存
          7.13 一个有趣的例子:并发粒子群的实现
     第8章 并行程序调试
          8.1 准备实验样本
          8.2 正式起航
          8.3 挂起整个虚拟机
          8.4 调试进入ArrayList内部
     封底
::下载地址::

BCCN本地下载 
开通VIP
可免资源分下载所有资源
::下载本资源的人也下载了::
::作者其它资源::
 
>> 评论
 
热门Tag:
 
编程中国 版权所有,并保留所有权利。
Powered by BCCN 1.020, Processed in 0.015308 second(s)
Copyright©2010-2024, BCCN.NET, All Rights Reserved