• Java深度调试技术
  • Java深度调试技术
21年品牌 40万+商家 超1.5亿件商品

Java深度调试技术

全新正版 极速发货

50.57 5.7折 89 全新

仅1件

广东广州
认证卖家担保交易快速发货售后保障

作者张民卫著

出版社北京大学出版社

ISBN9787301313602

出版时间2020-08

装帧平装

开本16开

定价89元

货号1202119394

上书时间2024-09-04

徐小智的书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
张民卫,系统架构师,曾在华为任职11年,主持华为公司所有基于Java语言平台的产品的疑难问题技术攻关工作,所支持产品覆盖全球130多个国家。有近20年的Java开发经验,对超高可靠性与稳定性(99.999%的高可靠性要求)系统有深刻的理解和丰富的实战经验。作为技术专家,长期从事网上重大、特大运行事故以及疑难问题的技术攻关工作。

目录
第1章Java线程堆栈分析11.1打印线程堆栈31.2解读线程堆栈41.3线程堆栈分析的三个视角241.3借助线程堆栈进行问题分析26第2章通过Java线程堆栈进行性能瓶颈分析432.1基本原理分析442.2常见的性能瓶颈问题502.3性能瓶颈分析的手段和工具512.4性能分析的手段总结59第3章Java内存泄漏分析和堆内存设置623.1Java内存泄漏的背景知识633.2Java内存泄漏的症状813.3Java内存泄漏的定位和分析833.4Java堆内存泄漏的解决923.5Java内存和垃圾的回收设置94第4章关于并发和多线程1024.1在什么情况下需要加锁1034.2如何加锁1044.3多线程编程易犯的错误1064.4i++这种原子操作是否需要同步保护1074.5一个进程拥有的线程多,是否就可以获得更多的CPU1074.6合理设置线程的数量1074.7关于线程池1094.8notify和wait的组合1094.9线程的阻塞1134.10Java线程的优先级1154.11关于多线程的错误观点115第5章幽灵代码1165.1由异常而导致的函数非自主退出1175.2wait()与循环1235.3Double-CheckedLocking单例模式1245.4另一种异常陷阱――连续的关键接口调用125第6章常见的Java陷阱1276.1不稳定的Runtime、getRuntime()、exec()1286.2JDK自带Timer的适用场合1406.3JDK自带线程池的陷阱1466.4Timer的使用陷阱146第7章关于数据库1477.1关于数据库表死锁与锁表的问题1487.2Oracle的锁表/死锁1517.3使用事务的方法153第8章字符集与编码1548.1字符集1558.2编码1558.3编码的识别1578.4关于编码的转换158第9章JVM运行参数解析1609.1Java运行期参数1619.2Java-X扩展运行参数1679.3关于即时编译器(JIT)1719.4-Xrunhprof1729.5正确的视角看虚拟机180第10章常用的问题定位工具18110.1远程调试18210.2UNIX下的进行分析利器proc18210.3UNIX的进程统计工具prstat18710.4UNIX的剖析工具18810.5路由跟踪命令traceroute/tracert18810.6swap交换分区管理18910.7文件类型/符号表18910.8Windows的相关工具189第11章计算架构与存储架构19111.1计算架构――基于无状态的设计19211.2存储架构――数据分片19611.3存储架构的总结19911.4其他架构的设计建议200第12章项目生命周期与框架、语言、开源选择20212.1以项目时间尺度衡量开发语言的选择20312.2以项目时间尺度衡量开发框架的使用策略20412.3以项目时间尺度衡量开源的选择205第13章设计“工业强度”的软件系统20713.1长期运行能力的构建20813.2瞬时峰值/过载的应对能力构建20813.3池的合理设计21013.4消息系统的设计模型和关键点215第14章工程实践22114.1关于高端机器的系统部署22214.2关于物理机与虚拟化22214.3关于Java进程监控22314.4关于classLoader22314.5关于负载控制22414.6关于机器设置多个IP的原理22514.7关于日志22514.8异常处理的原则22814.9基于限制的系统部署/设计22814.10String的值不能改变的原因22914.11系统出现问题时需要收集的信息22914.12WebFailover集群的方案22914.13关于可靠性设计23214.14实现JVMShutdown钩子函数23214.15截取输出流23314.16将Linux进程绑定在特定的CPU上运行23414.17关于Java和C++的互通234第15章常见的案例23615.1太多打开的文件23715.2java.lang.StackOverflflowError23915.3java.net.SocketException:Brokenpipe24015.4HashMap的ConcurrentModiftcationException24115.5多线程场合下HashMap导致的无限死循环24215.6Web系统吊死(挂死)的定位思路24515.7基于消息系统(如SIP)吊死的定位思路24715.8多线程读/写Socket导致的数据混乱24715.9CPU使用率过高问题的定位思路24815.10系统运行越来越慢的定位思路25115.11系统挂死问题的定位思路25215.12关于线程死亡/线程跑飞25315.13关于虚拟机coredump25515.14系统运行越来越慢问题的定位思路25715.15代码GC导致的性能低下25715.16连接池耗尽25915.17更改系统时间导致的系统无法正常工作26015.18瞬间内存泄漏的定位思路26115.19第三方系统能力分析26215.20系统性能过低26415.21未捕获的异常导致数据库锁表,全系统连锁宕机26715.22单机内存泄漏导致数据库锁表,全系统连锁宕机26815.23AIX下CPU使用率被100%占用的定位思路27015.24Linux下提高UDP吞吐量27015.25TIME_WAIT状态下连接不能及时释放27015.26由SAN存储链路问题引起的应用层白屏272附录AJProfiler内存泄漏的精确定位275附录BSUNJDK自带故障定位280附B.1SUNJDK命令行选项280附B.2诊断工具的详细介绍282附B.3内存泄漏问题的定位317附B.4系统崩溃的定位方法327附B.5致命错误日志335附录CSolaris下查找占用指定的端口的进程351附录D如何在solaris下分析I/O瓶颈352附录EAIX下32位进程的最大内存占有情况353附录F关于TCP/IP354附录GWindows2003/WindowsXP下一个端口多个监听355附录G在Windows2003/WindowsXP下一个端口多个监听356附录HSuse9.0下线程创建的数量和堆内存/永久内存的关系357附录IJConsole358附录JGcviewer359附录KIBMJDK下定位引起coredump的JIT方法360附录L一份简短的Java编程规范361参考文献363

内容摘要
Java系统越来越复杂,且很多系统不允许停机维护,这就给问题的定位带来了巨大的困难。本书将重点介绍问题定位技巧,借助这些技巧,读者可以快速找到解决问题的突破口。本书共有15章,内容涉及Java线程堆栈分析、性能瓶颈分析、内存泄漏分析和堆内存设置、并发和多线程、幽灵代码、常见的Java陷阱、数据库、字符集与编码、JVM运行参数、常用问题定位工具、计算架构与存储架构、开发语言等的选择、设计软件系统、工程实践、常见案例等内容。本书内容较为专业,适合有一定Java编程经验的人员阅读,尤其是高级程序员、系统架构师等学习使用。本书对提升读者的工作效率有较大的帮助。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP