一直以来求Java书籍推荐的同学就很多,所以我们就整理了下Java方面推荐人数最多的几本书,希望对大家的学习之路有一定的帮助~
本书单共包括4个系列,包括Java入门系列、Java进阶系列、JavaWeb系列、重构与设计系列的必读书籍。这些都是大家高频推荐书籍,读完这些书籍,大家就会大概对Java后端有个全面的认识了。
本文所推书籍已经创建了相关书单,进入书单即可查看所有书籍!
扫码查看
#入门系列
01
《HeadFirstJava》
作者:
KattySierra,BertBates著/杨尊一编译张然等改编
《HeadFirstJava》是本完整的面向对象(object-oriented,OO)程序设计和Java的学习指导。此书是根据学习理论所设计的,让你可以从学习程序语言的基础开始一直到包括线程、网络与分布式程序等项目。最重要的,你会学会如何像个面向对象开发者一样去思考。
真正的入门书籍,轻松搞笑,可以通过玩游戏、拼图、解谜题以及一些意想不到的方式与Java交互,在这些活动中,你会写出一堆真正的Java程序,包括了一个船舰炮战游戏和一个网络聊天程序,再也不怕“从入门到放弃”。这本书图文并茂条理清晰,非常容易理解,练习也足够,可以让你一口气读很久而不会觉得有什么地方遗漏或者根本没记住。而且这本书可以让你从语言基础开始一直学习到包括线程、网络与分布式程序等项目,最重要的是,你将学会如何像个面向对象开发者一样去思考。
02
《疯狂Java讲义》
作者:
李刚
《疯狂Java讲义》深入介绍了Java编程的相关方面,全书内容覆盖了Java的基本语法结构、Java的面向对象特征、Java集合框架体系、Java泛型、异常处理、JavaGUI编程、JDBC数据库编程、Java注释、Java的IO流体系、Java多线程编程、Java网络通信编程和Java反射机制。共覆盖了java.awt、java.lang、java.io和java.nio、java.sql、java.text、java.util、javax.swing包下绝大部分类和接口。
《疯狂Java讲义》可以算是国人原创必读经典了,同样非常适合初学者。讲解内容细致全面,系统通俗,目录划分和查找非常方便,就算完全没有基础也可以学的没有什么压力。同时这本书还考虑了Java的版本升级,非常贴心。
#进阶系列
01
《Java核心技术卷ⅠⅡ》
作者:
[美]霍斯特曼/[美]科奈尔
《Java核心技术》作为与《Java编程思想》齐名的大全式图书,这本书的内容更加细致,偏重与讲解Java计数,举例说明了大量API,内容翔实、客观准确,不拖泥带水,所以相比于《Java编程思想》,更注重于实用性。而且这本书全面而且易懂,放在案旁用到的时候查一查、看一看,也是Java初学者和Java程序员的必备参考书。
02
《深入理解JVM虚拟机》
作者:
周志明
《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》是整个Java图书领域公认的经典著作和超级畅销书,全文共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。
这本书是Java开发者必须看的书,很多jvm的文章都是提取这本书的内容。JVM是Java虚拟机,赋予了Java程序生命,所以好好看看吧。
03
《Java编程思想》
作者:
[美]
BruceEckel
本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在BruceEckel的文字亲和力和小而直接的编程示例面前也会化解于无形。从Java的基础语法到最高级特性(深入的面向对象概念、多线程、自动项目构建、单元测试和调试等),本书都能逐步指导你轻松掌握。本书内容丰富,包含了Java语言基础语法以及高级特性,适合各个层次的Java程序员阅读,同时也是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。
这是一本所有的Java学习者都无法避开的经典之作,被誉为全球最好的Java书籍。不同水平的人读这本书也会有不同的感觉,初学Java的时候也许会觉得学的非常慢,当你编程了一段时间之后再看这本书,你就会发现,你编程中遇到的问题在这本书中有很多的体现,这时候大概就是你进阶的时候了,你读这本书也会变得比从前轻松和愉快了。
04
《Java并发编程实战》
作者:
BrianGoetz;
TimPeierls;
JoshuaBloch;
JosephBowbeer;
DavidHolmes;
DougLea
本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。
本书作者都是JavaCommunityProcessJSR专家组(并发工具)的主要成员,并在其他很多JCP专家组里任职。它深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册,适合Java程序开发人员阅读。
05
《Java性能权威指南》
作者:
奥克斯
(ScottOaks)
市面上介绍Java的书有很多,但专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。通过使用JVM和Java平台,以及Java语言和应用程序接口,深入介绍了JIT编译器、垃圾收集算法、线程同步等复杂问题,讲解了很多应用性能分析以及优化的方法,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,适合所有想了解性能优化的Java程序员。
06
《EffectiveJava》
作者:
[美]
JoshuaBloch
谷歌首席架构师的大作,也是一本经典。本书介绍了在Java编程中78条极具实用价值的经验规则,并通过例子代码加以进一步说明,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对Java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。
本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。本书内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。初学者读这本书可能没有太深的体会,当你有那么一两个项目的经验,再读这本书,就会发现书中提到的某个规则就是你在很多次工作经验后总结出来的最准确的描述方式。
#JavaWeb系列
01
《深入分析JavaWeb技术内幕》
作者:
许令波
《深入分析JavaWeb技术内幕》围绕JavaWeb相关技术从三方面全面深入地进行阐述。首先介绍前端知识,主要介绍JavaWeb开发中涉及的一些基本知识,包括Web请求过程、HTTP协议、DNS技术和CDN技术。其次深入介绍Java技术,包括I/O技术、中文编码问题、Javac编译原理、class文件结构解析、ClassLoader工作机制及JVM的内存管理等。最后介绍Java服务端技术,主要包括Servlet、Session与Cookie、Tomcat与Jetty服务器、Spring容器、Ibatis框架和Velocity框架等原理介绍。
这本书是JavaWeb的集大成之作,涵盖了大部分JavaWeb开发的知识点,不过一本书显然无法把所有细节都讲完,但是作为JavaWeb的入门或者进阶书籍来看的话还是很不错的。
02
《Spring实战》
作者:
CraigWalls沃尔斯
本书适用于已具有一定Java编程基础的读者,以及在Java平台下进行各类软件开发的开发人员、测试人员,尤其适用于企业级Java开发人员。本书既可以被刚开始学习Spring的读者当作学习指南,也可以被那些想深入了解Spring某方面功能的专业用户作为参考用书。
#重构与设计系列
01
《重构_改善既有代码的设计》
作者:
MartinFowler
世界顶级、国宝级别的MartinFowler的书籍,可以说是软件开发领域最经典的基本书之一。这本书是每一个程序员都必须要看,并且需要看很多次的。
好的代码是重构出来的,而不是一开始就写出来的,除非你的代码不用于任何业务。本书从一个重构实例开始,用代码和实例配合讲解了各种耳熟能详的重构方法,非常到位,总之,是一本程序员必读书目,书中的示例代码都是java写的。
02
《代码整洁之道》
作者:
[美]
RobertC.Martin
03
《大话设计模式》
作者:
程杰
该书通过小菜与大鸟的趣味问答,用多个小故事或编程示例来组织讲解GoF总结的23个设计模式。其中,第1、3、4、5章着重讲解了面向对象的意义、好处以及几个重要的设计原则;第2章,以及第6到第28章详细讲解了23个设计模式;第29章是对设计模式的全面总结。附录部分是通过一个例子的演变为初学者介绍了面向对象的基本概念。
本书适合编程初学者或希望在面向对象编程上有所提高的开发人员阅读。
04
《HeadFirst设计模式》
作者:
[美]弗里曼
HeadFirst系列的另一本书《HeadFirst设计模式》,同样是一本非常适合入门设计模式的书籍,没有之一。这本书介绍了23个设计模式,同样采用场景对话、打比方的方式来讲解,巧妙地让设计模式的理论在实际应用中体现出来,淡化了抽象性。
点击阅读原文