返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:
本店所有商品

  • 正版 深入理解Java虚拟机 JVM高级特性与最佳实践 第3版 周志明 自动内存管理 软件系统 编程入门教程 开发指
  • 新商品上架
    • 作者: 周志明著
    • 出版社: 机械工业出版社
    • 出版时间:1
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    句字图书专营店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 周志明著
    • 出版社:机械工业出版社
    • 出版时间:1
    • ISBN:9787008132245
    • 版权提供:机械工业出版社

     

    印刷36次,销量超过30万册,根据新版JDK全面升级,新增内容近50%,原创计算机图书丰碑,5个维度全面剖析JVM

    书名:

    深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)

    ISBN

    9787111641247


    作者
    周志明 著
    定价
    129元

    出版时间
     
    12月15日
    开本 16开
    页数 540
    出版社 机械工业出版社
    目录

    目 录  Contents

    前言

    致谢

    第一部分 走近Java

    第1章 走近Java  2

    1.1概述  2

    1.2Java技术体系  3

    1.3Java发展史  4

    1.4Java虚拟机家族  12

    1.4.1虚拟机始祖:Sun Classic/Exact VM  12

    1.4.2武林盟主:HotSpot VM  13

    1.4.3小家碧玉:Mobile/Embedded VM  14

    1.4.4天下第二:BEA JRockit/IBM J9 VM  15

    1.4.5软硬合璧:BEA Liquid VM/Azul VM  16

    1.4.6挑战者:Apache Harmony/Google Android Dalvik VM  17

    1.4.7没有成功,但并非失败:Microsoft JVM及其他  18

    1.4.8百家争鸣  19

    1.5展望Java技术的未来  21

    1.5.1无语言倾向  21

    1.5.2新一代即时编译器  23

    1.5.3向Native迈进  24

    1.5.4灵活的胖子  26

    1.5.5语言语法持续增强  27

    1.6实战:自己编译JDK  29

    1.6.1获取源码  29

    1.6.2系统需求  31

    1.6.3构建编译环境  33

    1.6.4进行编译  34

    1.6.5在IDE工具中进行源码调试  36

    1.7本章小结  39

    第二部分 自动内存管理

    第2章Java内存区域与内存溢出异常  42

    2.1概述  42

    2.2运行时数据区域  42

    2.2.1程序计数器  43

    2.2.2Java虚拟机栈  43

    2.2.3本地方法栈  44

    2.2.4Java堆  44

    2.2.5方法区  46

    2.2.6运行时常量池  47

    2.2.7直接内存  47

    2.3HotSpot虚拟机对象探秘  48

    2.3.1对象的创建  48

    2.3.2对象的内存布局  51

    2.3.3对象的访问定位  52

    2.4实战:OutOfMemoryError异常  53

    2.4.1Java堆溢出  54

    2.4.2虚拟机栈和本地方法栈溢出  56

    2.4.3方法区和运行时常量池溢出  61

    2.4.4本机直接内存溢出  65

    2.5本章小结  66

    第3章 垃圾收集器与内存分配策略  67

    3.1概述  67

    3.2对象已死?  68

    3.2.1引用计数算法  68

    3.2.2可达性分析算法  70

    3.2.3再谈引用  71

    3.2.4生存还是死亡?  72

    3.2.5回收方法区  74

    3.3垃圾收集算法  75

    3.3.1分代收集理论  75

    3.3.2标记-清除算法  77

    3.3.3标记-复制算法  78

    3.3.4标记-整理算法  79

    3.4HotSpot的算法细节实现  81

    3.4.1根节点枚举  81

    3.4.2安全点  82

    3.4.3安全区域  83

    3.4.4记忆集与卡表  84

    3.4.5写屏障  85

    3.4.6并发的可达性分析  87

    3.5经典垃圾收集器  89

    3.5.1Serial收集器  90

    3.5.2ParNew收集器  92

    3.5.3Parallel Scavenge收集器  93

    3.5.4Serial Old收集器  94

    3.5.5Parallel Old收集器  95

    3.5.6CMS收集器  96

    3.5.7Garbage First收集器  98

    3.6低延迟垃圾收集器  104

    3.6.1Shenandoah收集器  105

    3.6.2ZGC收集器  112

    3.7选择合适的垃圾收集器  121

    3.7.1Epsilon收集器  121

    3.7.2收集器的权衡  121

    3.7.3虚拟机及垃圾收集器日志  122

    3.7.4垃圾收集器参数总结  127

    3.8实战:内存分配与回收策略  129

    3.8.1对象优先在Eden分配  130

    3.8.2大对象直接进入老年代  131

    3.8.3长期存活的对象将进入老年代  132

    3.8.4动态对象年龄判定  134

    3.8.5空间分配担保  135

    3.9本章小结  137

    第4章 虚拟机性能监控、故障处理工具  138

    4.1概述  138

    4.2基础故障处理工具  138

    4.2.1jps:虚拟机进程状况工具  141

    4.2.2jstat:虚拟机统计信息监视工具  142

    4.2.3jinfo:Java配置信息工具  143

    4.2.4jmap:Java内存映像工具  144

    4.2.5jhat:虚拟机堆转储快照分析工具  145

    4.2.6jstack:Java堆栈跟踪工具  146

    4.2.7基础工具总结  148

    4.3可视化故障处理工具  151

    4.3.1JHSDB:基于服务性代理的调试工具  152

    4.3.2JConsole:Java监视与管理控制台  157

    4.3.3VisualVM:多合-故障处理工具  164

    4.3.4Java Mission Control:可持续在线的监控工具  171

    4.4HotSpot虚拟机插件及工具  175

    4.5本章小结  180

    第5章 调优案例分析与实战  181

    5.1概述  181

    5.2案例分析  181

    5.2.1大内存硬件上的程序部署策略  182

    5.2.2集群间同步导致的内存溢出  184

    5.2.3堆外内存导致的溢出错误  185

    5.2.4外部命令导致系统缓慢  187

    5.2.5服务器虚拟机进程崩溃  187

    5.2.6不恰当数据结构导致内存占用过大  188

    5.2.7由Windows虚拟内存导致的长时间停顿  189

    5.2.8由安全点导致长时间停顿  190

    5.3实战:Eclipse运行速度调优  192

    5.3.1调优前的程序运行状态  193

    5.3.2升级JDK版本的性能变化及兼容问题  196

    5.3.3编译时间和类加载时间的优化  200

    5.3.4调整内存设置控制垃圾收集频率  203

    5.3.5选择收集器降低延迟  206

    5.4本章小结  209

    第三部分 虚拟机执行子系统

    第6章 类文件结构  212

    6.1概述  212

    6.2无关性的基石  212

    6.3Class类文件的结构  214

    6.3.1魔数与Class文件的版本  215

    6.3.2常量池  218

    6.3.3访问标志  224

    6.3.4类索引、父类索引与接口索引集合  225

    6.3.5字段表集合  226

    6.3.6方法表集合  229

    6.3.7属性表集合  230

    6.4字节码指令简介  251

    6.4.1字节码与数据类型  251

    6.4.2加载和存储指令  253

    6.4.3运算指令  254

    6.4.4类型转换指令  255

    6.4.5对象创建与访问指令  256

    6.4.6操作数栈管理指令  256

    6.4.7控制转移指令  257

    6.4.8方法调用和返回指令  257

    6.4.9异常处理指令  258

    6.4.10同步指令  258

    6.5公有设计,私有实现  259

    6.6Class文件结构的发展  260

    6.7本章小结  261

    第7章 虚拟机类加载机制  262

    7.1概述  262

    7.2类加载的时机  263

    7.3类加载的过程  267

    7.3.1加载  267

    7.3.2验证  268

    7.3.3准备  271

    7.3.4解析  272

    7.3.5初始化  277

    7.4类加载器  279

    7.4.1类与类加载器  280

    7.4.2双亲委派模型  281

    7.4.3破坏双亲委派模型  285

    7.5Java模块化系统  287

    7.5.1模块的兼容性  288

    7.5.2模块化下的类加载器  290

    7.6本章小结  292

    第8章 虚拟机字节码执行引擎  293

    8.1概述  293

    8.2运行时栈帧结构  294

    8.2.1局部变量表  294

    8.2.2操作数栈  299

    8.2.3动态连接  300

    8.2.4方法返回地址  300

    8.2.5附加信息  301

    8.3方法调用  301

    8.3.1解析  301

    8.3.2分派  303

    8.4动态类型语言支持  315

    8.4.1动态类型语言  316

    8.4.2Java与动态类型  317

    8.4.3java.lang.invoke包  318

    8.4.4invokedynamic指令  321

    8.4.5实战:掌控方法分派规则  324

    8.5基于栈的字节码解释执行引擎  326

    8.5.1解释执行  327

    8.5.2基于栈的指令集与基于寄存器的指令集  328

    8.5.3基于栈的解释器执行过程  329

    8.6本章小结  334

    第9章 类加载及执行子系统的案例与实战  335

    9.1概述  335

    9.2案例分析  335

    9.2.1Tomcat:正统的类加载器架构  335

    9.2.2OSGi:灵活的类加载器架构  338

    9.2.3字节码生成技术与动态代理的实现  341

    9.2.4Backport工具:Java的时光机器  345

    9.3实战:自己动手实现远程执行功能  348

    9.3.1目标  348

    9.3.2思路  349

    9.3.3实现  350

    9.3.4验证  355

    9.4本章小结  356

    第四部分 程序编译与代码优化

    第10章 前端编译与优化  358

    10.1概述  358

    10.2Javac编译器  359

    10.2.1Javac的源码与调试  359

    10.2.2解析与填充符号表  362

    10.2.3注解处理器  363

    10.2.4语义分析与字节码生成  364

    10.3Java语法糖的味道  367

    10.3.1泛型  367

    10.3.2自动装箱、拆箱与遍历循环  375

    10.3.3条件编译  377

    10.4实战:插入式注解处理器  378

    10.4.1实战目标  379

    10.4.2代码实现  379

    10.4.3运行与测试  385

    10.4.4其他应用案例  386

    10.5本章小结  386

    第11章 后端编译与优化  388

    11.1概述  388

    11.2即时编译器  389

    11.2.1解释器与编译器  389

    11.2.2编译对象与触发条件  392

    11.2.3编译过程  397

    11.2.4实战:查看及分析即时编译结果  398

    11.3提前编译器  404

    11.3.1提前编译的优劣得失  405

    11.3.2实战:Jaotc的提前编译  408

    11.4编译器优化技术  411

    11.4.1优化技术概览  411

    11.4.2方法内联  415

    11.4.3逃逸分析  417

    11.4.4公共子表达式消除  420

    11.4.5数组边界检查消除  421

    11.5实战:深入理解Graal编译器  423

    11.5.1历史背景  423

    11.5.2构建编译调试环境  424

    11.5.3JVMCI编译器接口  426

    11.5.4代码中间表示  429

    11.5.5代码优化与生成  432

    11.6本章小结  436

    第五部分 高效并发

    第12章Java内存模型与线程  438

    12.1概述  438

    12.2硬件的效率与一致性  439

    12.3Java内存模型  440

    12.3.1主内存与工作内存  441

    12.3.2内存间交互操作  442

    12.3.3对于volatile型变量的特殊规则  444

    12.3.4针对long和double型变量的特殊规则  450

    12.3.5原子性、可见性与有序性  450

    12.3.6先行发生原则  452

    12.4Java与线程  455

    12.4.1线程的实现  455

    12.4.2Java线程调度  458

    12.4.3状态转换  460

    12.5Java与协程  461

    12.5.1内核线程的局限  461

    12.5.2协程的复苏  462

    12.5.3Java的解决方案  464

    12.6本章小结  465

    第13章 线程安全与锁优化  466

    13.1概述  466

    13.2线程安全  466

    13.2.1Java语言中的线程安全  467

    13.2.2线程安全的实现方法  471

    13.3锁优化  479

    13.3.1自旋锁与自适应自旋  479

    13.3.2锁消除  480

    13.3.3锁粗化  481

    13.3.4轻量级锁  481

    13.3.5偏向锁  483

    13.4本章小结  485

    附录A在Windows系统下编译OpenJDK 6  486

    附录B展望Java技术的未来(2013年版)  493

    附录C虚拟机字节码指令表  499

    附录D对象查询语言(OQL)简介  506

    附录EJDK历史版本轨迹  512


     

    1
    • 商品详情
    • 内容简介

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购