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

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

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

  • 醉染图书Java程序能优化实战9787111669432
  • 正版全新
    • 作者: 葛一鸣著 | 葛一鸣编 | 葛一鸣译 | 葛一鸣绘
    • 出版社: 机械工业出版社
    • 出版时间:2021-01-01
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    醉染图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

    商品参数
    • 作者: 葛一鸣著| 葛一鸣编| 葛一鸣译| 葛一鸣绘
    • 出版社:机械工业出版社
    • 出版时间:2021-01-01
    • 版次:1
    • 印次:1
    • 页数:432
    • 开本:16开
    • ISBN:9787111669432
    • 版权提供:机械工业出版社
    • 作者:葛一鸣
    • 著:葛一鸣
    • 装帧:平装
    • 印次:1
    • 定价:119.00
    • ISBN:9787111669432
    • 出版社:机械工业出版社
    • 开本:16开
    • 印刷时间:暂无
    • 语种:暂无
    • 出版时间:2021-01-01
    • 页数:432
    • 外部编号:1202181847
    • 版次:1
    • 成品尺寸:暂无

    前言

    章 Java能调优概述 1

    1.1 能概述 1

    1.1.1 看懂程序的能 1

    1.1.2 能的参考指标 2

    1.1.3 木桶原理与能瓶颈 2

    1.1.4 Amdahl定律 3

    1.2 能调优的层次 5

    1.2.1 设计调优 5

    1.2.2 代码调优 6

    1.. JVM调优 6

    1.2.4 数据库调优 6

    1.2.5 操作系统调优 7

    1.3 基本调优策略和手段 7

    1.3.1 优化的一般步骤 8

    1.3.2 系统优化的注意事项 8

    1.4 小结 9

    第2章 设计优化 10

    2.1 善用设计模式 10

    2.1.1 单例模式 10

    2.1.2 代理模式 15

    2.1.3 享元模式 24

    2.1.4 装饰者模式 28

    2.1.5 观察者模式 34

    2.1.6 值对象模式 38

    2.1.7 业务代理模式 41

    2.2 常用的优化组件和方法 44

    2.2.1 缓冲 44

    2.2.2 缓存 47

    2.. 对象复用——池 51

    2.2.4 并行替代串行 58

    2.2.5 负载均衡 58

    2.2.6 时间换空间 63

    2.2.7 空间换时间 64

    . 小结 66

    第3章 Java程序优化 67

    3.1 字符串优化处理 67

    3.1.1 String对象及其特点 67

    3.1.2 substring()方法的内存泄漏 69

    3.1.3 字符串分割和查找 72

    3.1.4 StringBuffer和StringBuilder 76

    3.1.5 CompactStrings优化字符串存储 80

    3.2 核心数据结构 81

    3.2.1 List接口 81

    3.2.2 Map接口 88

    3.. Set接口 100

    3.2.4 优化集合访问代码 101

    3.2.5 RandomAccess接口 103

    3.3 使用NIO提升能 105

    3.3.1 NIO中的Buffer类族和Channel 106

    3.3.2 Buffer的基本原理 107

    3.3.3 Buffer的相关操作 109

    3.3.4 MappedByteBuffer能评估 116

    3.3.5 直接访问内存 119

    3.4 引用类型 121

    3.4.1 强引用 121

    3.4.2 软引用 122

    3.4.3 弱引用 1

    3.4.4 虚引用 124

    3.4.5 WeakHashMap类及其实现 127

    3.5 能测试工具JMH 129

    3.5.1 JMH之Hello World 130

    3.5.2 JMH之指定测量模式 131

    3.5.3 JMH之对象作用域 134

    3.5.4 JMH之代码消除 135

    3.6 有于改善能的技巧 137

    3.6.1 使用局部变量 137

    3.6.2 位运算代替乘除法 138

    3.6.3 替换switch 139

    3.6.4 一维数组代替二维数组 141

    3.6.5 提取表达式 142

    3.6.6 展开循环 143

    3.6.7 布尔运算代替位运算 144

    3.6.8 使用arrayCopy() 145

    3.6.9 使用Buffer进行I/O操作 147

    3.6.10 使用clone()代替new 149

    3.6.11 慎用Java函数式编程 151

    3.7 小结 152

    第4章 并行程序开发及优化 153

    4.1 并行程序设计模式 153

    4.1.1 Future模式 153

    4.1.2 Master-Worker模式 161

    4.1.3 Guarded Suspension模式 165

    4.1.4 不变模式 172

    4.1.5 生产者-消费者模式 174

    4.2 JDK多任务执行框架 178

    4.2.1 制线程的缺陷 178

    4.2.2 简单的线程池实现 179

    4.. Executor框架 183

    4.2.4 自定义线程池 185

    4.2.5 优化线程池大小 189

    4.2.6 扩展ThreadPoolExecutr 89

    4.3 JDK并发数据结构 191

    4.3.1 并发List 191

    4.3.2 并发Set 193

    4.3.3 并发Map 194

    4.3.4 并发eue 195

    4.3.5 并发Deque 197

    4.4 并发控制方法 199

    4.4.1 Java内存模型与volatile 199

    4.4.2 同步关键字synchronized 203

    4.4.3 重入锁 205

    4.4.4 读写锁 207

    4.4.5 读写锁的改进:StampedLock 209

    4.4.6 Condition对象 210

    4.4.7 信号量 212

    4.4.8 线程局部变量ThreadLocal 214

    4.5 锁的能和优化 215

    4.5.1 线程的开销 215

    4.5.2 避免死锁 215

    4.5.3 减少锁持有时间 219

    4.5.4 减小锁粒度 220

    4.5.5 读写分离锁来替换独占锁 221

    4.5.6 锁分离 222

    4.5.7 重入锁和内部锁 224

    4.5.8 锁粗化 224

    4.5.9 自旋锁 226

    4.5.10 锁消除 226

    4.5.11 锁偏向 227

    4.6 无锁的并行计算 228

    4.6.1 非阻塞的同步/无锁 228

    4.6.2 原子操作 228

    4.6.3 Amino框架简介 1

    4.6.4 Amino集合 1

    4.6.5 Amino树

    4.6.6 Amino图

    4.6.7 Amino简单调度模式

    4.7 协程 240

    4.7.1 协程的概念 240

    4.7.2 Kilim框架简介 241

    4.7.3 Task及其状态 242

    4.7.4 Fiber及其状态 242

    4.7.5 Kilim开发环境配置 243

    4.7.6 Kilim之Hello World 244

    4.7.7 多任务通信 246

    4.7.8 Kilim实例及能评估 247

    4.8 小结 250

    第5章 JVM调优 251

    5.1 Java虚拟机内存模型 251

    5.1.1 程序器 251

    5.1.2 Java虚拟机栈 252

    5.1.3 本地方法栈 258

    5.1.4 Java堆 258

    5.1.5 方法区 260

    5.2 JVM内存分配参数 263

    5.2.1 设置优选堆内存 264

    5.2.2 设置堆内存 264

    5.. 设置新生代 266

    5.2.4 设置持久代 266

    5.2.5 设置线程栈 267

    5.2.6 堆的比例分配 269

    5.2.7 堆分配参数总结 270

    5.3 垃圾收集基础 271

    5.3.1 垃圾收集的作用 272

    5.3.2 垃圾回收算法与思想 272

    5.3.3 垃圾回收器的类型 277

    5.3.4 评价GC策略的指标 278

    5.3.5 新生代串行回收器 278

    5.3.6 老年代串行回收器 279

    5.3.7 并行回收器 280

    5.3.8 新生代并行回收器 281

    5.3.9 老年代并行回收器 282

    5.3.10 CMS回收器 282

    5.3.11 G1回收器 285

    5.3.12 Stop the World案例 286

    5.3.13 垃圾回收器对系统能的影响 288

    5.3.14 GC操作相关参数总结 289

    5.4 常用调优案例和方法 291

    5.4.1 将新对象预留在新生代 291

    5.4.2 大对象进入老年代 294

    5.4.3 设置对象进入老年代的年龄 296

    5.4.4 稳定与振荡的堆大小 296

    5.4.5 吞吐量优先案例 298

    5.4.6 使用大页案例 298

    5.4.7 降低停顿案例 299

    5.5 实用JVM参数 299

    5.5.1 JIT编译参数 299

    5.5.2 堆快照 301

    5.5.3 错误处理 302

    5.5.4 获取GC信息 302

    5.5.5 类和对象跟踪 304

    5.5.6 控制GC 305

    5.5.7 选择类校验器 305

    5.5.8 Solaris下的线程控制 306

    5.5.9 使用大页 306

    5.5.10 压缩指针 306

    5.6 JVM调优实战 306

    5.6.1 Tomcat简介与启动加速 307

    5.6.2 Web应用程序简介 309

    5.6.3 JMeter简介与使用 310

    5.6.4 调优前Web应用运行状况 313

    5.6.5 调优过程 314

    5.7 小结 315

    第6章 Java能调优工具 316

    6.1 Linux命令行工具 316

    6.1.1 top命令 316

    6.1.2 sar命令 318

    6.1.3 vmstat命令 319

    6.1.4 iostat命令 321

    6.1.5 pidstat工具 322

    6.2 Windows工具 326

    6.2.1 任务管理器 326

    6.2.2 perfmon能监控工具 328

    6.. Process Explorer工具 331

    6.2.4 pslist命令行 333

    6.3 JDK命令行工具 334

    6.3.1 jps命令 335

    6.3.2 jstat命令 336

    6.3.3 jinfo命令 339

    6.3.4 jmap命令 340

    6.3.5 jhat命令 341

    6.3.6 jstack命令 343

    6.3.7 jstatd命令 346

    6.3.8 hprof工具 347

    6.3.9 jcmd命令 349

    6.4 JConsole工具 350

    6.4.1 JConsole连接Java程序 350

    6.4.2 Java程序概况 351

    6.4.3 内存监控 352

    6.4.4 线程监控 352

    6.4.5 类加载情况 354

    6.4.6 虚拟机信息 354

    6.4.7 MBean管理 355

    6.4.8 使用插件 356

    6.5 Visual VM多合一工具 357

    6.5.1 Visual VM连接应用程序 358

    6.5.2 监控应用程序概况 359

    6.5.3 Thread Dump和分析 361

    6.5.4 能分析 362

    6.5.5 快照 365

    6.5.6 内存快照分析 365

    6.5.7 MBean管理功能 367

    6.5.8 TDA的使用 367

    6.5.9 BTrace简介 368

    6.6 Visual VM对OL的支持 374

    6.6.1 Visual VM的OL基本语法 374

    6.6.2 内置heap对象 375

    6.6.3 对象函数 376

    6.6.4 集合/统函 380

    6.6.5 程序化OL 384

    6.7 MAT内存分析工具 386

    6.7.1 初识MAT 386

    6.7.2 浅堆和深堆 389

    6.7.3 支配树 392

    6.7.4 垃圾回收根 394

    6.7.5 内存泄漏检测 395

    6.7.6 优选对象报告 396

    6.7.7 查找支配者 396

    6.7.8 线程分析 397

    6.7.9 集合使用情况分析 398

    6.7.10 扩展MAT 399

    6.8 MAT对OL的支持 403

    6.8.1 Select子句 404

    6.8.2 From子句 406

    6.8.3 Where子句 407

    6.8.4 内置对象与方法 408

    6.9 来自JRockit的礼物——JMC 411

    6.9.1 得到JFR文件 412

    6.9.2 Java程序的整体运行情况 413

    6.9.3 CPU分析 413

    6.9.4 内存分析 414

    6.9.5 I/O分析 416

    6.10 小结 418

    葛一鸣,51CTO特约讲师,认系统分析师,获得Oracle OCP认。长期从事、Java软件开发工作,对Java程序设计、JVM有深入的研究,对设计模式、人工智能、神经网络、数据挖掘等技术有浓厚兴趣,著有《自己动手写神经网路》书,也开设了在线的《深入浅出Java虚拟机——入门篇》培训课程,有问题可联系作者个人博客www.uucode.net。

    售后保障

    最近浏览

    猜你喜欢

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

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

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

    查看我的收藏夹

    确定

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

    关闭

    抱歉,您暂无任性付资格

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