本文为原创,转载请注明出处。本文旨在持续收集Java方面公认的一些经典著作,作为未来深入了解Java的一些参考。目前我的信息收集主要源自于手动的搜索,比如通过java recommended books的关键字查询Google,或者查询亚马逊上面的Best-Sellers-Books-Java-Programming,或者在Google上查询Java的推荐书单时,加上知乎||Quora||Stackoverflow等关键字,或者在微信公众号上面查找相关的推荐书目。 我觉得这方面的工作,将来可以思考一下如何自动化进行,比如说通过机器学习,可以自动地根据你想要了解的领域,从网上海量的资源中,找到该领域推荐的书单,并且给找到的书目进行评级或者分类。简单一点,至少也可以写一个爬虫,去主要的信息渠道中,找到一些有用的信息。
Java核心书单
-
Head First Java
初学Java时,第一本从头到尾看过的就是这本书,说这本书是最好的Java入门书,我觉得并不为过。实例生动有趣,中学生也能看懂。基本上每一个网上的Java推荐书单里,都有这本书的身影。除此之外,不少网友推荐,入门Java可以从看 The Java™ Tutorials开始
-
Core Java
这本书就是大名鼎鼎的《Java核心技术》,一共有两本:卷1(基础),卷2(高级特性)。卷1就有超过1000页,被网友称之为JavaSE大百科全书,知识面十分广泛。尽管内容庞大,不少国外的读者都认为,这本书的语言通俗易懂,因此是入门佳选。The topics are covered in great detail, but the authors' writing styles make the topics easy to understand, and a pleasure to read.
-
Intro to Java Programming
这本书的作者Y.Daniel Liang(梁勇)是普渡大学的终身教授,他所著的这本书是美国许多大学的Java课程教材,亚马逊上面对这本书的评价出现两极分化之势。近六成的读者给了5颗星,与此同时,有近2成的人给了1颗星,与之十分相像的情形在SICP这本书上也出现过。一般而言,给低分可能是因为这类书相对于趣味性很强的入门读物而言,层次比较高,它涉及到了更多思想层面的内容,而不仅仅局限于“术”的讲解,一部分普通读者难以登上其山头,从而产生自暴自弃的情绪所致。亚马逊上一位编程经验超过40年的读者强力推荐该书,引用他的评价:Don't give up - it takes reading, and re-reading, and doing all the exercises...So remember - the first painful step in learning is having your brain saturated, then it has to sit there a while before the 'lightbulb comes on". Finally you have to put it into practice for your brain to 'close the loop.'
(不要自暴自弃,这本书值得你反复回味、完成书中的全部练习...学习的第一个使人煎熬的阶段便是让你的大脑完全沉浸在其中,接下来必须让大脑适应一段时间,直到灵光一现、大彻大悟的时刻到来。最后你必须加以实践,来完成整个领悟的过程)。这本书还推出了一个简略版本:Introduction to Java Programming: Brief Version
-
Effective Java
亚马逊上81%的人给了5颗星,豆瓣9.1分,Joshua Bloch所写的这本书可以称得上是经典中的经典了,这个人也是神了,他写的书每本都在9分以上,可见其功力非同小可。资料显示,他是CMU的CS博士,Java底层Api中不少神妙之笔均出自他手,他也曾任Google的Java首席架构师。作为Java世界的造物主之一,将他的书比作Java的圣经不为过。
-
Java Concurrency in Practice
Java并发编程实战,尚未拜读,同样是经典Java推荐书单中的常客,备受国内外读者推崇。在StackOverflow的各编程语言推荐书单中,作为Java仅有的6本推荐书中,它也占有一席之地。
-
深入理解Java虚拟机(第2版)
为数不多国产经典Java书籍,JVM方面的书,国外的著作有:Understanding Java Virtual Machine 以及The Java Virtual Machine Specification。
其他Java书单
-
Java: A Beginner's Guide
这本书在豆瓣上面的书评不太多,这里给了亚马逊的链接。整本书有上千页,我没看过这本书,从网上的评价来看,褒贬不一:有些人说这本书的3分之1都是Java的文档(The book is full of Javadocs, I would say 1/3 of the book is Oracle javadocs
),对于许多重要的内容又只是浅尝辄止,没有深入探讨(Many important points are covered too shallow
)。还有一些人说这本书实例丰富,读起来十分流畅(It is a reference book, yes, but can be read through comfortably.There are plenty of examples throughout each section to apply the outlined knowledge.
)。在我看来,这本书maybe是一本不错的参考书,但是也许并不是最好的“Beginner's Guide”。编程是一门技术活,真正学会基本上都是靠动手实作的过程,上来就给初学者一个上千页的指“南”,可能反而让人找不到北。我个人认为初学的话,还是生动、幽默、有趣为好。等真正有了一些基本功,回过头来再翻翻这种大部头“初学者指南”,查缺补漏。
参考资源
★Top 9 Java Programming Books - Best of lot, Must Read
Must-reads for Java Developers: From Beginner to Professional
★听说最近你读过不少书
如果仅选择1本Java书,你推荐哪本呢?
关于 Java 学习,有哪些值得推荐的书籍或教程?
Amazon:Best-Sellers-Books-Java-Programming
★学习 JAVA,有什么书籍推荐?学习的方法和过程是怎样的?