阿里毕玄:推荐给Java程序员的7本好书

简介: 假期应该看什么书?来自Java程序员的好书推荐。

作者:毕玄   
文章来源:微信公众号HelloJava

我主要还是个Java程序员,所以进阶类型的书就推荐Java相关的。

  1. 《Java并发编程实战》
    并发是高级语言里都需要掌握的稍微高级一些的技巧,这本书尽管是2012年的书了,但我觉得仍然是无比经典,绝对是必读书。
  2. 《Netty实战》
    Netty是Java中通信框架实现的典范,非常值得通过这个来学习好语言中IO相关的知识,以及优秀的通信框架的写法。
  3. 《深入理解Java虚拟机(第2版)》
    这本书我自己没看过,但听很多读过的同学的评价都是不错的,要真正的理解Java语言,就必须真正的去了解Java虚拟机,这样才能知道它的运行机制,例如Java编译、Java线程机制、Java内存管理等。
  4. 《Java性能优化权威指南》
    这书是大神级人物写的,绝对值得一看,对排查问题、性能优化都有不小的帮助。
  5. 《Oracle JRockit: The Definitive Guide》
    这书也是一本老书了,2010年写的,同样也是大神级人物写的,只有英文版,当年读这书对我学习JVM起到了很大的帮助,尽管Java同学主要用的是OpenJDK,而不是JRockit,而正因为有了对比,会对Java语言的实现有更深的理解。
  6. 《垃圾回收算法手册:自动内存管理的艺术》
    中文版是2016年的,英文版是2011年的,这书对深刻的理解自动内存管理会有很大的帮助,毕竟其实自动内存管理这个领域的实现原理很多年是没有太大改变的,但实现的细节上有了很多的优化。
  7. 《性能之巅:洞悉系统、企业与云计算》
    这书放在自己的想读列表里很久了,看评价应该是不错的,之前也说过,对于编程进阶的能力而言,查问题的能力是非常重要的一方面,这书应该有帮助,看过的同学也欢迎回复评价下。

还有很多书,先就推荐这些了,不过发现如果是论编程进阶相关的书,看起来还真有点缺,大部分书都是多年前写的。

系统设计相关
__

  1. 《架构即未来:现代企业可扩展的Web架构、流程和组织(原书第2版)》
    这书没看过,不过英文版我记得有点印象,评价好像不错的,欢迎看过的同学来说说。
  2. 《大型网站系统与Java中间件开发实践》
    老伙伴华黎几年前写的书,对于开发大型的Web系统的同学而言是很值得学习的。
  3. 《SRE:Google运维解密》
    理论上这不算系统设计的书,但运维其实是系统设计中很重要的要考虑的环节,我以前见过有些架构师设计的系统到上线的时候才发现少考虑了东西,导致上线没法上,我自己其实也干过这样的书,所以对于架构师而言,通过读这些书来扩充视野是非常重要的。

系统设计相关的书写的好的还真是有点少,当然也有原因是我看这方面的书很少。

其他
__

  1. 《智能时代》吴军
    很值得推荐,看这书能更充分的感受到智能时代带来的冲击,例如智能+工业可能会发生什么。

看这些类型的书对自己在技术方向的判断上是能有不错的帮助的。

  1. 《人类简史》
    很多地方都在推荐,对我来说是看了后才更加明白了人类发展,例如人类的协同演进。
  2. 《大学之路》 吴军
    可能很多人都觉得这书是在讲怎么选美国的大学,以及怎么考,但看了后我觉得最值得推荐的是看这书才明白了高等教育的两个主流理念,以及美国、英国这些大学是怎么建设的,为什么和国内的高等教育会不同,强烈推荐。
  3. 《鞋狗》
    看Nike的创始人是怎么把Nike做起来的,挺有意思的,可能是也很对胃口吧,兴趣和专业,是能做起来的关键。

杂书其实可以推荐的还真很多,不过春节也就这么点时间,还是不写太多了。

