从入门到进阶,JAVA书籍的最佳阅读顺序!

article/2025/10/5 22:32:43

本文首发于知乎,已获得1000+赞和收藏

原文链接:https://www.zhihu.com/question/269505829/answer/1791006152

先介绍下本人的情况,希望对大家学习Java之路有一定帮助。

本人本科完全没接触过Java,后自学Java,对整个技术栈有一些沉淀,并顺利拿到阿里巴巴集团校招offer,中间也走过很多弯路,希望对楼主有一些帮助。

看书一定要看经典书(不在多),先放图镇楼,然后按照由浅入深的顺序(Java语言基础->Java语言进阶->分布式&存储->修炼内功)来对书单做描述以及推荐的理由。

首先是语言基础,有了扎实的语言基础,才可能写出一手好的工业级的代码。

第一阶段、Java入门书单推荐

目的是掌握java语言基础,进行简单的开发。

学习内容:

1.Java入门书籍,后面有列举推荐。

2.代码规范。Java服务端遵循的是Oracle的Java语言编码规范,在编写代码之前,要先熟悉。

3.开发流程。了解开发流程,而且必须要熟悉每一个环节。开发流程大致是:功能开发→单元测试→功能测试→Code Review→集成测试→发布。

4.开发工具。对于入门者来说,首先建议你安装JDK+文本编辑器的开发工具包,并下载和你的JDK版本一致的API帮助。另外,你最好掌握常用类库和工具包,如goole guava等,因为JDK原生API在很多场景下并不方便。在选择Java IDE时,很多人推荐Eclipse,这个的话仁者见仁吧,我个人还是推荐Intellij IDEA,因为Intellij IDEA在调试、自动完成和重构方面的表现都比Eclipse更优秀。当然,在构建桌面的应用平台时,选择哪个就另当别论。

推荐书籍1:《head first java》

可以先从基础入手,掌握java语言基础知识:集合、多线程、网络、面向对象设计等。

首推《Head First Java》,这本书相比常见的另外两本书《Java编程思想》和《Java核心技术》,偏趣味性,语言也比较轻松,能将高深的知识讲的浅显易懂,不会让人觉得枯燥无味。

另外2本书大块头,部分章节比较枯燥难以理解,容易让初学者钻进去出不来。

推荐书籍2:《Java并发编程实战》

要写出工业级的代码,必然和并发脱离不了干系。程序员面试,并发也是必考知识点之一。

书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,最后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。

第二阶段、Java语言进阶书单

需要掌握基本的调优技能以及面向对象设计的思想,为写出工业级代码打基础。

学习目标:服务端项目开发

学习内容:

1.Spring。项目开发必备。

2.关系型数据库。主要学习MySQL,包括设计MySQL表结构,基于执行计划的SQL分析优化根据业务特点分表分库,数据库容量规划等。

3.非关系型数据库。主要学习NoSQL,Hadoop、HBase、Hive这些常用的工具一定要学会使用。

4.服务容量规划和性能调优。性能调优知识、可靠性保障、故障处理、监控报警系统,这些也都要掌握。

推荐书籍3:《深入理解Java虚拟机》

作为Java程序员,不懂JVM是不行的。

本书详细讲解了类加载、java内存原理、垃圾回收机制等知识。只有掌握了JVM,才能在实际生产环境遇到线上问题如GC频率过高、内存溢出等应对自如、还有应用系统JVM参数合理配置。

本书是JVM公认的推荐好书,是Java进阶必看书籍。

推荐书籍4:《Java性能权威指南》

市面上专注于Java性能的并不多,能游刃有余地展示Java性能优化难点的更是凤毛麟角,本书即是其中之一。

通过使用JVM和Java平台,以及Java语言和应用程序接口,本书详尽讲解了Java性能调优的相关知识,帮助读者深入理解Java平台性能的各个方面,最终使程序如虎添翼。

推荐书籍5:《大话设计模式》

如果以前未接触过面向对象程序设计,那么本书必读,毕竟面向对象程序设计和C语言中面向过程设计有很大的不同。

 

第三阶段、分布式书单推荐

学习目标:中间件开发和分布式系统

学习内容:

1.开源项目:学会分析项目中的设计思路、中间件开发和项目源码,比如RocketMQ、Netty等。

2.知识体系构建。回顾自己的学习过程,建构自己的知识体系,多看大型网站系统和技术建构,了解核心原理和Java实践过程。

