搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Java程序性能优化实战
0.00     定价 ¥ 119.00
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购20本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787111669432
  • 作      者:
    作者:葛一鸣|责编:迟振春
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2021-01-01
收藏
畅销推荐
内容介绍
Java是目前应用非常广泛的软件开发平台,学习针对Java程序的优化方法有重要的现实意义。本书以Java程序性能优化为主线,系统地阐述与其相关的知识点,帮助读者掌握编写高质量Java程序的技巧,让他们感受Java开发中的大智慧,编写出更加优美的程序。 本书共6章,从软件设计、软件编码、JVM调优及程序故障排除等方面系统地介绍、Java程序性能优化的方法。第1章介绍性能的基本概念、木桶原理、Amdahl定律,以及系统调优的步骤和注意事项;第2章从设计层面介绍与性能相关的设计模式及常用的优化组件;第3章从代码层面介绍如何编写高。性能的Java程序;第4章介绍并行程序开发,以及如何通过多线程提高系统的性能;第5章立足于JVM虚拟机层面,介绍如何通过设置合理的JVM参数提升Java程序的性能;第6章介绍获取和监控程序及系统性能指标的各种工具,包括相关的故障排查工具。 本书适合所有的Java程序员、软件设计师、架构师及软件开发爱好者阅读。对于有一定经验的Java工程师,本书能帮助他们突破技术瓶颈,提高开发水平。
展开
目录
前言
第1章 Java性能调优概述
1.1 性能概述
1.1.1 看懂程序的性能
1.1.2 性能的参考指标
1.1.3 木桶原理与性能瓶颈
1.1.4 Amdahl定律
1.2 性能调优的层次
1.2.1 设计调优
1.2.2 代码调优
1.2.3 JVM调优
1.2.4 数据库调优
1.2.5 操作系统调优
1.3 基本调优策略和手段
1.3.1 优化的一般步骤
1.3.2 系统优化的注意事项
1.4 小结
第2章 设计优化
2.1 善用设计模式
2.1.1 单例模式
2.1.2 代理模式
2.1.3 享元模式
2.1.4 装饰者模式
2.1.5 观察者模式
2.1.6 值对象模式
2.1.7 业务代理模式
2.2 常用的优化组件和方法
2.2.1 缓冲
2.2.2 缓存
2.2.3 对象复用——池
2.2.4 并行替代串行
2.2.5 负载均衡
2.2.6 时间换空间
2.2.7 空间换时间
2.3 小结
第3章 Java程序优化
3.1 字符串优化处理
3.1.1 String对象及其特点
3.1.2 substring()方法的内存泄漏
3.1.3 字符串分割和查找
3.1.4 StringBuffer和StringBuilder
3.1.5 CompactStrings优化字符串存储
3.2 核心数据结构
3.2.1 List接口
3.2.2 Map接口
3.2.3 Set接口
3.2.4 优化集合访问代码
3.2.5 RandomAccess接口
3.3 使用NIO提升性能
3.3.1 NIO中的Buffer类族和Channel
3.3.2 Buffer的基本原理
3.3.3 Buffer的相关操作
3.3.4 MappedByteBuffer性能评估
3.3.5 直接访问内存
3.4 引用类型
3.4.1 强引用
3.4.2 软引用
3.4.3 弱引用
3.4.4 虚引用
3.4.5 WeakHashMap类及其实现
3.5 性能测试工具JMH
3.5.1 JMH之Hello World
3.5.2 JMH之指定测量模式
3.5.3 JMH之对象作用域
3.5.4 JMH之代码消除
3.6 有助于改善性能的技巧
3.6.1 使用局部变量
3.6.2 位运算代替乘除法
3.6.3 替换switch
3.6.4 一维数组代替二维数组
3.6.5 提取表达式
3.6.6 展开循环
3.6.7 布尔运算代替位运算
3.6.8 使用arrayCopy()
3.6.9 使用Buffer进行I/O操作
3.6.10 使用clone()代替new
3.6.11 慎用Java函数式编程
3.7 小结
第4章 并行程序开发及优化
4.1 并行程序设计模式
4.1.1 Future模式
4.1.2 Master-Worker模式
4.1.3 Guarded Suspension模式
4.1.4 不变模式
4.1.5 生产者-消费者模式
4.2 JDK多任务执行框架
4.2.1 无限制线程的缺陷
4.2.2 简单的线程池实现
4.2.3 Executor框架
4.2.4 自定义线程池
4.2.5 优化线程池大小
4.2.6 扩展ThreadPoolExecutor
4.3 JDK并发数据结构
4.3.1 并发List
4.3.2 并发Set
4.3.3 并发Map
4.3.4 并发Queue
4.3.5 并发Deque
4.4 并发控制方法
4.4.1 Java内存模型与volatile
4.4.2 同步关键字synchronized
4.4.3 重入锁
4.4.4 读写锁
4.4.5 读写锁的改进:StampedLock
4.4.6 Condition对象
4.4.7 信号量
4.4.8 线程局部变量ThreadLocal
4.5 锁的性能和优化
4.5.1 线程的开销
4.5.2 避免死锁
4.5.3 减少锁持有时间
4.5.4 减小锁粒度
4.5.5 读写分离锁来替换独占锁
4.5.6 锁分离
4.5.7 重入锁和内部锁
4.5.8 锁粗化
4.5.9 自旋锁
4.5.10 锁消除
4.5.11 锁偏向
4.6 无锁的并行计算
4.6.1 非阻塞的同步/无锁
4.6.2 原子操作
4.6.3 Amino框架简介
4.6.4 Amino集合
4.6.5 Amino树
4.6.6 Amino图
4.6.7 Amino简单调度模式
4.7 协程
4.7.1 协程的概念
4.7.2 Kilim框架简介
4.7.3 Task及其状态
4.7.4 Fiber及其状态
4.7.5 Kilim开发环境配置
4.7.6 Kilim之Hello World
4.7.7 多任务通信
4.7.8 Kilim实例及性能评估
4.8 小结
第5章 JVM调优
5.1 Java虚拟机内存模型
5.1.1 程序计数器
5.1.2 Java虚拟机栈
5.1.3 本地方法栈
5.1.4 Java堆
5.1.5 方法区
5.2 JVM内存分配参数
5.2.1 设置最大堆内存
5.2.2 设置最小堆内存
5.2.3 设置新生代
5.2.4 设置持久代
5.2.5 设置线程栈
5.2.6 堆的比例分配
5.2.7 堆分配参数总结
5.3 垃圾收集基础
5.3.1 垃圾收集的作用
5.3.2 垃圾回收算法与思想
5.3.3 垃圾回收器的类型
5.3.4 评价GC策略的指标
5.3.5 新生代串行回收器
5.3.6 老年代串行回收器
5.3.7 并行回收器
5.3.8
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证