深化了解Java虚构机的目录 (深化了解是病句吗?)
本文目录导航:
深化了解Java虚构机的目录
前言致谢第一部分 走近Java第1章 走近Java / 21.1 概述 / 21.2 Java技术体系 / 31.3 Java开展史 / 51.4 展望Java技术的未来 / 91.4.1 模块化 / 91.4.2 混合言语 / 91.4.3 多核并行 / 111.4.4 进一步丰盛语法 / 121.4.5 64位虚构机 / 131.5 实战:自己编译JDK / 131.5.1 失掉JDK源码 / 131.5.2 系统需求 / 141.5.3 构建编译环境 / 151.5.4 预备依赖项 / 171.5.5 启动编译 / 181.6 本章小结 / 21第二部分 智能内存治理机制第2章 Java内存区域与内存溢出意外 / 242.1 概述 / 242.2 运转时数据区域 / 252.2.1 程序计数器 / 252.2.2 Java虚构机栈 / 262.2.3 本地方法栈 / 272.2.4 Java堆 / 272.2.5 方法区 / 282.2.6 运转时常量池 / 292.2.7 间接内存 / 292.3 对象访问 / 302.4 实战:OutOfMemoryError意外 / 322.4.1 Java堆溢出 / 322.4.2 虚构机栈和本地方法栈溢出 / 352.4.3 运转时常量池溢出 / 382.4.4 方法区溢出 / 392.4.5 本机间接内存溢出 / 412.5 本章小结 / 42第3章 渣滓搜集器与内存调配战略 / 433.1 概述 / 433.2 对象已死? / 443.2.1 援用计数算法 / 443.2.2 根搜查算法 / 463.2.3 再谈援用 / 473.2.4 生活还是死亡? / 483.2.5 回收方法区 / 503.3 渣滓搜集算法 / 513.3.1 标志 -肃清算法 / 513.3.2 复制算法 / 523.3.3 标志-整顿算法 / 543.3.4 分代搜集算法 / 543.4 渣滓搜集器 / 553.4.1 Serial搜集器 / 563.4.2 ParNew搜集器 / 573.4.3 Parallel Scavenge搜集器 / 593.4.4 Serial Old搜集器 / 603.4.5 Parallel Old搜集器 / 613.4.6 CMS搜集器 / 613.4.7 G1搜集器 / 643.4.8 渣滓搜集器参数总结 / 643.5 内存调配与回收战略 / 653.5.1 对象优先在Eden调配 / 663.5.2 大对象间接进入老年代 / 683.5.3 常年存活的对象将进入老年代 / 693.5.4 灵活对象年龄判定 / 713.5.5 空间调配担保 / 733.6 本章小结 / 75第4章 虚构机性能监控与缺点处置工具 / 764.1 概述 / 764.2 JDK的命令行工具 / 764.2.1 jps:虚构机进程状况工具 / 794.2.2 jstat:虚构机统计消息监督工具 / 804.2.3 jinfo:Java性能消息工具 / 824.2.4 jmap:Java内存映像工具 / 824.2.5 jhat:虚构机堆转储快照剖析工具 / 844.2.6 jstack:Java堆栈跟踪工具 / 854.3 JDK的可视化工具 / 874.3.1 JConsole:Java监督与治理控制台 / 884.3.2 VisualVM:多合一缺点处置工具 / 964.4 本章小结 / 105第5章 调优案例剖析与实战 / 1065.1 概述 / 1065.2 案例剖析 / 1065.2.1 高性能配件上的程序部署战略 / 1065.2.2 集群间同步造成的内存溢出 / 1095.2.3 堆外内存造成的溢出失误 / 1105.2.4 外部命令造成系统缓慢 / 1125.2.5 主机JVM进程解体 / 1135.3 实战:Eclipse运转速度调优 / 1145.3.1 调优前的程序运转形态 / 1145.3.2 更新JDK 1.6的性能变动及兼容疑问 / 1175.3.3 编译期间和类加载期间的优化 / 1225.3.4 调整内存设置控制渣滓搜集频率 / 1265.3.5 选用搜集器降落提前 / 1305.4 本章小结 / 133第三部分 虚构机口头子系统第6章 类文件结构 / 1366.1 概述 / 1366.2 有关性的基石 / 1366.3 Class类文件的结构 / 1386.3.1 魔数与Class文件的版本 / 1396.3.2 常量池 / 1416.3.3 访问标志 / 1476.3.4 类索引、父类索引与接口索引汇合 / 1486.3.5 字段表汇合 / 1496.3.6 方法表汇合 / 1536.3.7 属性表汇合 / 1556.4 Class文件结构的开展 / 1686.5 本章小结 / 170第7章 虚构机类加载机制 / 1717.1 概述 / 1717.2 类加载的机遇 / 1727.3 类加载的环节 / 1767.3.1 加载 / 1767.3.2 验证 / 1787.3.3 预备 / 1817.3.4 解析 / 1827.3.5 初始化 / 1867.4 类加载器 / 1897.4.1 类与类加载器 / 1897.4.2 双亲委派模型 / 1917.4.3 破坏双亲委派模型 / 1947.5 本章小结 / 197第8章 虚构机字节码口头引擎 / 1988.1 概述 / 1988.2 运转时栈帧结构 / 1998.2.1 部分变量表 / 1998.2.2 操作数栈 / 2048.2.3 灵活衔接 / 2068.2.4 方法前往地址 / 2068.2.5 附加消息 / 2078.3 方法调用 / 2078.3.1 解析 / 2078.3.2 分派 / 2098.4 基于栈的字节码解释口头引擎 / 2218.4.1 解释口头 / 2218.4.2 基于栈的指令集与基于寄存器的指令集 / 2238.4.3 基于栈的解释器口头环节 / 2248.5 本章小结 / 230第9章 类加载及口头子系统的案例与实战 / 2319.1 概述 / 2319.2 案例剖析 / 2319.2.1 Tomcat:正统的类加载器架构 / 2329.2.2 OSGi:灵敏的类加载器架构 / 2359.2.3 字节码生成技术与灵活代理的成功 / 2389.2.4 Retrotranslator:超过JDK版本 / 2429.3 实战:自己入手成功远程口头性能 / 2469.3.1 指标 / 2469.3.2 思绪 / 2479.3.3 成功 / 2489.3.4 验证 / 2559.4 本章小结 / 256第四部分 程序编译与代码优化第10章 早期(编译期)优化 / .1 概述 / .2 Javac编译器 / .2.1 Javac的源码与调试 / .2.2 解析与填充符号表 / .2.3 注解处置器 / .2.4 语义剖析与字节码生成 / .3 Java语法糖的滋味 / .3.1 泛型与类型擦除 / .3.2 智能装箱、拆箱与遍历循环 / .3.3 条件编译 / .4 实战:拔出式注解处置器 / .4.1 实战指标 / .4.2 代码成功 / .4.3 运转与测试 / .4.4 其余运行案例 / .5 本章小结 / 286第11章 早期(运转期)优化 / .1 概述 / .2 HotSpot虚构机内的即时编译器 / .2.1 解释器与编译器 / .2.2 编译对象与触发条件 / .2.3 编译环节 / .2.4 检查与剖析即时编译结果 / .3 编译优化技术 / .3.1 优化技术概览 / .3.2 公共子表白式消弭 / .3.3 数组边界审核消弭 / .3.4 方法内联 / .3.5 逃逸剖析 / .4 Java与C/C++的编译器对比 / .5 本章小结 / 313第五部分 高效并发第12章 Java内存模型与线程 / .1 概述 / .2 配件的效率与分歧性 / .3 Java内存模型 / .3.1 主内存与上班内存 / .3.2 内存间交互操作 / .3.3 关于volatile型变量的不凡规定 / .3.4 关于long和double型变量的不凡规定 / .3.5 原子性、可见性与有序性 / .3.6 后行出现准则 / .4 Java与线程 / .4.1 线程的成功 / .4.2 Java线程调度 / .4.3 形态转换 / .5 本章小结 / 341第13章 线程安保与锁优化 / .1 概述 / .2 线程安保 / .2.1 Java言语中的线程安保 / .2.2 线程安保的成功方法 / .3 锁优化 / .3.1 自旋锁与自顺应自旋 / .3.2 锁消弭 / .3.3 锁粗化 / .3.4 轻量级锁 / .3.5 倾向锁 / .4 本章小结 / 362附录A Java虚构机家族 / 363附录B 虚构机字节码指令表 / 366附录C HotSpot虚构机关键参数表 / 372附录D 对象查问言语(OQL)简介 / 376附录E JDK历史版本轨迹 / 383
2024Java开发必读书籍介绍
继续学习关于 Java 工程师至关关键。
经过浏览低劣的书籍,咱们可以深化了解 Java 编程的外围概念和最佳通常。
以下是十本 Java 工程师必读的经典书籍,旨在协助大家裁减常识畛域,优化编程技艺和处置疑问的才干。
《Java 编程思想》(Thinking in Java)是一本驰名的经典书籍,涵盖了 Java 编程的基础常识和设计形式的运行。
关于没有 Java 编程基础的人来说,可以思考《Java 外围技术》作为参考。
《Effective Java》的第三版已上市,涵盖了 Java 7 到 Java 9 的各种新个性。
只管它不是一本基础书籍,但把握必定基础后,浏览它将十分有协助。
《Head First 设计形式》以轻松的方式展现了设计形式,适宜对面向对象和设计形式基础常识有限的人士。
设计形式并非银弹,把握一些典型形式即可。
《Java 并发编程实战》由多位出名作者撰写,器重并发编程中存在的疑问,以及如何经过牢靠的方法指点工程通常。
《深化了解 Java 虚构机》是关于 JVM 的学习佳选,被公以为国际最好的 JVM 书籍之一。
关于开源软件和互联网架构的图书,如《大型散布式网站架构设计与通常》和《深化散布式缓存:从原理到通常》,对盼望成为架构师的 Java 工程师十分有协助。
Java学习书籍介绍
1. Java基础:Head First Java实战(第三版) 适宜入门学习,经过共同方式,以谜题、探秘和访谈方式,片面笼罩Java言语和面向对象编程常识,包括Lambda、流、泛型、线程、网络和桌面GUI等外容。
即使有其余编程言语背景,也能驳回现代方法高效学习,轻松编写Java代码。
2. Effective Java中文版(原书第3版) 本书专为Java阅历丰盛的开发者设计,深化讨论Java编程中的适用阅历规定,处置日常开发中的疑问。
全书分为12章,蕴含90个条目,经过繁复的论述和示例代码,协助开发者编写高效、优雅的程序。
新版参与Java 7及以后的个性,如Lambda表白式、流、Optional类、接口自动方法等,进一步优化代码。
3. Java性能威望指南(第2版) 面向Java程序员和性能优化工程师,本书具体剖析影响性能的JVM性能、即时编译、渣滓回收、堆内存与原生内存优化、线程与同步等关键起因。
第2版专一于Java 8和Java 11,重点引见G1渣滓回收器、Java航行记载器等最新技术。
4. 码出高效:Java开发手册 本书适宜从初学者到初级开发人员的宽泛读者个体。
片面梳理Java规约,从实战登程,深化解说面向对象通常,指点开发者成为低劣程序员。
内容笼罩汇合框架经常使用、高并发多线程处置、优雅代码编写等,联合阿里巴巴通常阅历和缺点案例,协助开发者优化技术才干。
5. Java并发Java并发编程实战 本书面向有Java开发阅历的开发者,深化解析并发通常与通常,引见设计准则、形式与思想,协助构建高性能并发程序。
经过实例代码,片面解说并发编程的外围概念,包括线程安保、并发容器、原子操作、线程池等。
6. Java并发编程的艺术 第2版 本书适宜Java开发工程师、架构师、并发编程喜好者等,具体剖析Java并发编程框架、原理、技术、设计形式和运行。
内容涵盖JDK源码、JVM、CPU层面的并发成功,内存模型、锁关系API、并发容器、原子操作类、线程池等,提供丰盛的实战案例和优化方法。
7. 深化了解Java虚构机:JVM初级个性与最佳通常(第3版) 本书专为中初级开发人员、系统调优师、平台架构师设计,从原理和工程通常两方面深化解析JVM。
内容分为五大部分,涵盖Java技术体系、智能内存治理、虚构机口头子系统、程序编译与代码优化、高效并发等关键畛域,提供实战案例和优化技巧。