Java推荐书籍

前言

分享知识和分享苹果是不一样的,苹果会越分越少,而自己的知识并不会因为给了别人就减少了,知识的分享更能激荡出不一样的火花(Doug Lea)

从会计到嵌入式再到Java,一路走来很感激那些帮助我的人,也更愿意和别人分享学到的东西。

正文

C和C++

《C++Primer》《C++ Primer Plus》,这是LZ最早看的书,当初看完科班的教材就开始看这两本书了

《Qt5开发及实例》Qt入门书籍
《C++ Qt设计模式 第2版》《Qt Creator快速入门》《Qt Quick核心编程》《QT高级编程》《Qt及Qt Quick开发实战精解》Qt进阶

《PYTHON+QT+GUI快速编程+PYQT编程指南》当初用Python写了几个工具,想做成图形界面,正好字节也学了一下Qt,就看了这本书学了一下大概的套路,函数和Qt原生的函数几乎一样,所以学过Qt,用PyQt就几个小时的事情,工具链接如下
https://blog.csdn.net/zzti_erlie/article/details/78922112

Java语言

《Java语言程序设计-基础篇(原书第8版)》《Java语言程序设计-进阶篇(原书第8版)》入门看的书籍

《Java编程思想》《Effective Java中文版》《Java核心技术卷》Java进阶

《Java多线程编程核心技术》《JAVA并发编程 核心方法与框架》 高洪岩的这2本书在豆瓣上评价不是很高,但是LZ觉得很适合入门,并不是内容有多高深,而是你跟着敲一遍确实能学到很多基础

《Java并发编程的艺术》《Java并发编程实战》业内公认的好书,写的也确实很好

《深入理解Java虚拟机:JVM高级特性与最佳实践》JVM面试问的还是挺多的

《Java性能权威指南》《实战Java虚拟机》《Java性能优化权威指南》

Java框架

《Spring实战》《Spring入门经典》《深入浅出Mybatis技术原理与实战》比较好的入门书籍,Mybatis的官方网站写的也挺好的,可以去看看

《JavaEE开发的颠覆者 Spring Boot实战》《Spring Boot实战》《SpringBoot揭秘 快速构建微服务体系》Spring Boot系列相关书籍

《Spring Cloud 微服务实战》

《Spring MVC学习指南》《精通Spring MVC4》《精通Spring4.x企业应用开发实战》

《Spring揭秘》《MyBatis技术内幕》《看透SpringMvc源代码分析与实践》《SPRING技术内幕:深入解析SPRING架构与设计原理》
《Sping揭秘》和《SpringBoot揭秘 快速构建微服务体系》都是王福强老师写的,写的很赞,尤其《Spring揭秘》,现在出版社已经没有再卖了,不过可以按需出版,LZ花了150买了,虽然是基于Spring以前的版本写的,但还是收获满满,MyBatis源码的书较少,就买了一本《MyBatis技术内幕》配合有中文注释的Mybatis源码看

Java Web

《how tomcat works》写的还是挺好的
《Head First Servlet JSP 》《JSP&Servlet学习笔记》《深入分析Java Web技术内幕 》现在大部分公司都已经前后端分离了,所以JSP不太值得深入学习了,当初之所有看这2本书,是因为面试官问用户点击页面返回请求中间经历了什么,结果直接从Sping MVC讲起,面试官问我前面的过程呢?所以回来就看了这2本书恶补了一下Servlet的知识,让我看看有多少人不会,哈哈

Servlet执行过程

  1. 用户点击页面发送请求->Web服务器应用(如Apache)->Web容器应用(如tomcat)
  2. 容器创建两个对象HttpServletRequest和HttpServletResponse
  3. 根据URL找到servlet,并为请求创建或分配一个线程,将请求和响应对象传递给这个servlet线程
  4. 容器调用Servlet的service()方法,根据请求的不同类型,service()方法会调用doGet()和doPost()方法,假如请求是HTTP GET请求
  5. doGet()方法生成动态页面,并把这个对象塞到响应对象里。容器有响应对象的一个引用
  6. 线程结束,容器把响应对象装换为一个HTTP请求,把它发回给客户,然后删除请求和响应对象

