阿里架构师力荐2019Java程序员必看书单《附赠PDF电子档》
1.《深入理解Java虚拟机:JVM高级特性与最佳实践》本书适合所有Java程序员、系统调优师和系统架构师阅读。
共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。
-
第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。
-
第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见虚拟机监控与故障处理工具的原理和使用方法。
-
第三部分分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。
-
第四部分讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果。
-
第五部分探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。
电子版:
2.《Java并发编程实战》深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。
书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。 需要的朋友们可以下载试试吧!
Java并发编程实战适合Java程序开发人员阅读。
这本书为Java开发人员在线程编程领域提供了不可多得的知识。在读这本书时会受到极大的启发,部分原因在于它详细地介绍了Java中并发领域的API,但更重要的却在于这本书以一种透彻并且易懂的方式来介绍复杂的并发知识,这是其他书籍很难媲美的。
电子档:
3.《Java性能权威指南》主要为Java SE 和Java EE 应用的性能调优提供建议。主要包括以下几方面:性能监控、性能分析、Java HotSpot VM 调优、高效的基准测试以及Java EE 应用的性能调优。
市面上介绍Java的书有很多,但专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,最终使程序如虎添翼。
通过阅读本书,你可以:
-
运用四个基本原则最大程度地提升性能测试的效果
-
使用JDK中自带的工具收集Java应用的性能数据
-
理解JIT编译器的优缺点
-
调优JVM垃圾收集器以减少对程序的影响
-
学习管理堆内存和JVM原生内存的方法
-
了解如何最大程度地优化Java线程及同步的性能
-
解决Java EE和Java SE应用程序接口的性能问题
-
改善Java驱动的数据库应用程序的性能
《Java性能优化权威指南》适合所有Java 程序员、系统调优师和系统架构师阅读。
电子档:
4.《Java多线程编程核心技术》是资深Java专家10年经验总结,全程案例式讲解,首本全面介绍Java多线程编程技术的专著。本书以浅白的措辞,结合大量实例,全面讲解Java多线程编程中的并发访问、线程间通信、锁等最难突破的技术与应用实践。
全书共7章。
- 第1章讲解了Java多线程的基础,重点介绍线程类的核心API的使用。
- 第2章讲解对并发访问的控制,即如何写出线程安全的程序。
- 第3章介绍线程间通信,以提高CPU利用率和系统间的交互,同时增强对线程任务的把控与监督。
- 第4章讲解Lock对象,以更好实现并发访问时的同步处理。
- 第5章讲解移动开发中使用较多的定时器类中的多线程技术,这是计划任务执行里很重要的技术点。
- 第6章讲解如何安全、正确地将单例模式与多线程技术相结合,避免实际应用中可能会出现的麻烦。
- 第7章将前面被遗漏的技术案例在本章节中进行补充,尽量做到不出现技术空白点。
电子档:
5.《Netty实战》本书适合所有Java程序员、系统调优师和系统架构师阅读。
无论是构建高性能的Web、游戏服务器、推送系统、RPC框架、消息中间件还是分布式大数据处理引擎,都离不开Netty,在整个行业中,Netty广泛而成功的应用,使其成为了Java高性能网络编程的卓绝框架。
Netty的现Tech Lead Norman在本书中循序渐进地讲解了Netty的各个关键部分,在看完本书后,你不但可以熟练地使用Netty来构建以上系统,并且还可以避免很多常见的陷阱。
本书共分为4个部分:
- 第一部分详细地介绍Netty的相关概念以及核心组件
- 第二部分介绍自定义协议经常用到的编解码器
- 第三部分介绍Netty对于应用层高级协议的支持,会覆盖常见的协议及其在实践中的应用
- 第四部分是几个案例研究。
此外,附录部分还会简单地介绍Maven,以及如何通过使用Maven编译和运行本书中的示例。
阅读本书不需要读者精通Java网络和并发编程。如果想要更加深入地理解本书背后的理念以及Netty源码本身,可以系统地学习一下Java网络编程、NIO、并发和异步编程以及相关的设计模式。
电子档: