剑指JVM:虚拟机实践与性能调优
上QQ阅读APP看书,第一时间看更新

前言

Java语言的重中之重是Java虚拟机。在程序开发的过程中,经常会出现一些棘手的问题,比如内存泄漏、频繁垃圾收集导致系统时延高等,这时候就需要Java虚拟机的知识储备了。对于Java语言的掌握,API层面的开发好比武功中的一招一式,而Java虚拟机就像是内功,内外兼修才能在Java武林中立于不败之地。

学习Java虚拟机对于提升开发人员的技术深度至关重要。当下的学习资料要么晦涩难懂,要么浅尝辄止,或是只注重理论缺少实操,学习者无法在实践中融会贯通。本书为解决这样的学习痛点而编写,基于尚硅谷多年的教学积累,以及作者在B站300万播放量的Java虚拟机视频,秉承“初学有所得,重读有所悟”的理念详解Java虚拟机知识体系。

本书以理论为骨架,以案例为血肉,理论知识系统全面,案例众多实战性强。理论讲解采用了丰富的图示,通过生活化的举例,由浅入深,通俗易懂。同时,本书拒绝纸上谈兵,每个章节都有大量的案例展示,包括企业级的性能调优方案,让学习者可以理论结合实践,边学边练,切身感觉到Java虚拟机的奇妙之处。书中Java虚拟机知识点覆盖全面,囊括了Java程序员在工作或面试中会频繁遇到的核心原理和应用实践。

全书共分5篇,总计26章,内容简介如下。

引言篇。

· 第1章:Java与JVM的关系、JVM发展历程、JVM架构模型和JVM生命周期。

第1篇:运行时数据区篇。

· 第2~8章:JVM运行时数据区的内存结构,包括程序计数器、虚拟机栈、本地方法接口、本地方法栈、堆和方法区。

· 第9~10章:对象实例化的详细过程、对象在内存中的布局及对象的访问方式、直接内存的优势。

· 第11章:虚拟机的热点代码探测方法、即时编译器及其他编译器。

· 第12章:字符串常量池在不同JDK版本中的位置变化,字符串拼接操作的底层原理。

第2篇:垃圾收集篇。

· 第13~15章:Java内存收集体系,通过引用计数法和可达性分析算法定位垃圾对象,常用的垃圾收集算法(标记-清除算法、复制算法、标记-压缩算法)。

· 第16章:常见的垃圾收集器(CMS垃圾收集器、G1垃圾收集器等)。

第3篇:字节码与类的加载篇。

· 第17章:通过案例介绍class文件的各个组成部分,如魔数、文件版本号、常量池等。

· 第18章:JVM中的字节码指令。

· 第19~20章:类的加载过程和类加载器,类加载过程采用的双亲委派机制,类加载过程需经历的“加载”“链接”和“初始化”三个阶段,链接阶段细分的“验证”“准备”和“解析”。

第4篇:性能监控与调优篇。

· 第21~22章:JDK自带的命令行工具和可视化工具的使用方法。

· 第23~24章:JVM中常用的运行时参数、分析不同垃圾收集器产生的GC日志。

· 第25~26章:常见的内存溢出场景和企业级的性能调优案例。

本书既适合对Java虚拟机感兴趣的初学者,也适合希望管理和优化系统的中高级开发人员,不同基础的学习者都能从本书中有所收获。

本书的配套视频,可以在尚硅谷教育公众号(微信号:atguigu)聊天窗口发送关键词jvmbook,即可免费获取。

关于我们

尚硅谷是一家专业的IT教育培训机构,在北京、深圳、上海、武汉、西安、成都等地有多所分校,开设有Java、大数据、前端等多门学科,累计发布视频教程超过4000小时,广受赞誉。通过面授课程、视频分享、在线学习、直播课堂、图书出版等多种方式,满足了全国编程爱好者对多样化学习场景的需求。

尚硅谷一直坚持“技术为王,课比天大”的发展理念,设有独立的研究院,与多家互联网大厂的研发团队保持技术交流,保障教学内容始终基于研发一线,坚持聘用名校、名企的技术专家,进行源码级技术讲解。

希望通过我们的努力,帮助到更多需要帮助的人,让天下没有难学的技术,为中国的软件人才培养尽一点绵薄之力。

尚硅谷教育