前言
工作或者面试需要掌握很多知识点,对于Java工程师来说需要大概以下几类知识:
- 数据结构与算法
- 框架
- 数据库
- 分布式
- 中间件
- 语法
- JVM
- 并发
- 架构
推荐
针对上述几点分别推荐一些书籍或者课程
数据结构与算法
数据结构与算法是块硬骨头,但是数据结构与算法不管是在工作中还是面试中都很有用。 学习这些知识对于后续的一些知识理解也有帮助。
极客时间:数据结构与算法之美
内容成体系,由浅入深,我的数据结构与算法大部分都是通过这个课程学习的
公众号:程序员小灰
利用漫画的形式讲述算法,写的很生动。 作者也出了本书,BUG可能多了点,但是还是可以看一看的。
框架
书籍:从零开始写JavaWeb框架
从零构建一个包含IOC,AOP的Web框架,当你能够自己实现一个框架时,常规框架都能一眼看出实现方式。
数据库
极客时间:MySQL实战45讲
作者在细节和实战上作出了很好的平衡,课程中包含了很多可以验证结论的例子,评论区也很精彩
掘金:彻底搞懂MySQL
相比MySQL实战细节更多,但是理解难度也会增大,需要自己过滤一些不必要记忆的内容
分布式
数据密集型应用系统设计
强烈推荐,真正的深入浅出。看完之后对数据存储,分布式,中间件都会有很深的理解
中间件
书籍:Redis实战
Redis算是最常用的中间件了,Redis实战虽然比较老旧,但是还是值得一看的
书籍:Kafka权威指南
消息队列相关的书里这本是最强的,简单明了,很清晰
书籍:从Paxos到Zookeeper
Zookeeper相关最好的书籍
语法
书籍:Java8实战
学习一下Java8的语法
书籍:Effective Java(第三版)
Java的最佳实践
JVM
书籍:深入理解Java虚拟机
这本就不介绍了,看不懂,记不住的地方可以暂时忽略
并发
书籍:并发编程之美
从源码角度解读Java并发
架构
极客时间:许式伟的架构课
作者是七牛云CEO,角度很高
方法论
10x程序员工作法
极客时间课程,作者的观点和总结能力都很棒,很多方法对程序员的工作有帮助