一、引子
本文概括了一个java工程师的生活、必读书籍、技术栈,并持续更新中。希望对迷茫中的你有所指引。
方式:Java技术栈+链接。
二、生活篇
三、必读书籍推荐
入门:《Java从入门到精通》足矣。
1.java基础
《effective java》–》四星推荐,工具书,时长翻看一下规避坑。
2.jvm
《深入理解java虚拟机》–》超五星推荐,建议看上多遍。深入浅出,楼主到现在依然不敢说完全吃透这本书。涵盖:java历史+内存管理+虚拟机执行+程序编译优化+并发。
3.数据库
《Mysql技术内幕-InnoDB存储引擎》–》超五星推荐,建议看多遍。由于讲的比较深且抽象,后端研发可以有选择的看。从现在主流innoDB引擎入手,深入讲解mysql.
4.设计模式
《设计模式的艺术-软件开发人员内功修炼之道》–》四星级推荐。
5.算法
《算法第四版》–》五星推荐,全部java实现算法,讲解透彻。
6.并发
《JAVA高并发程序设计》–》四星级推荐,除了第七章,其它几章都可以看看。
7.区块链
8.开源框架
《spring实战第四版》–》五星级推荐,主流框架必读。
《Spring Cloud 微服务实战》–》四星推荐,作为spring cloud工具书还是不错。
四、具体技术树
1.java基础
1.1 入门篇
1.2 java集合
list、set、map集合总览
ConcurrentHashMap原理分析
2.jvm和调优
JDK8-废弃永久代(PermGen)迎来元空间(Metaspace)
Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙
3.线程
3.1 线程
从Thread.start()方法看Thread源码,多次start一个线程会怎么样
3.2 多线程
3.2.1 锁
《The java.util.concurrent Synchronizer Framework》 JUC同步器框架(AQS框架)原文翻译
AbstractQueuedSynchronizer AQS框架源码剖析
同步中的四种锁synchronized、ReentrantLock、ReentrantReadWriteLock、StampedLock
zookeeper分布式锁
3.2.2 多线程任务
多线程并发执行任务,取结果归集。终极总结:Future、FutureTask、CompletionService、CompletableFuture
多线程经常使用的3个关键字:synchronized、ReentrantLock、volatile
4.算法
5.开源框架
5.1 Spring 框架
5.2 Spring IOC容器启动详解
5.3 Spring Kafka原理详解
kafka原理和实践(三)spring-kafka生产者源码
kafka原理和实践(四)spring-kafka消费者源码
5.4 Spring Cloud(boot)
spring cloud feign不支持@RequestBody+ RequestMethod.GET,报错
@RequestBody对象为空,异常Required request body is missing
5.5 zookeeper
5.6 dubbo
5.7 spring-mybatis
Spring Mybatis源码详解
5.8 spring 事务(本地事务)
5.9 分布式事务(19年上半年目标ing…)
常用分布式算法
集成spring cloud
5.10 Googe Guava
6.设计模式
7.数据库/缓存
7.1 mysql
7.2 cache
8.工具
jar包目录下MANIFEST.MF标准格式
maven常用插件pom配置
9.linux
10.其它JDK源码
Java中关于WeakReference和WeakHashMap的理解