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

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

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

  • Hotspot实战 陈涛 著 专业科技 文轩网
  • 新华书店正版
    • 作者: 陈涛著
    • 出版社: 人民邮电出版社
    • 出版时间:2014-03-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

         https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: 陈涛著
    • 出版社:人民邮电出版社
    • 出版时间:2014-03-01 00:00:00
    • 版次:1
    • 印次:1
    • 印刷时间:2014-03-01
    • 字数:491000.0
    • 页数:347
    • 开本:16开
    • 装帧:平装
    • ISBN:9787115343635
    • 国别/地区:中国
    • 版权提供:人民邮电出版社

    Hotspot实战

    作  者:陈涛 著
    定  价:69
    出 版 社:人民邮电出版社
    出版日期:2014年03月01日
    页  数:347
    装  帧:平装
    ISBN:9787115343635
    主编推荐

    内容简介

    陈涛著的《HotSpot实战》深入浅出地讲解了HotSpot虚拟机的工作原理,将隐藏在它内部的本质内容逐一呈现在读者面前,包括OpenJDK与HotSpot项目、编译和调试HotSpot的方法、HotSpot内核结构、Launcher、OOP-Klass对象表示系统、链接、运行时数据区、方法区、常量池和常量池Cache、Perf Data、Crash分析方法、转储分析方法、垃圾收集器的设计演进、CMS和G1收集器、栈、JVM对硬件寄存器的利用、栈顶缓存技术、解释器、字节码表、转发表、Stubs、Code Cache、Code生成器、JIT编译器、C1编译器、编译原理、JVM指令集实现、函数的分发机制、VTABLE和ITABLE、异常表、虚拟机监控工具(如jinfo、jstack、jhat、jmap等)的实现原理和开发方法、Attach机制、基于GUI的JVM分析工具(如MAT、Visualnull

    作者简介

    陈涛,硕士,毕业于中国科技大学。现就职于网易公司旗下的网易宝,从事在线支付系统的设计与开发工作。在从事Java工作之前 ,曾有过Linux内核及驱动开发工作经验。热衷于专研技术,对编程语言和JVM比较感兴趣。工作之余 ,喜欢足球和武侠带来的乐趣。目前正在“专研”的课题是如何做一名称职的奶爸。

    精彩内容

    目录
    第1章  初识HotSpot  1
    1.1  JDK概述  2
    1.1.1  JCP与JSR  3
    1.1.2  JDK的发展历程  4
    1.1.3  Java 7的语法变化  7
    1.2  动手编译虚拟机  13
    1.2.1  源代码下载  13
    1.2.2  HotSpot源代码结构  13
    1.2.3  搭建编译环境  15
    1.2.4  编译目标  16
    1.2.5  编译过程  17
    1.2.6  编译常见问题  19
    1.3  实战:在HotSpot内调试HelloWorld  20
    1.3.1  认识GDB  21
    1.3.2  准备调试脚本  22
    1.4  小结  26
    第2章  启动  28
    2.1  HotSpot内核  28
    2.1.1  如何阅读源代码  28
    2.1.2  HotSpot内核框架  36
    2.1.3  Prims  37
    2.1.4  Services  39
    2.1.5  Runtime  43
    2.2  启动  46
    2.2.1  Launcher  46
    2.2.2  虚拟机生命周期  48
    2.2.3  入口:main函数  50
    2.2.4  主线程  51
    2.2.5  InitializeJVM函数  53
    2.2.6  JNI_CreateJavaVM函数  55
    2.2.7  调用Java主方法  56
    2.2.8  JVM退出路径 56
    2.3  系统初始化  57
    2.3.1  配置OS模块  58
    2.3.2  配置系统属性  60
    2.3.3  加载系统库  61
    2.3.4  启动线程  62
    2.3.5  vm_init_globals函数:初始化全局数据结构  65
    2.3.6  init_globals函数:初始化全局模块  65
    2.4  小结  69
    第3章  类与对象  70
    3.1  对象表示机制  71
    3.1.1  OOP-Klass二分模型  71
    3.1.2  Oops模块  71
    3.1.3  OOP框架与对象访问机制  73
    3.1.4  Klass与instanceKlass  79
    3.1.5  实战:用HSDB调试HotSpot  82
    3.2  类的状态转换  87
    3.2.1  入口:Class文件  87
    3.2.2  类的状态  92
    3.2.3  加载  96
    3.2.4  链接  101
    3.2.5  初始化  104
    3.2.6  实战:类的“族谱”  107
    3.2.7  实战:系统字典  111
    3.3  创建对象  113
    3.3.1  实例对象的创建流程  114
    3.3.2  实战:探测JVM内部对象  116
    3.4  小结  119
    第4章  运行时数据区  120
    4.1  堆  121
    4.1.1  Java的自动内存管理  121
    4.1.2  堆的管理  122
    4.2  线程私有区域  125
    4.2.1  PC  125
    4.2.2  JVM栈  126
    4.3  方法区  126
    4.3.1  纽带作用  127
    4.3.2  常量池  130
    4.3.3  常量池缓存:ConstantPoolCache  133
    4.3.4  方法的表示:methodOop  134
    4.3.5  方法的解析:将符号引用转换成直接引用  138
    4.3.6  代码放在哪里:ConstMethodOop  141
    4.3.7  实战:探测运行时常量池  142
    4.4  性能监控数据区:Perf Data  147
    4.4.1  描述这段空间:PerfMemory  147
    4.4.2  查看  148
    4.4.3  生产  150
    4.5  转储  151
    4.5.1  用VisualVM进行转储分析  151
    4.5.2  JVM Crash  153
    4.6  小结  158
    第5章  垃圾收集  159
    5.1  堆与GC  160
    5.1.1  垃圾收集  160
    5.1.2  分代收集  162
    5.1.3  快速分配  165
    5.1.4  栈上分配和逸出分析  167
    5.1.5  GC公共模块  167
    5.2  垃圾收集器  170
    5.2.1  设计演进  170
    5.2.2  CMS收集器  175
    5.2.3  G1收集器  180
    5.3  实战:性能分析方法  184
    5.3.1  获取GC日志  184
    5.3.2  GC监控信息  187
    5.3.3  内存分析工具  189
    5.3.4  选择合适的收集器与GC性能评估  190
    5.3.5  不要忽略JVM Crash日志  195
    5.4  小结  196
    第6章  栈  197
    6.1  硬件背景:了解真实机器  198
    6.1.1  程序是如何运行的  198
    6.1.2  x86与栈帧  199
    6.1.3  ARM对Java硬件级加速:Jazelle技术  202
    6.2  Java栈  203
    6.2.1  寄存器式指令集与栈式指令集  203
    6.2.2  HotSpot中的栈  204
    6.2.3  栈帧  207
    6.2.4  充分利用寄存器资源  210
    6.2.5  虚拟机如何调用Java函数  212
    6.2.6  优化:栈顶缓存  221
    6.2.7  实战:操作数栈  223
    6.3  小结  228
    第7章  解释器和即时编译器  229
    7.1  概述  230
    7.2  解释器如何工作  231
    7.2.1  Interpreter模块  232
    7.2.2  Code模块  234
    7.2.3  字节码表  235
    7.2.4  Code Cache  236
    7.2.5  InterpreterCodelet与Stub队列  239
    7.2.6  Code生成器  241
    7.2.7  模板表与转发表  244
    7.2.8  实战:InterpreterCodelet  247
    7.3  即时编译器  250
    7.3.1  概述  250
    7.3.2  编译器模块  251
    7.3.3  编译器的基本结构  252
    7.3.4  实战:编译原理实践,了解编译中间环节  255
    7.4  小结  267
    第8章  指令集  268
    8.1  再说栈式指令集  268
    8.2  数据传送  270
    8.2.1  局部变量、常量池和操作数栈之间的数据传送  270
    8.2.2  数据传送指令  272
    8.2.3  实战:数组的越界检查  277
    8.3  类型转换  279
    8.4  对象的创建和操作  281
    8.5  程序流程控制  282
    8.5.1  控制转移指令  282
    8.5.2  条件转移  283
    8.5.3  无条件转移  284
    8.5.4  复合条件转移  285
    8.5.5  实战:switch语句如何使用String  287
    8.6  运算  290
    8.6.1  加法:iadd  290
    8.6.2  取负:ineg  291
    8.7  函数的调用和返回  292
    8.7.1  Java函数分发机制:VTABLE与ITABLE  293
    8.7.2  invoke系列指令  297
    8.7.3  动态分发:覆盖  299
    8.7.4  静态分发:重载  302
    8.8  异常  305
    8.8.1  异常表  305
    8.8.2  创建异常  306
    8.8.3  try-catch  309
    8.8.4  finally  311
    8.9  小结  312
    第9章  虚拟机监控工具  313
    9.1  Attach机制  314
    9.1.1  AttachProvider与VirtualMachine  314
    9.1.2  命令的下发:execute()  317
    9.1.3  命令的执行:Attach Listener守护线程  319
    9.2  查看JVM进程  320
    9.2.1  用jps查看Java进程  320
    9.2.2  实战:定制jps,允许查看库路径  323
    9.3  查看和配置JVM  326
    9.3.1  用jinfo查看JVM参数配置  326
    9.3.2  实战:扩展flags选项,允许查看命令行参数  330
    9.4  堆内存转储工具  332
    9.4.1  Heap Dump  332
    9.4.2  原理  333
    9.5  堆转储分析  337
    9.5.1  Heap Dump分析工具:jhat  337
    9.5.2  实战:MAT分析过程  340
    9.6  线程转储分析  343
    9.6.1  jstack  343
    9.6.2  实战:如何分析资源等待  344
    9.7  小结  347

    售后保障

    最近浏览

    猜你喜欢

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

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

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

    查看我的收藏夹

    确定

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

    关闭

    抱歉,您暂无任性付资格

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