《从Paxos到Zookeeper》现在分布式项目大部分都会用到Zookeeper
《Netty实战》面试被问到过,公司的项目也有用Netty写的,所以就看了一波

Thrift,Kafka,RabbitMQ,Elasticsearch之类的用的也多,奈何要学的东西太多了,还没有看相关的书,Thrift国内没有相关的书,Elasticsearch貌似官方文档写的挺不错的

Linux

《鸟哥的Linux私房菜》
《Git Community Book 中文版》学git的时候看的书,
《Linux与Unix shell编程指南》这本书还是值得好好看看,因为集群项目手动部署或者更改配置文件太麻烦了,必须得会一点shell脚本,不然每次部署都敲命令,能敲到疯
《UNIX&LINUX大学教程》
《UNIX环境高级编程》

数据库

《MongoDB权威指南》《Redis实战》平时用的那点nosql知识全是从这2本书上学的

《MySQL必知必会》《SQL必知必会》《SQL查询的艺术》《SQL Cookbook》比较基础的书籍

《高性能mysql第三版》《MySQL技术内幕 InnoDB存储引擎 》都买了实体书,不过还没有看完

前端

因为前端的知识仅限于我自己瞎搞的这些项目,工作之后就没写过前端,所以推荐的不是很多,都是比较基础的书
《HTML5与CSS3权威指南》《JavaScript高级程序设计(第3版)》《锋利的jQuery》《[JavaScript权威指南》《CSS权威指南》《Effective JavaScript》《编写可维护的JavaScript》

算法

因为做过一年ACM,其实学习算法最好的方法就是刷题,但是对于不做ACM的去刷OJ有点不现实,刷刷LeetCode还是可以的
《算法图解》不怎么枯燥
《编程珠玑》很经典的算法书
《数据结构(C语言版)》严蔚敏,国内的大学教材大部分用的都是这个,当初为了学数据结构,LZ买了一本考研的参考书,一边学一边做题,好像是天勤系列的参考书
《算法设计与分析 - 吕国英》入门书籍,基本算法都涉及到了

网络

《图解HTTP》《图解TCP/IP》《图解网络硬件》因为并没有科班教育,所以计算机网络,计算机组成原理看的比较少,仅有的一点网络知识就是从这学的,漫画较多,学起来还是挺轻松的
《计算机网络:自顶向下方法》
《网络是怎样连接的》科普读物,写的很好
《http权威指南》 有人说这本书太厚,偷偷告诉你,其实这本书并厚,因为这本书的后面的30%部分都是附录,这本书的精华是前50%的部分
《tcp/ip 详解 卷1》这本书,让你知其然,更知其所以然
《tcp/ip 基础》、《tcp/ip 路由技术》这两本书,会让你从不同角度思考协议
《wireshark网络分析就这么简单》《wireshark网络分析的艺术》《精通wireshark》、《wireshark网络分析实战》如果你看了很多书,却从来没有试过网络抓包,那你只是懂纸上谈兵罢了。你永远无法理解tcp三次握手的怦然心动,与四次分手的刻骨铭心。
《网络是怎样连接的》非常好看,引人入胜的科普书籍,作者户根勤从软件到硬件,方方面面造诣都很深。
《tcp ip 入门经典》
《UNIX网络编程 卷1》
《UNIX网络编程 卷2》

其他

《剑指offer 名企面试官精讲典型编程题》这本书真心很赞

分布式

《深入分析Java Web技术内幕》
《大型分布式网站架构设计与实践》
《深入分布式缓存 从原理到实践》

设计模式

《Head first设计模式》
《设计模式之禅》

你可能感兴趣的:(Java推荐书籍)