不就看一下Java后端开发书架吗?这有啥不行(Java后端开发书籍)

2023-11-02 03:30

本文主要是介绍不就看一下Java后端开发书架吗?这有啥不行(Java后端开发书籍),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

image

本文 Github开源项目:github.com/hansonwang99/JavaCollection 中已收录,有详细自学编程学习路线、面试题和面经、编程资料及系列技术文章等,资源持续更新中…


先唠会嗑

前面刚刚整理过了「Java后端开发学习路线」,很多小伙伴也说让推荐一些对应的书籍瞧瞧。

推荐是没问题,但是有些话还是想聊聊看。

首先毫无疑问的是,对于 「编程基础」 部分,有大量经典的书籍值得阅读,每一本都是大师们若干年经验的汇聚,所以学好编程基础,对于我们普通人来说,看书是一个直接有效的方式。

很多经典书看一遍可能远远不够,正所谓 「初看懵、再看迷、三看发现有点小意思」 讲的就是这个道理,这事急不得,而且有些东西的确需要一个反反复复的过程,有些甚至是在工作后的实践中才会遇到,所以珍惜每一次回炉重造的过程吧。

而对于 「应用框架」 部分,实不相瞒,初学的时候我看了很多「从XX到XX」这类快餐书,花了不少钱。应该说大部分对于我这种非科班自学党来说还算可以的,是有点收获;但有些也不乏有很多毛病,比如讲得技术太过陈旧、甚至有知识性或理解性的偏差等。

对于这部分,如果完全0基础倒是可以看书入门,而当基本用法通了,有了一定的实际运用经验之后,最有效的学习方式还是研究开发文档。实际使用过程中遇到的很多问题,我们发现到最后还是文档救了我们。

所以接下来偏着重推荐一些基础的经典好书,应用框架部分的书籍视情况推荐了。

那我们就对着之前文章:《Java后端开发学习路线:一文串起所有主流技术点》 中归纳总结的Java学习路线脑图,一项项来盘点吧。


Java语言

《Java核心技术(Core Java)》

image

一看到「机械工业出版社」,我就知道事情并不简单。是的,这本讲的很全面,书中的代码示例都很好,很适合Java通用学习。

不过现在最新版貌似出到了「第11版了」,有新版用最新的即可。

《Java编程思想》

image

好家伙,又是「机械工业出版社」,还是黑皮书,Java的“圣经”。如果是纯新手还是上面的《Java核心技术》稍微好接受一些,当然待我们有些基础之后,这本书也可以啃一啃,从圣经里多吸收一些思想总是好的。

不说了,我先肝为敬!

《Effective Java》

image

怎么还是「机工社」的!

是的,这本算是进阶书籍了,里面讲的全是Java使用的经验技巧和指导意见,等Java比较熟之后再看看一定会非常有收获的

《深入理解 Java 虚拟机》

image

我Fo了,还是「机工社的」!都知道JVM虚拟机对于Java而言极其重要,这本是理解JVM机制比较好的书了

《实战Java高并发程序设计》

image

终于来了一本不是机工社的书了,太好了!

的确,这本用来入门学习Java并发编程知识点还是很适合的,基础、全面、能看懂,看完之后心里对于Java并发这一块的东西可以保个底。

《Java并发编程实战》

image

这本书的原文作者们本来就是Java并发工具专家组的主要成员,所以权威性杠杠滴,但如果学Java并发上来就钻这本书,而这本书又是翻译过来的,确实是有点晦涩了,如果看完了上面那本,可以用这本对比升华一下。


数据结构和算法

《数据结构与算法分析 Java语言描述》

image

这本书它本来它就是国外数据结构与算法分析的经典教材,系统全面且严谨,适合对Java语言比较熟,而且数据结构和算法有些了解的同学,当然既然是黑皮书,压力肯定是有的,肝了它吧。

《算法 第4版》

image

这是另外一本Java语言描述的经典数据结构和算法书。


计算机网络(TCP/IP协议)

《TCP/IP详解 卷1:协议》

image

计网的东西乍看起来好像很杂,但抓住分层的思想梳理总结之后其实也还好。就像这本书,表面看起来有点晦涩,但沉下心来完全能看懂。

《计算机网络:自顶向下方法》

image

说上面那本晦涩的,那就看这本吧。

《图解TCP/IP》《图解HTTP》

image

image

如果觉得上面那两本都晦涩,那就只能看这两本了。


数据库/SQL

《MySQL必知必会》

image

书不厚,主讲SQL用法,入门不错,也可以当小册子查阅。

《高性能MySQL》

image

上面的用法熟了,学习原理、提升数据库性能,可以读这本,不过书很厚,是一个长期攻坚战没跑了。


操作系统

《深入理解计算机系统(CSAPP)》

image

如果说这本是纯讲操作系统的书好像也不尽然,它更像是计组和操作系统的组合。说实话,看操作系统的书都不容易啊,经典的书就那么几本,想要系统地学明白是得掉层皮啊。

《现代操作系统》

image

这本也比较系统和全面。


设计模式

《Head First设计模式》/《大话设计模式》

image

image

设计模式入门款,文字轻松、配图丰富、逻辑清晰,通过它步入设计模式之门没问题。

《设计模式:可复用面向对象软件的基础》

image

有了一定的编码经验,进阶深入再学习和理解看这本比较好,这是理论提高。