3.参与项目。参与项目的过程是提高深化的过程。在这个过程中你就能发现自己对那些知识掌握不足,也能够提高自己的能力,多参加项目才会提高更快。

4.根据自己的实际需求提升某方面技能。这就是个查漏补缺、优势扩大的过程。在流式计算上有优势,就进一步提升,在找一些相关的书籍精读。

推荐书籍6:《数据密集型应用系统设计》

吐血推荐,本书豆瓣评分9.7分,堪称分布式领域圣经,本人非常后悔没有更早的阅读本书。

本书并没有局限于那种分布式框架,而是着重讲解分布式整体架构设计理念和基础知识。

作者水平非常高,本书广度非常大(诚然并不是很深,要在一本书里将那么多知识深度讲解也是不可能的),深入浅出,大家不用担心晦涩难懂(在这里更加推荐英文基础好的话直接读英文原版)。

包含:分布式系统的存储(第三章存储、第五章复制、第六章分片)、分布式一致性、实时计算(第十章和十一章的批处理和流处理)。书中更是给出了相当多的参考文献链接,值得深入研究。

 书中有大量插图,将分布式系统高深的技术形象生动的描述,通俗易懂,比如下图是讲数据库多副本 并发写的问题的:

我最近也在三刷《设计数据密集型应用》,写了一些读书笔记,主要是帮助自己消化知识点,未来也会做一些实战案例,感兴趣的可以看一下我下面的专栏:

夏天:设计数据密集型应用-C5-主从架构及同步延迟问题

夏天:设计数据密集型应用-C5-多主数据复制架构

夏天:设计数据密集型应用-C5-去中心化复制架构

夏天:设计数据密集型应用-C6-分区和二级索引

夏天:设计数据密集型应用-C6-分区Rebalancing和路由

 

推荐书籍7:数据库《高性能MySQL》

本书深度讲解了mysql引擎架构、索引设计、SQL查询优化的实战技巧、复制、分片等原理,还有运维技能。适合精读。

如果是从事网络相关开发,如rpc框架、mq消息中间件,那么还需要掌握网络相关基础知识,以及业界有名的高性能网络组件Netty。

第四阶段、java内功修炼

推荐书籍8:《重构》

所谓精益求精,同一件事,同一个功能,让不同的人来做会写出不同的代码。本书通俗易懂,教你如何不断优化现有代码,逐步迭代重构,写出清晰易懂、功能正确、可扩展可维护的代码。

最后,看书是一方面,更重要的是实战,勤动手,看源码,多Debug,写DEMO,多参与开源社区讨论。如果大家觉得我的回答有用,请点个赞,谢谢!


http://chatgpt.dhexx.cn/article/pSt5jjCL.shtml

相关文章

年底了,感谢大家2022年的支持,虚竹哥送10本JAVA好书

❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作者🏆,阿里云专家博主&#x1f3…

Java 图书管理系统

学习了类和对象之后,就可以自己来做个小的项目来提升自己的能力了。本文章就来说明如何来做一个简单的图书管理系统。写一些小项目是一种很锻炼逻辑和熟悉语法的好方法。 在做这些项目的时候,要明白一点是我们的Java是面向对象的,要使用面向对…

JAVA学习,你必读的5本JAVA书籍

给广大JAVA爱好者推荐JAVA教程,很多人学习Java是从《Thinking in Java》这本书入手的,但是我认为这本书是不适合初学者的。我认为正确的使用这本书的方法应该是作为辅助的读物,第四版翻译的已经不错了,其实如果英文OK的人还是读原版比较好。 …

JAVA实战小项目——图书馆管理系统

✨前言 某日在逛b站的时候看到有人做出了图书馆管理系统,在仔细梳理自己以学过的java相关知识点后,发现还是能够实现的!😎 需要用到的相关知识点:向上转型,动态绑定,重写,继承&…

几本推荐的Java书

一、《深入理解Java虚拟机:JVM高级特性与最佳实践》 如果你不满足于做一个只会写if…else…的Java程序员,而是希望更进一步,我随便举几个例子吧: 1、了解Java代码的底层运行机制 2、定位性能问题 3、对整个系统进行性能调优 4、解…

Java学习路线总结(书籍、视频推荐篇)

🍅 作者简介:CSDN2021博客之星亚军🏆、新星计划导师✌、博客专家💪 🍅 哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师 🍅 关注公众号【哪吒编程】,回复1024&a…

【java】面向程序员的 10 大 Java 书籍 — 历久弥新

