java学习书籍推荐

本篇博客主要推荐了一些java书籍

前言

俗话说,万事开头难,哪行哪业都是如此,只有掌握了学习的基础以及方向,我们才能持续性学习下去。如果开始就像无头苍蝇一般找不到入口,随便乱撞,这个也学那个也学,缺乏系统性的学习,看似什么都会点,但用起来又啥都不会,最终学习的兴趣被磨灭殆尽。因此,这篇博客主要是总结了一下本人学习的路线,给大家一个学习的建议。

入门阶段

1.《java从入门到精通》

这一阶段可谓是百花绽放,我相信大家肯定都有听过或者看过下面这本书:
java从入门到放弃
对不起,拿错书了,是这本:
java从入门到精通
其实,这本书我是不推荐看的,这本书名字取得倒是很好,但你要真看过这本书你就知道了。这本书讲的东西是很基础的,并且用了大量的示例来讲解,对于科班同学来说不是那么有用。还有就是,这本书他虽然讲的是基础,但是不配合光盘学习他很多东西都没有介绍就用了,比如说控制台的输入语句。这本书也不是我的入门书籍,但是看过这本书,就结论来说,这本书也就是大学JAVA基础的知识点。如果你是非科班或者你还没上JAVA基础课就想学习java,那这本书的确可以一看,但就学习效率来说,耗时长,效率低。

2.《Head First Java(第二版·中文版)》

这本书是非常好的一本书,很适合初学者,其实任何国外书籍首先推荐的都应该是英文版,因为受翻译以及专业术语的限制,中文版或多或少在翻译的时候会出现失真的情况,英文好的同学可以看看英文版。这本书的优点在于,作者其实也是研究心理学的大佬,所以书籍是以图文版呈现给大家,旨在让大家能够快乐学习,并并且其教学模式为:提出需求,设计初步解决方案,发现不足遇到问题,引入知识点,升级解决方案弥补不足解决问题。此书注重理解,深入浅出,知行合一,阅读体验极好。

2.《Head First 设计模式(中文版)》

这本书和上一本都是同一个作者,不同的是这本书讲的是设计模式,作为一个合格的码农(划掉)程序员,还是有必要知道一些设计模式,这本书深入浅出讲解了一些常用的设计模式,足以满足日常的工作需求。

4.《Java核心技术》

《Java核心技术》有两本,一本是《java核心技术 卷1 基础知识》,另一本是《Java核心技术卷 2 高级特性》。这是一本官方教程,而且又是翻译版,所以可能内容有些书面化,第一次接触java的人可能会感觉有点不适应,但其实都是一些比较好理解的东西,并且其中还有很多官方的示例,对阅读和理解还是有一定的帮助的。在卷1中,java语言的基础知识以非常体系化的方式呈现给大家,是一本不错的教学书籍。毕竟官方推荐,必属精品了。

进阶阶段

1.《java编程思想 第四版》

《java编程思想》这本书都快被奉为java圣经,其受到大众的推崇是有一定的道理的。但是在入门推荐的时候,有很多人推荐新人看这本书,导致这本书也被人疯狂吐槽。这本书个人觉得的确不适合当做入门书籍来看,因为这本书知识点比较深,对语言的剖析也比较深,各种专业术语频出,其中还配合了设计模式,加上又是翻译版。那酸爽,就是看天书,不仅十分枯燥,你还可能看不懂(对,就是本人没错了)。因此还是建议大家先把入门阶段书籍看完,然后具备一定基础的时候在看,说真的这本书每隔一段时间再看一遍都能有不同的新收获。
当然,java编程思想是有第五版的,名字叫《on java 8》。新增了流和函数式编程的知识点,但因为知识点太多,成书的话太厚,因此只在作者博客上更新。当然,国内也有很多优秀的同学将博客翻译并上传到了github上,gitbook地址为:on java 8

2.《Java并发编程的艺术》

这本书不是很适合作为 Java 并发入门书籍,需要具备一定的 JVM 基础。我感觉有些东西讲的还是挺深入的,推荐阅读。

3.《java并发编程实战》

这本书和并发编程的艺术相比,更侧重于实践,推荐和并发编程的艺术一起看。

4.《深入理解 Java 虚拟机》

