读书是另一种感知世界的方式,是另一种提升自我的方式,是另一种与人交谈的方式,一周不读书就觉得自己俗了,长久不看书,写东西就找不到感觉了,网络上,电视上,各种电子设备上的内容当然不少,但都比不上读书,读书静心,读书能闻到古埃及的味道。
关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是,多!看!书!毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单。
在这些书籍中小编还是要建议大家可以先去关注英文原版,毕竟翻译的书籍中都有一定的语法错误。
入门
《Head First Java》
作者: Kathy Sierra / Bert Bates
简介:《Head First Java》是一本完整地面向对象(object-oriented,OO)程序设计和Java的学习指导用书,根据学习理论所设计,你可以从程序语言的基础开始,到线程、网络与分布式程序等项目。重要的是,你可以学会如何像一个面向对象开发者一样去思考,而且不只是读死书。
作为一本入门书,它是绝对出色的。一个星期就能让你明白怎么用Java写程序了。尤其是你有其它语言基础的情况下,这本书能迅速让你明白java的特质。缺点是,它真的只是入门书。你必然还需要一本Java大字典,比如《Thinking in Java》,以便查阅Java在细节上的更多东西。关于这一点,书中附录B也说得很清楚了。
《Java 核心技术:卷1 基础知识》
作者:Cay S. Horstmann / Gary Cornell 译者: 杜永萍 / 邝劲筠 / 叶乃文
简介:《JAVA核心技术(卷1):基础知识(原书第8版)》是《Java核心技术》的最新版,它反遇了Java SE6的新特性。全书共14章,包括Java基本的程序结构、对象与类、继承、接口与内部类、图形程序设计、事件处理、Swing用户界面组件、部署应用程序和Applet、异常日志断言和调试、叙述方式深入浅出,并包含大量示例,从而帮助读者充分理解Java语言以及Java类型库的相关特性。
作为一本入门参考书,绝对比国内现在的大部分教材要优秀得多。对于Java初学者来说,也是一本值得时常翻阅的技术手册。书中有较多地方进行java与c++的比较,这是很有意义的,因为java与c++其实有很多类似之处,尤其是在面向对象的方面。同时书中也对Java与C++不同的地方做了一些解释,这对于学习过C++的朋友来说是很有助
《Java 编程思想》(英文名《Thinking In Java 》)
作者: [美] Bruce Eckel 译者: 陈昊鹏 / 饶若楠
简介:本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。
搞JAVA不多,但是因为很多好书都以JAVA为实例代码,所以也自学的JAVA,这本书我利用十一的假期,完整的看了一遍,虽然都很基础,但是对内力有绝对的提升!
《Java开发实战经典》
作者:李兴华 编著
简介:本书是一本综合讲解Java核心技术的书籍,在书中使用大量的代码及案例进行知识点的分析与运用,并且给出一些比较成熟的开发步骤,帮助读者更好地进行Java的开发。从作者多年的Java培训经验来看,大部分学生对各种高端开发都没有任何问题,唯一的问题在于Java基础并不牢固,而且在国内也始终没有一本真正可以引领读者入门的好书籍,大部分的书籍都是围绕概念本身进行讲解的,没有讲解清楚为什么要具备这些知识以及该如何去理解这些知识。
不知道我应该带着怎样的心情来写这份书评…… 首先java是一门高级语言,不是那么容易吸收和理解的,这就是这本书那么厚的原因吗?好吧……书中很多都是废话,我一般都是跳着看,只看“注意”和字体加深的部分,以及实例代码。 相比书,光盘里的视频讲解比较实用。
进阶
《Effective Java》
作者:(美)Joshua Bloch 译者:潘爱民
简介:本书介绍了在Java编程中57条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮的高效的代码。
看这本书的朋友就如作者所说,如果你没一定java经验的话先不要看了,因为看了可能没多少的帮助,或者很快就会遗忘千万也不要急功近利。总而言之,经典之作,当然了,有条件的朋友希望直接看英文版好了。
《Spring揭秘》
作者:王福强
简介:没有教程似的训导,更多的是说故事般的娓娓道来,本书是作者在多年的工作中积累的第一手Spring框架使用经验的总结,深入剖析了Spring框架各个模块的功能、出现的背景、设计理念和设计原理,揭开了Spring框架的神秘面纱,使你“知其然,更知其所以然”。每部分的扩展篇帮助读者活学活用Spring框架的方方面面,同时可以触类旁通,衍生出新的思路和解决方案。本书内容全面,论述深刻入理,必将成为每个Java专业开发人员必备的Spring图书。
好书,Spring里实践了大量Java语言优秀的理念,此书通过讲解Spring原理,通俗易懂地向我们展示了这些理念。
《分布式 Java 应用:基础与实践》
作者:林昊
简介:本书介绍了编写分布式Java应用涉及的众多知识点,分为了基于Java实现网络通信、RPC;基于SOA实现大型分布式Java应用;编写高性能Java应用;构建高可用、可伸缩的系统四个部分,七章内容来进行介绍,在这一本不算厚的书中,一方面结合作者的经验介绍了这些知识点;另一方面提供了进一步学习这些知识点的参考资料,希望能给想掌握编写分布式Java应用知识点的开发人员提供一定的帮助以及指引,同时也希望书中分享的经验对于目前正在从事分布式Java应用编写的开发人员提供帮助。
之前刚刚读了《大型网站架构技术》,算是同一个大主题,但前者主要讲网站机构的理论和最佳实践,而这本书则实践性比较强,还涉及了java网络编程,并行编程,jvm性能调优等等,每个方面都值得深入研究。
《http权威指南》
作者:David Gourley / Brian Totty 译者:陈涓 / 赵振平
简介:超文本传输协议(Hypertext Transfer Protocol,HTTP)是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于web浏览器和web服务器之间的双工通信。HTTP起初是一个简单的协议,因此你可能会认为关于这个协议没有太多好说的。但现在,你手上拿着的是却一本两磅重的书。如果你对我们怎么会写出一本650页的关于HTTP的书感到奇怪的话,可以去看一下目录。本书不仅仅是一本HTTP首部的参考手册;它是一本名副其实的web结构圣经。
本书对一些常见的误解进行了说明,推荐了“各种使用诀窍”,提供了便捷的参考资料,并且对枯燥且令人费解的标准规范进行了可读性很强的介绍。在这本书里,我们对Web正常工作所必须且互相关联的技术进行了详细的介绍。但是内容比较老,全而浅,不过用来给我镂空纱一样的HTTP知识查漏补缺足够了,大部分章节翻译的还不错。
《深入理解 Java 虚拟机》
作者:周志明
简介:作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。本书是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案例和最佳实践也极具现实指导意义。
在国内的图书市场上来看,这是一本很优秀的介绍 Java虚拟机的书籍。读起来很引人入胜,一口气看几章,不费劲。我对本书最大的感受就是:全面。作为一个刚开始接触 JVM 的人,我感觉本书基本上把 JVM中所涉及的概念涵盖到。
《深入浅出设计模式》
作者:莫勇腾
简介:本书是一本通俗易懂的设计模式入门指导图书。全书用两章篇幅对设计模式和GRASP作了基本介绍,用三章的篇幅全面展开对23种设计模式的讲解:对于每一种模式,先给出定义,接着通过类比方式用一个现实世界中的例子说明模式的应用,然后分别以C#和Java代码例述模式的架构实现。最后一章给出了两个设计模式综合案例,为读者实践设计模式提供了很好的学习环境。附录部分精心安排了自测题及答案,供读者练习并检验学习效果。
总体来说这本书还不错,概括的比较全,但是个人认为不适合用这本书来学习设计模式,只适合对设计模式有一定了解,之前看过一些设计模式书籍或资料的中高级读者,使用这本书来总结回顾设计模式的知识而已。
《Java 并发编程实战》
作者:Brian Goetz / Tim Peierls / Joshua Bloch / Joseph Bowbeer / David Holmes /
Doug Lea
译者:童云兰
简介:本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。
这本书名为《Java并发编程实践》有些抹杀了它的价值,其中并非只讲述了Java的多线程设施,对一般的并发编程的rationale也有相当透彻的阐述。之前看过各种线程库,pThread,Boost Thread, Java Thread, Qt Thread,感觉Java的线程模型还是相对比较清晰的。只要能读懂一点Java的朋友,都可以考虑用这本书来作为并发编程的入门书。
深入
《大型网站系统与 Java 中间件实践》
作者:曾宪杰
简介:本书围绕大型网站和支撑大型网站架构的 Java中间件的实践展开介绍。从分布式系统的知识切入,让读者对分布式系统有基本的了解;然后介绍大型网站随着数据量、访问量增长而发生的架构变迁;接着讲述构建 Java中间件的相关知识;之后的几章都是根据笔者的经验来介绍支撑大型网站架构的 Java中间件系统的设计和实践。希望读者通过本书可以了解大型网站架构变迁过程中的较为通用的问题和解法,并了解构建支撑大型网站的 Java 中间件的实践经验。
本书详细阐述了解决大型网站架构问题时通常都会采用的方案:服务框架、数据访问层、消息中间件、配置管理等,对为什么要做、如何做、如何权衡得失等进行了非常细致的介绍,是一本不可多得的好书。虽然本书的内容是基于Java的实现,但在架构层面,对使用任何语言的架构师和开发者都具有重要的参考价值。
《大型网站技术架构:核心原理与案例分析》
作者:李智慧
简介:本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web安全、系统发布、运维监控等在内的大型网站开发全景视图。
没有特别深刻的内容,大多都是就网站架构优化中比较常见的思路,也没有过多地去介绍实际的经验。比较适合刚刚接触网站架构的同学有个通盘的了解,也可以是有一定经验的同学作为目录一样去看。
《大规模分布存储式系统》
作者:杨传辉
简介:是分布式系统领域的经典著作,由阿里巴巴高级技术专家“阿里日照”(OceanBase核心开发人员)撰写,阳振坤、章文嵩、杨卫华、汪源、余锋(褚霸)、赖春波等来自阿里、新浪、网易和百度的资深技术专家联袂推荐。理论方面,不仅讲解了大规模分布式存储系统的核心技术和基本原理,而且对谷歌、亚马逊、微软和阿里巴巴等国际型大互联网公司的大规模分布式存储系统进行了分析;实战方面,首先通过对阿里巴巴的分布式数据库OceanBase的实现细节的深入剖析完整地展示了大规模分布式存储系统的架构与设计过程,然后讲解了大规模分布式存储技术在云计算和大数据领域的实践与应用。
这本书有理论介绍也有实践经验,还算不错,同时支持下国内的原创作者,给4星。看得出作者有多年的分布式系统开发经验,对Google,FB,Amazon的各个分布式系统的特点娓娓道来。前半部分的基础+范型篇还是能学到不少,特别适合初学者。不过,这本书有一半的内容是介绍OceanBase的,感觉像是OceanBase的说明书。当然这和作者的工作有关系。虽然OB用不上,不过了解下思想也是好的。
Java工程师必读
《企业应用架构模式》
作者:Martin Fowler 译者:王怀民 / 周斌
简介:《企业应用架构模式》分为两大部分。第一部分是关于如何开发企业应用的简单介绍。第二部分是《企业应用架构模式》的主体,是关于模式的详细参考手册,每个模式都给出使用方法和实现信息,并配以详细的Java代码或C#代码示例。此外,整《企业应用架构模式》中还用了大量UML图来进一步阐明有关概念。
一开始这本书,觉得讲的太抽象,草草的翻了一遍,很多东西只有一个浅浅的一个印象。后来在用hibernate的时候,偶尔又重新翻开这本书。书里讲的很多东西,都在hibernate里面有体现。尤其是讲关系映射那章,在hibernate文档里面都只讲怎么做,不讲为什么,在书里讲的很清楚,看了很有收获。
《敏捷软件开发:原则、模式与实践》
作者:Robert C. Martin 译者:邓辉
简介:本书不仅是一部深入浅出、生动易懂的面向对象原则与设计模式著作。而且还是一部通俗的敏捷方法导引书和快速实用的LJML教程。通过《敏捷软件开发:原则模式和实践》你会发现,许多以前看起来非常枯燥费解的概念,忽然间都豁然开朗。变得鲜活生动起来。
此书与敏捷的关系不大。所谓敏捷,那就是代码先写了再说,且看我们是如何做到,这就是读了这本书的感受。中文版没有把特定的英文缩写在第一次引用时列出来(只能在后面的索引表里找到),比如DIP和SRP。不过,说到底还是中文看得快,比看小说都快。本书的一大特点就是浅显,比GOF的那本《设计模式》通俗易懂多了。
《Java性能优化权威指南》
作者:Charlie Hunt / Binu John 译者:柳飞 / 陆明刚
简介:Java性能优化圣经!Java之父重磅推荐!本书由曾任职于Oracle/Sun的性能优化专家编写,系统而详细地讲解了性能优化的各个方面,帮助你学习Java虚拟机的基本原理、掌握一些监控Java程序性能的工具,从而快速找到程序中的性能瓶颈,并有效改善程序的运行性能。
这本书介绍了Java程序员需要掌握的OS、JVM层面的很多知识,系统详尽地介绍了性能优化的各个方面。并且作者结合自己的经验总结了一些性能优化的模式,例如CPU利用率高的时候需要怎么进行优化等,这些模式让人受益匪浅,相信读过后能对大家日常工作中做性能优化提供不小的帮助。
Java四大名著
《Java编程思想(第4版)》
原书名:Thinking in Java
详情请见上文。
《JAVA 2核心技术 卷II:高级特性(原书第7版)》
本书是java 2技术权威指南,全面覆盖java2技术的高级主题,包括:多线程、集合框架、网络api、数据库编程、分布式对象等,深入探究了swing、java 2d api、javabean、java安全模式、xml、注释、元数据等主题,同时涉及本地方法、国际化以及jdk 5.0的内容。本书适合软件开发人员、高等院校学生和教师参考。
《Java Web开发详解--XML+XSLT+Servlet+JSP深入剖析与实例应用》
本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。本书内容全面,涵盖了从事javaweb开发所应掌握的所有知识。在知识的讲解上,本书采用理论与实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例和实验来验证并运用本书的知识。
本书语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前web开发中经常使用的功能,具有相当的实用价值。本书不仅可以作为javaweb开发的学习用书,还可以作为从事java web开发的程序员的参考用书和必备手册。
《Effective Java中文版(第2版)》
本书介绍了在java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。
本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。本书内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。
为大家整理了这么多,快说,你们爱不爱我?
爱!
本文为原创作品,为尊重劳动成果,转载请注明作者以及原文链接,谢谢大家。