Linux使用/基本Shell编程

当然这里说的基本使用层面的,常见的不管是像《鸟哥的Linux私房菜》这种经典,还是《Linux命令行与shell脚本编程大全》这种大全,都可以做手册来用,书实在太厚了。


应用框架相关

从这里开始都是「应用框架」部分的内容了,就像文章开头说的,很多都是快餐书,而且框架部分迭代太快,网上的各种博文帖子更是满天飞,加上官方文档,所以可参考的还是很多的,至于书,象征性地提几本吧。

  • 《Spring实战》
  • 《深入浅出Spring Boot 2.x》
  • 《Redis设计与实现》
  • 《深入理解Kafka:核心设计与实践原理》
  • 《Netty In Action》
  • 《从Paxos到Zookeeper 分布式一致性原理与实践》
  • 《分布式服务框架 原理与实践》
  • 《微服务架构设计模式》
  • 《高可用可伸缩微服务架构》
  • 《Docker容器与容器云》

收 工

感谢小伙伴们能看到这里。

看书不是目的,看书只是学习的一种输入途径而已,重要的是理解、实践和输出。由于时间仓促,文中所列书籍仅供参考,如有什么遗漏或者其他好书推荐,小伙伴们也可以安利起来。

后记:本文 Github开源项目:github.com/hansonwang99/JavaCollection 中已收录,有详细自学编程学习路线、面试题和面经、编程资料及系列技术文章等,资源持续更新中…

每天进步一点点,慢一点才能更快

这篇关于不就看一下Java后端开发书架吗?这有啥不行(Java后端开发书籍)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/327796

相关文章

Java五子棋之坐标校正

上篇针对了Java项目中的解构思维,在这篇内容中我们不妨从整体项目中拆解拿出一个非常重要的五子棋逻辑实现:坐标校正,我们如何使漫无目的鼠标点击变得有序化和可控化呢? 目录 一、从鼠标监听到获取坐标 1.MouseListener和MouseAdapter 2.mousePressed方法 二、坐标校正的具体实现方法 1.关于fillOval方法 2.坐标获取 3.坐标转换 4.坐

Spring Cloud:构建分布式系统的利器

引言 在当今的云计算和微服务架构时代,构建高效、可靠的分布式系统成为软件开发的重要任务。Spring Cloud 提供了一套完整的解决方案,帮助开发者快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器等)。本文将探讨 Spring Cloud 的定义、核心组件、应用场景以及未来的发展趋势。 什么是 Spring Cloud Spring Cloud 是一个基于 Spring

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person = new Object();person.name = 'Jason';person.age = 42;console.log(person.name,person.age);//'J

java8的新特性之一(Java Lambda表达式)

1:Java8的新特性 Lambda 表达式: 允许以更简洁的方式表示匿名函数(或称为闭包)。可以将Lambda表达式作为参数传递给方法或赋值给函数式接口类型的变量。 Stream API: 提供了一种处理集合数据的流式处理方式,支持函数式编程风格。 允许以声明性方式处理数据集合(如List、Set等)。提供了一系列操作,如map、filter、reduce等,以支持复杂的查询和转

Java面试八股之怎么通过Java程序判断JVM是32位还是64位

怎么通过Java程序判断JVM是32位还是64位 可以通过Java程序内部检查系统属性来判断当前运行的JVM是32位还是64位。以下是一个简单的方法: public class JvmBitCheck {public static void main(String[] args) {String arch = System.getProperty("os.arch");String dataM

详细分析Springmvc中的@ModelAttribute基本知识(附Demo)

目录 前言1. 注解用法1.1 方法参数1.2 方法1.3 类 2. 注解场景2.1 表单参数2.2 AJAX请求2.3 文件上传 3. 实战4. 总结 前言 将请求参数绑定到模型对象上,或者在请求处理之前添加模型属性 可以在方法参数、方法或者类上使用 一般适用这几种场景: 表单处理:通过 @ModelAttribute 将表单数据绑定到模型对象上预处理逻辑:在请求处理之前

eclipse运行springboot项目,找不到主类

解决办法尝试了很多种,下载sts压缩包行不通。最后解决办法如图: help--->Eclipse Marketplace--->Popular--->找到Spring Tools 3---->Installed。

JAVA读取MongoDB中的二进制图片并显示在页面上

1:Jsp页面: <td><img src="${ctx}/mongoImg/show"></td> 2:xml配置: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001

Java面试题:通过实例说明内连接、左外连接和右外连接的区别

在 SQL 中,连接(JOIN)用于在多个表之间组合行。最常用的连接类型是内连接(INNER JOIN)、左外连接(LEFT OUTER JOIN)和右外连接(RIGHT OUTER JOIN)。它们的主要区别在于它们如何处理表之间的匹配和不匹配行。下面是每种连接的详细说明和示例。 表示例 假设有两个表:Customers 和 Orders。 Customers CustomerIDCus

22.手绘Spring DI运行时序图

1.依赖注入发生的时间 当Spring loC容器完成了 Bean定义资源的定位、载入和解析注册以后,loC容器中已经管理类Bean 定义的相关数据,但是此时loC容器还没有对所管理的Bean进行依赖注入,依赖注入在以下两种情况 发生: 、用户第一次调用getBean()方法时,loC容器触发依赖注入。 、当用户在配置文件中将<bean>元素配置了 lazy-init二false属性,即让