作为一位Java程序员,你是否也曾经想深入理解Java虚拟机,但是却被它的复杂和深奥拒之门外?没关系,本书极尽化繁为简之妙,能带领你在轻松中领略Java虚拟机的奥秘。本书是近年来国内出版的唯一一本与Java虚拟机相关的专著,也是唯一一本同时从核心理论和实际运用这两个角度去探讨Java虚拟机的著作,不仅理论分析得透彻,而且书中包含的典型案例和最佳实践也极具现实指导意义。

这本书算是对JVM讲解最详细的一本书了,不但告诉了你JVM如何运行,同时也有大量的故障排查内容,绝对是JVM入门不二之选了。

5.《Effective Java中文版(第2版)》

这本书介绍了在java编程中78条极具实用价值的经验规则,这些经验规则涵盖了大多数开发人员每天所面临的问题的解决方案。通过对java平台设计专家所使用的技术的全面描述,揭示了应该做什么,不应该做什么才能产生清晰、健壮和高效的代码。
本书中的每条规则都以简短、独立的小文章形式出现,并通过例子代码加以进一步说明。本书内容全面,结构清晰,讲解详细。可作为技术人员的参考用书。

工具类书籍

《maven实战》

Maven是Java Web开发中不可缺少的一部分(不过现在gradle貌似正在兴起,后期学习一下),这本书内容全面而系统,Maven的原理、使用方法和高级应用尽含其中;注重实战是本书的另一个特点,不仅在各个知识点都辅有大量的小案例,而且还有一个综合性的案例贯穿全书。

《‎Redis开发与运维》

这本书全面讲解Redis基本功能及其应用,并结合线上开发与运维监控中的实际使用案例,深入分析并总结了实际开发运维中遇到的“陷阱”,以及背后的原因, 包含大规模集群开发与管理的场景、应用案例与开发技巧,为高效开发运维提供了大量实际经验和建议。本书不要求读者有任何Redis使用经验,对入门与进阶DevOps的开发者提供有价值的帮助。主要内容包括:Redis的安装配置、API、各种高效功能、客户端、持久化、复制、高可用、内存、哨兵、集群、缓存设计等,Redis高可用集群解决方案,Redis设计和使用中的问题,最后提供了一个开源工具:Redis监控运维云平台CacheCloud。

《MySQL技术内幕:innodb存储引擎》

这本书首先宏观地介绍了MySQL的体系结构和各种常见的存储引擎以及它们之间的比较;接着以InnoDB的内部实现为切入点,逐一详细讲解了InnoDB存储引擎内部的各个功能模块的实现原理,包括InnoDB存储引擎的体系结构、内存中的数据结构、基于InnoDB存储引擎的表和页的物理存储、索引与算法、文件、锁、事务、备份与恢复,以及InnoDB的性能调优等重要的知识;最后对InnoDB存储引擎源代码的编译和调试做了介绍,对大家阅读和理解InnoDB的源代码有重要的指导意义。而且这本书每一章都是一个知识点,可以随意从任意一章开始看起,在项目中需要用到哪些可以优先学习这部分知识。

《深入理解kafka》

作为消息队列来说,kafka和mq都是不错的选择,并没有哪一个最好,只有最合适的。作为kafka的学习,这本书阐述了Kafka中生产者客户端、消费者客户端、主题与分区、日志存储、原理解析、监控管理、应用扩展及流式计算等内容,是本不错的书籍。

其他书籍推荐

当然,以上只是针对于java书籍的推荐,但身为程序员,不能只狭隘的学习一门语言,还得对计算机原理和算法以及网络有一定的了解,以下是一些推荐的书籍。

  • 《TCP/IP卷一》
  • 《计算机网络》
  • 《算法 第四版》
  • 《剑指offer》
  • 《重构 改善既有代码的设计》

    结语

    其实,程序=算法+数据结构。因此,对于算法这方面的知识点永远不要停下学习的脚步,或许你在应用开发中很少使用到算法。但实际,算法越强便越不可替代。举个例子,现在抖音已经抢占了国内短视频的大部分流量,其依靠的就是视频流推荐算法,根据用户对各种视频的点赞、停留时间等等数据,计算出用户喜欢的视频类型并加以推荐,从而抢占了短视频最大的蛋糕。所以,当你男(女)朋友手机里面有抖音,拿TA的手机刷十几条视频,如果全是小哥哥(小姐姐),那不用怀疑,即使TA没点赞,TA必然也是天天看的。最后,大家可以行动起来了,祝君好运^.^。