大家有什么值得推荐的书,也欢迎回复。

相关文章
|
27天前
|
Java 程序员
JAVA程序员的进阶之路:掌握URL与URLConnection,轻松玩转网络资源!
在Java编程中,网络资源的获取与处理至关重要。本文介绍了如何使用URL与URLConnection高效、准确地获取网络资源。首先,通过`java.net.URL`类定位网络资源;其次,利用`URLConnection`类实现资源的读取与写入。文章还提供了最佳实践,包括异常处理、连接池、超时设置和请求头与响应头的合理配置,帮助Java程序员提升技能,应对复杂网络编程场景。
49 9
|
3月前
|
存储 算法 Java
惊!Java程序员必看:JVM调优揭秘,堆溢出、栈溢出如何巧妙化解?
【8月更文挑战第29天】在Java领域,JVM是代码运行的基础,但需适当调优以发挥最佳性能。本文探讨了JVM中常见的堆溢出和栈溢出问题及其解决方法。堆溢出发生在堆空间不足时,可通过增加堆空间、优化代码及释放对象解决;栈溢出则因递归调用过深或线程过多引起,调整栈大小、优化算法和使用线程池可有效应对。通过合理配置和调优JVM,可确保Java应用稳定高效运行。
142 4
|
3月前
|
算法 Java 程序员
在Java的编程世界里,多态不仅仅是一种代码层面的技术,它是思想的碰撞,是程序员对现实世界复杂性的抽象映射,是对软件设计哲学的深刻领悟。
在Java的编程世界里,多态不仅仅是一种代码层面的技术,它是思想的碰撞,是程序员对现实世界复杂性的抽象映射,是对软件设计哲学的深刻领悟。
70 9
|
3月前
|
Java 程序员
Java数据类型:为什么程序员都爱它?
Java数据类型:为什么程序员都爱它?
54 1
|
12天前
|
SQL 存储 Java
面向 Java 程序员的 SQLite 替代品
SQLite 是轻量级数据库,适用于小微型应用,但其对外部数据源支持较弱、无存储过程等问题影响了开发效率。esProc SPL 是一个纯 Java 开发的免费开源工具,支持标准 JDBC 接口,提供丰富的数据源访问、强大的流程控制和高效的数据处理能力,尤其适合 Java 和安卓开发。SPL 代码简洁易懂,支持热切换,可大幅提高开发效率。
|
24天前
|
SQL Java 程序员
倍增 Java 程序员的开发效率
应用计算困境:Java 作为主流开发语言,在数据处理方面存在复杂度高的问题,而 SQL 虽然简洁但受限于数据库架构。SPL(Structured Process Language)是一种纯 Java 开发的数据处理语言,结合了 Java 的架构灵活性和 SQL 的简洁性。SPL 提供简洁的语法、完善的计算能力、高效的 IDE、大数据支持、与 Java 应用无缝集成以及开放性和热切换特性,能够大幅提升开发效率和性能。
|
29天前
|
IDE Java 程序员
C++ 程序员的 Java 指南
一个 C++ 程序员自己总结的 Java 学习中应该注意的点。
22 5
|
2月前
|
Arthas Java 测试技术
Java字节码文件、组成,jclasslib插件、阿里arthas工具,Java注解
Java字节码文件、组成、详解、分析;常用工具,jclasslib插件、阿里arthas工具;如何定位线上问题;Java注解
Java字节码文件、组成,jclasslib插件、阿里arthas工具,Java注解
|
1月前
|
Java 大数据 程序员
我的程序员之路:自学Java篇
我的程序员之路:自学Java篇
|
3月前
|
小程序 JavaScript Java
【资料】阿里Java开发手册
本文是关于分享阿里Java开发手册资源及促进编程规范学习的指南。作者以个人经历引入,讲述了公司领导通过细致讲解阿里Java开发手册,提升了团队对代码质量和编程规范的认识
863 0
【资料】阿里Java开发手册
下一篇
无影云桌面