一些针对 Java 程序员的最佳书籍,从核心 Java 到最佳实践,从单元测试到 Spring 框架。 历史上排名前 10 位的 Java 书籍 事不宜迟,这里是我列出的一些对 Java 程序员来说最流行和最重要的书籍。 如果您从事 Java 编程 2 到 3 年&#xff0c…

学习Java必看的Java书籍(本本经典实用)

今年下半年,正式系统地学习Java。最近把学习Java所用到的书籍整理了一下,分享出来,希望对正在学习或准备学习Java的人有一定的帮助。 关于Java的学习路线,和IDE工具IntelliJ IDEA的安装使用可以看我之前的文章。当然,我也在不断更新自己的学习总结。也可以关注我一下,大…

关于写的Java书籍进展

大家好,去年说要写本Java书,近期就快出版了。目前已经开始打印样书了,最快于本月中旬左右就可以在互动网www.china-pub.com上看到消息,其它各个网站何时会发售要看具体进货情况。 去年我预期是半年写好这本书,6个月左右…

Java程序员必看的 14 本 Java 书籍!

关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序…

豆瓣高分JAVA书籍,你都读过吗?

作为一个程序员,要时时刻刻的学习,豆瓣高分JAVA书籍你都看过了吗?,文末有粉丝福利哦!!! 1.《算法(第4版》 9.32分 本书全面讲述算法和数据结构的必备知识,具有以下几大特…

工作十年,分享看过的优质 Java 书籍

不知不觉,我已经接触 Java 11 年了——从 2008 年北京奥运会那年开始,到现在;未来还会更久。这期间我读了不少 Java 方面的书籍,纸质版的少说有三十来本吧,更何况还有不少的电子书。万事都有好坏,书也一样。…

Java程序员必看经典书籍,助你早日打通任督二脉

一、Java四大神兽,神兽在手,天下我有! 1、《Java核心技术卷一》 唯一可以和《Java编程思想》媲美的一本Java入门书籍。单从技术的角度来看,前者更好一些。但上升到思想层面嘛,自然后者更好,两者的偏重点不…

Java书籍推荐(这些书你看过几本?)

目录: 1.《Java语言程序设计》 2.《Java 7入门经典》 3.《Java核心技术卷 I(原书第11版)》 4.《深入理解Java虚拟机》 5.《Java 编程思想》 6.《Java Web开发详解–XMLXSLTServletJSP深入剖析与实例应用》 7.《分布式 Java 应用&#…

Java 十大必读经典书籍推荐

今天给大家推荐十本学习 Java 语言必读经典书籍,它们经过了无数人的口口相传,都已成为了 Java 领域顶级的经典名著。 1、Java核心技术卷 I基础知识 豆瓣评分:9.4 Java 领域极有影响力和价值的著作之一,与《Java编程思想》齐名&a…

干货 | 如何系统学习 C 语言?

关注、星标公众号,直达精彩内容 C 语言应该是绝大部分同学的编程第一课。对于非 CS 专业的同学,学 C 语言主要是掌握一些基本的编程方法,C 语言只是媒介。但是对于 CS 科班的同学,C 语言是后续的计组、体系结构、操作系统、编译原…

探索学习C语言的方法

大一入学以来到现在其实自己现在仍然还是没有找到一个学习C语言的方法 ,现在仍然还处于一个对学习方法的探索阶段,那就浅浅的分享一下自己之前所用过的方法吧,以下是我自己总结的有C语言的知识点,希望能有大神指教 浅浅的分享一下学习方法。…

论初学者对c语言的理解与学习方法

最为一名刚刚上大一学习C语言的小白来说,是不是有很多人像我一样,上第一节C语言课程的时候,一脸问号:“这是什么东西”,“我学这个东西干什么”,“老师在前面说的是啥,我怎么什么都听不懂&#…

C语言学习方法、学习平台及项目推荐

2022 精心整理的 C语言/C++ 语言学习宝藏,值得收藏~_程序员编程指南的博客-CSDN博客知名大学计算机系开源课程收录:浙江大学课程攻略共享计划清华大学计算机系课程攻略上海交通大学课程资料分享北京航空航天大学(北航)课程作业资料共享计划华北电力大学计算机系课程攻略北京邮…

C语言最新学习路线(从入门到实战)

C语言学习路线 关于C语言的学习路线小编给大家画了一些思维导图,希望能够帮助到大家 工具篇 目前Windows环境下的开发工具已经更新完毕,大家可以查看对应的文章 使用VScode开发C语言程序,环境安装配置,保姆级教程使用VS2019编写…