我上一篇博客文章 (我对高级Java开发人员的十个最喜欢的在线资源)的想法是由Xiaoran Wang发表的针对高级Java开发人员的十大网站的启发。 Wang还写了一篇名为《面向Java高级开发人员的十大书籍》的文章。 正如关于高级Java开发人员的最佳网站上的帖子一样,很容易看出为什么Wang列出了他列出的十本书。 在这篇文章中,我查看了我的前十名清单,其中包括与他的清单相同的许多书,但清单中有几本不同。
有许多针对入门Java开发人员的好书(有些不是很好)。 但是,为中级和高级开发人员找到好的Java书籍似乎要困难得多。 有很多书籍可以针对非常狭窄的主题进行深入的介绍,因此适合高级Java开发人员,但是似乎没有几本针对高级开发人员的“更通用”的Java书籍。
5. Java泛型和集合
我认为许多Java开发人员都会说使用Java集合很容易,而泛型的使用范围可能会很容易,具体取决于您的工作。 但是, Java泛型和集合 ( O'Reilly , 2006年 )中有很多内容可以吸引高级开发人员,涵盖泛型和集合 。 本书的作者指出了与泛型相关的有用实践,并概述了在不同情况下使用哪些集合。 即使是一些经验丰富的Java开发人员,也可能不会总是在特定情况下仔细考虑使用哪些集合,因此本书深入了解了每个主要Java标准集合的优缺点,以及每个缺点。 该书深入研究了泛型的困惑,并概述了重要的考虑因素 ,如取放原理 。
4. Java性能
Charlie Hunt和Binu John的Java Performance (Pearson Education, 2011年 )提供了有关Java应用程序调优的深入介绍。 该书概述了性能调优的许多方面,总结了可用的命令行选项以及如何使用它们来测量和调整设置,以使应用程序性能更好。 这是一个复杂的主题,已全面介绍,并且重点关注Java的最新版本。
3.经验丰富的Java开发人员
经验丰富的Java开发人员( Manning ,2012年)是一本针对中级和高级Java开发人员的书。 正如我在《 The Well-Grounded Java Developer》的评论中所讨论的那样,它可以帮助经验丰富的Java开发人员赶上一些最新的Java和JVM趋势( Java 7 , 依赖注入 , Scala , Groovy , Clojure ),同时还涉及一些主题。在深度上很少接受这种类型的处理( 类加载 , 性能调整 ,并发)。 有专门针对这些主题的书籍,但这是一本书,可以在一本书中快速为所有这些高级主题(以及更多)奠定基础。
2. Java并发实践
与泛型一样,并发是甚至许多高级Java开发人员都可以负担得起的另一项技能。 Java实践中的Java并发性 ( Pearson Education ,2006年, Brian Goetz和许多其他Java并发性专家)是Java书籍中的事实上的标准,涵盖了用Java编写并发应用程序。
1.有效的Java
Effective Java的两个版本(第一版和第二版)( Joshua Bloch ,Pearson Education,第二版,2008年)都很出色。 ChristianBeutenmüller对Ryan Wang的“面向高级Java开发人员的十大书籍”的DZone联合版本提出了一个好的观点:“我将删除有效的Java(因为这是我推荐给初学者的第一本书)。” 像Beutenmüller一样,我也向新的Java开发人员推荐Effective Java ,但是我发现自己甚至将中级和高级Java开发人员都推荐给Effective Java,并定期进行引用。 即使不是Java的相对较新的人, Effective Java的某些部分也很容易理解,然后那本书的某些部分我才意识到,只有获得了知识和经验,我才真正欣赏。 在许多情况下,我需要现实的经验,以错误的方式做事,以了解本书概述的做法的某些好处和细微差别。 简而言之, Effective Java是我能想到的为数不多的几本书籍,特别适合初学者Java开发人员,特别适合中级Java开发人员,特别适合高级Java开发人员。
荣誉奖
还有其他书籍可以列入此列表,我们大多数人对高级Java书籍的看法可能有所不同。 对于我来说,“高级Java开发人员”是一个Java开发人员的知识显著深度 ,知识显著广度 ,对Java的新的和即将推出的功能意识,工具和产品的认识Java社区援助整个Java开发生命周期。 “有效单元测试”和“ Java Power Tools”是两本不涉及高级主题的书,但我认为这些书中包含的信息可以帮助Java开发人员从初学者过渡到中级或高级Java开发人员。 特别是, 有效的单元测试可以帮助Java开发人员编写更好,更高效的单元测试,而Java Power Tools可以帮助Java开发人员增加知识的广度,这些关键的开源工具可以在Java开发的所有阶段中使用。 刚开始的Java开发人员往往没有有效单元测试中包含的单元测试经验,并且通常缺乏Java Power Tools中概述的可供Java开发人员使用的产品的知识。
结论
我认为很难编写和出版高级Java书籍。 编写高级Java书籍要求作者对所写作的主题有深刻的理解,出版商通常会比高级书籍出售更多入门书籍。 与编写和发布入门级Java书籍相比,编写和发布高级Java书籍的入门障碍似乎更高。 在线资源在许多方面似乎更适合满足高级Java开发人员的需求,但是我在这篇文章中列出的五本书颠覆了这种趋势,并提供了在线资源在可访问性和内聚性方面无法比拟的详细而透彻的信息。 此列表中的书籍对高级Java开发人员很有用,但在帮助Java开发人员成为高级Java开发人员方面可能最有用。
翻译自: https://www.javacodegeeks.com/2013/09/my-favorite-books-for-advanced-java-developers.html