图书介绍
Java程序性能优化 让你的Java程序更快、更稳定2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 葛一鸣等编著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302296256
- 出版时间:2012
- 标注页数:400页
- 文件大小:119MB
- 文件页数:414页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
Java程序性能优化 让你的Java程序更快、更稳定PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第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代码调优5
1.2.3 JVM调优6
1.2.4数据库调优6
1.2.5操作系统调优6
1.3基本调优策略和手段7
1.3.1优化的一般步骤7
1.3.2系统优化注意事项8
1.4小结8
第2章 设计优化10
2.1善用设计模式10
2.1.1单例模式10
2.1.2代理模式15
2.1.3享元模式24
2.1.4装饰者模式27
2.1.5观察者模式33
2.1.6 Value Object模式37
2.1.7业务代理模式40
2.2常用优化组件和方法43
2.2.1缓冲(Buffer)43
2.2.2缓存(Cache)46
2.2.3对象复用——“池”50
2.2.4并行替代串行56
2.2.5负载均衡56
2.2.6时间换空间62
2.2.7空间换时间63
2.3小结65
第3章Java程序优化66
3.1字符串优化处理66
3.1.1 String对象及其特点66
3.1.2 subString()方法的内存泄漏68
3.1.3字符串分割和查找71
3.1.4 StringBuffer和StringBuilder74
3.2核心数据结构79
3.2.1 List接口79
3.2.2 Map接口86
3.2.3 Set接口97
3.2.4优化集合访问代码99
3.2.5 RandomAccess接口101
3.3使用NIO提升性能102
3.3.1 NIO的Buffer类族和Channel103
3.3.2 Buffer的基本原理104
3.3.3 Buffer的相关操作107
3.3.4 MappedByteBuffer性能评估114
3.3.5直接内存访问116
3.4引用类型118
3.4.1强引用119
3.4.2软引用120
3.4.3弱引用121
3.4.4虚引用122
3.4.5 WeakHashMap类及其实现125
3.5有助于改善性能的技巧127
3.5.1慎用异常127
3.5.2使用局部变量128
3.5.3位运算代替乘除法128
3.5.4替换switch129
3.5.5一维数组代替二维数组130
3.5.6提取表达式131
3.5.7展开循环132
3.5.8布尔运算代替位运算133
3.5.9使用arrayCopy()134
3.5.10使用Buffer进行I/O操作135
3.5.11使用clone()代替new137
3.5.12静态方法替代实例方法139
3.6小结140
第4章 并行程序开发及优化141
4.1并行程序设计模式141
4.1.1 Future模式141
4.1.2 Master-Worker模式148
4.1.3 Guarded Suspension模式153
4.1.4不变模式160
4.1.5生产者-消费者模式162
4.2 JDK多任务执行框架166
4.2.1无限制线程的缺陷166
4.2.2简单的线程池实现167
4.2.3 Executor框架171
4.2.4自定义线程池173
4.2.5优化线程池大小177
4.2.6扩展ThreadPoolExecutor178
4.3 JDK并发数据结构179
4.3.1并发List179
4.3.2并发Set182
4.3.3并发Map182
4.3.4并发Queue183
4.3.5并发Deque186
4.4并发控制方法187
4.4.1 Java内存模型与volatile187
4.4.2同步关键字synchronized190
4.4.3 ReentrantLock重入锁192
4.4.4 ReadWriteLock读写锁195
4.4.5 Condition对象196
4.4.6 Semaphore信号量198
4.4.7 ThreadLocal线程局部变量200
4.5“锁”的性能和优化201
4.5.1线程的开销201
4.5.2避免死锁202
4.5.3减小锁持有时间206
4.5.4减小锁粒度207
4.5.5读写分离锁来替换独占锁208
4.5.6锁分离209
4.5.7重入锁和内部锁210
4.5.8锁粗化211
4.5.9自旋锁212
4.5.10锁消除212
4.5.11锁偏向214
4.6无锁的并行计算214
4.6.1非阻塞的同步/无锁214
4.6.2原子操作215
4.6.3 Amino框架介绍217
4.6.4 Amino集合218
4.6.5 Amino树222
4.6.6 Amino图222
4.6.7 Amino简单调度模式223
4.7协程226
4.7.1协程的概念226
4.7.2 Kilim框架简介226
4.7.3 Task及其状态227
4.7.4 Fiber及其状态228
4.7.5 Kilim开发环境配置228
4.7.6 Kilim之Hello World230
4.7.7多任务通信232
4.7.8 Kilim实例及性能评估233
4.8小结236
第5章JVM调优237
5.1 Java虚拟机内存模型237
5.1.1程序计数器237
5.1.2 Java虚拟机栈238
5.1.3本地方法栈243
5.1.4 Java堆244
5.1.5方法区245
5.2 JVM内存分配参数249
5.2.1设置最大堆内存249
5.2.2设置最小堆内存250
5.2.3设置新生代251
5.2.4设置持久代252
5.2.5设置线程栈253
5.2.6堆的比例分配254
5.2.7堆分配参数总结256
5.3垃圾收集基础257
5.3.1垃圾收集的作用257
5.3.2垃圾回收算法与思想258
5.3.3垃圾收集器的类型262
5.3.4评价GC策略的指标263
5.3.5新生代串行收集器264
5.3.6老年代串行收集器265
5.3.7并行收集器265
5.3.8新生代并行回收(Parallel Scavenge)收集器266
5.3.9老年代并行回收收集器267
5.3.10 CMS收集器267
5.3.11 G1收集器(Garbage First)270
5.3.12 Stop the World案例270
5.3.13收集器对系统性能的影响272
5.3.14 GC相关参数总结273
5.4常用调优案例和方法275
5.4.1将新对象预留在新生代275
5.4.2大对象进入老年代278
5.4.3设置对象进入老年代的年龄279
5.4.4稳定与震荡的堆大小280
5.4.5吞吐量优先案例281
5.4.6使用大页案例282
5.4.7降低停顿案例282
5.5实用JVM参数283
5.5.1 JIT编译参数283
5.5.2堆快照(堆Dump)284
5.5.3错误处理285
5.5.4取得GC信息285
5.5.5类和对象跟踪287
5.5.6控制GC288
5.5.7选择类校验器289
5.5.8 Solaris下线程控制289
5.5.9使用大页289
5.5.10压缩指针289
5.6实战JVM调优290
5.6.1 Tomcat简介与启动加速290
5.6.2 Web应用程序介绍292
5.6.3 JMeter介绍与使用293
5.6.4调优前Web应用运行状况296
5.6.5调优过程297
5.7总结298
第6章Java性能调优工具299
6.1 Linux命令行工具299
6.1.1 top命令299
6.1.2 sar命令301
6.1.3 vmstat命令302
6.1.4 iostat命令304
6.1.5 pidstat工具305
6.2 Windows工具309
6.2.1任务管理器309
6.2.2 perfmon性能监控工具311
6.2.3 Process Explorer313
6.2.4 pslist命令行315
6.3 JDK命令行工具317
6.3.1 jps命令317
6.3.2 jstat命令318
6.3.3 jinfo命令322
6.3.4 j map命令323
6.3.5 jhat命令324
6.3.6 jstack命令326
6.3.7 jstatd命令329
6.3.8 hprof工具330
6.4 JConsole工具332
6.4.1 JConsole连接Java程序332
6.4.2 Java程序概况333
6.4.3内存监控333
6.4.4线程监控335
6.4.5类加载情况335
6.4.6虚拟机信息336
6.4.7 MBean管理337
6.4.8使用插件338
6.5 Visual VM多合一工具339
6.5.1 Visual VM连接应用程序339
6.5.2监控应用程序概况342
6.5.3 Thread Dump和分析343
6.5.4性能分析344
6.5.5快照346
6.5.6内存快照分析347
6.5.7 MBean管理349
6.5.8 TDA使用349
6.5.9 BTrace介绍350
6.6 Visual VM对OQL的支持356
6.6.1 Visual VM的OQL基本语法356
6.6.2内置heap对象357
6.6.3对象函数359
6.6.4集合/统计函数362
6.6.5程序化OQL366
6.7 MAT内存分析工具368
6.7.1初识MAT368
6.7.2浅堆和深堆371
6.7.3支配树(Dominator Tree)374
6.7.4垃圾回收根375
6.7.5内存泄露检测376
6.7.6最大对象报告378
6.7.7查找支配者378
6.7.8线程分析379
6.7.9集合使用情况分析380
6.7.10扩展MAT381
6.8 MAT对OQL的支持385
6.8.1 Select子句385
6.8.2 From子句387
6.8.3 Where子句389
6.8.4内置对象与方法389
6.9 JProfile简介393
6.9.1 JProfile使用配置393
6.9.2内存视图394
6.9.3堆快照394
6.9.4 CPU视图395
6.9.5线程视图397
6.9.6 JVM统计信息397
6.9.7触发器398
6.10小结400
热门推荐
- 2145559.html
- 2408256.html
- 633686.html
- 2006526.html
- 2261487.html
- 304523.html
- 3353737.html
- 1669174.html
- 1367645.html
- 778838.html
- http://www.ickdjs.cc/book_655547.html
- http://www.ickdjs.cc/book_3717060.html
- http://www.ickdjs.cc/book_1679481.html
- http://www.ickdjs.cc/book_1194445.html
- http://www.ickdjs.cc/book_1077440.html
- http://www.ickdjs.cc/book_3293054.html
- http://www.ickdjs.cc/book_533285.html
- http://www.ickdjs.cc/book_1680787.html
- http://www.ickdjs.cc/book_3685205.html
- http://www.ickdjs.cc/book_2357257.html