口。总述
男怕入错行,女怕嫁错郎,学java最怕看错书!也是很久之前就想写这篇了,以前也零零星星的推荐过几本书,但是始终没有这样认真的整理一篇出来,这篇文章就是和大家探讨一下哪个阶段,应该看什么书,需要掌握到什么程度。
当然本文也不是权威指南,是小刀这一路走过来的一些总结。下面列出的这些书,小刀都是看过的,所以才会推荐给大家,当然我现在也忘的差不多啦,哈哈。
掌握的技能是一些面试经常会问到的点,这里,我大致列举了一下,各位看客还是要多读书,书上都有。搜索面试题不如读书,网上找课程不如读书,
一。入门
这个时候,如果你还不知道什么是java,什么是Hello World. 或者只学了一些简单的控制流程
书单
- 《21天学通JAVA》
- 《java从入门到精通》
- 《java核心技术卷1,2》
掌握的技能
- java基础控制流程(if-else,where,switch等)
- java可以读文件,可以写文件
- java jdbc 连接数据库完成增删改查
- java 两台机器通过TCP/UDP通信
二。WEB/后端
基本上写java的,大多数最后都会来做web/后端开发,而做web/后端开发,多半也是绕不开Spring的,所以这一块,只要把spring,springboot学好了,应付日常开发,应该问题不大
书单
《Spring实战》
《Springboot实战》
掌握的技能:
- Controller接收web请求
- Get/Post及不同content-type的传参
- SpringBoot中过滤器的使用
- SpringBoot中拦截器的使用
- SpringBoot中统一异常处理
- SpringBoot中Oauth2.0的使用
- SpringBoot整合Mybatis读写数据库
- SpringBoot整合Redis读写缓存
三。数据存储及中间件
这里主要是Redis/Mysql,其他中间件的,我都是看的官方文档,没有单独买书
书单
《Redis深度历险核心原理与应用实践》
《Redis设计与实现》
《高性能MySql》
掌握的技能:
- Redis中五种数据类型的增删改查方式
- Redis中五种数据类型对应的存储结构
- Redis备份的方式
- Redis的线程模型
- Mysql哪些情况下不走索引
- Mysql中B+树存索引的实现
- Mysql中三星索引的设置
四。微服务&分布式
这里目前有两套主流的方案, 一套是以spring-cloud 为主, 一套是自古流传下来自我组合的解决方案
书单
《Spring Cloud Alibaba微服务原理与实战》
《深入理解Apache Dubbo与实战》
《RocketMQ分布式消息中间件:核心原理与最佳实践》
后面的商品插入不下了,,大家自己去搜索下单吧
《分布式服务架构:原理、设计与实战》
掌握的技能:
- spring-cloud一套解决方案的搭建和调试
- 祖传的一套方案的搭建和调试
- dubbo的调用过程
- dubbo-spi加载机制
- dubbo 自定义插件
- apollo系统模块及功能大体实现
- apollo 长轮询实现
- ... 其他祖传的解决方案的细节
- CAP理论
五。数据结构&常用算法
校招生尤其要注意!因为对校招问不了很深的技术点,大都是问数据结构和算法了
书单
《大话数据结构》
掌握的技能
- 链表的两种实现方式和优缺点
- 栈和队列的实现方式和优缺点
- 各种树的基本特点
六。设计模式
书单
《设计模式之禅》
《大话设计模式》
掌握的技能
- 不要求每种设计模式都熟悉, 主要是下面这些源码中用到的设计模式要熟悉
至此是一个分界线,下面这些源码类的,一本书,值得反复读很多次。记住这句话,反复读很多次。
七。常用JDK类源码
直接点进去看JDK就行
掌握的技能
- ArrayList源码
- LinkedList源码
- HashMap源码
- ConcurrentHashMap源码
- 线程池参数源码
- AQS
八。mybatis源码
书单
《MyBatis技术内幕》
掌握的技能
- mybatis中组件的模块
- mybatis中用到的设计模式
- mybatis中如何对mapper进行动态代理并实现sql调用
九。spring源码
书单
《Spring源码深度解析》
掌握的技能
- Spring中用到的设计模式
- Spring中Bean的生命周期
- SpringAOP的实现方式
- Spring事务的实现方式及不生效的场景
十。springboot源码
书单
《Spring Cloud Alibaba微服务原理与实战》
掌握的技能
- springBoot自定义starter
- springBoot的启动过程
- springBoot是如何和spring结合在一起的
- 常用的starter源码,mybatis-starter , redis-starter 等
十一。HotSpot
书单
《深入理解Java虚拟机 JVM特性与实践》
《HotSpot实战》
掌握的技能
- JVM内存模型
- CMS,G1等常用垃圾回收过程
- 双亲委派模型
- 类初始化过程
十二。综合提升
书单
找小刀吧best396975802,想要综合提升,不是一朝一夕的事情,是一个量变到质变的过程,没有捷径,没有捷径!书读百遍其义自见!!
十三。欢迎关注
十四。关于小刀
这里有:
日常讨论群
简历修改,助力成功迈出找工作,跳槽第一步
模拟面试,可以提前发现自己的薄弱项,及时调整,真正面试就不慌了