提示:成为Java资深开发需要具备的技能
- 具备扎实的Java基础,熟练掌握javaIO流,集合,反射,泛型,注解,网络编程,多线程等基础开发技术。
- 深入理解JVM底层原理,JMM内存模型,垃圾回收机制,GC算法,熟悉JVM各种垃圾回收器的使用以及核心参数调优,有过一定JVM线上调优经验,对JVM调优有自己独到的见解。
- 深入理解Spring,Spring MVC,Mybatis等开源框架的设计原理以及底层架构,研究过部分核心源码,具备一定的框架定 制开发能力。
- 深入理解Spring Boot,Spring Could,Dubbo等开源框架的设计原理以及底层架构,研究过部分核心源码,具备一定的 框架定制开发能力。
- 深入理解MySQL(索引数据结构,B+ tree索引特点以及数据库事务的隔离级别,传播行为,数据库死锁,数据迁移,分库分表,读写分离,主从复制,灾难备份)等。
- 深入理解Redis(版本间的区别,redisObject属性,简单字符串,链表,字典,跳跃表,整数集合,压缩列表,回收机 制,线程模型,分布式寻址算法,过期策略,数据一致性,多级缓存架构,热点数据缓存,并发竞争,哨兵模式,主从复 制,集群模式等),具有集群架构及高可用相关经验,熟悉各种缓存高并发的使用场景,比如,热点缓存重构,缓存雪崩, 缓存穿透,缓存失效。
- 熟悉常见消息中间件的使用,解决过各种消息通讯场景的疑难问题。比如,高可用,消息丢失,消息消费的幂等性,顺序性,消息延迟,过期失效,消息队列满了等问题。
- 在项目中解决过各种分布式场景的技术难题,比如分布式锁,分布式事务,分布式Session,分布式任务,分库分表。
- 具备 0-1搭建微服务、高可用、高并发、分布式项目架构。具备环境搭建,自动化部署,产品需求讨论,任务分配,Code审查, 负责指导、培训普通开发工程师,审核开发工程师的设计与研发质量等经验。具备项目管理、需求分析、文档编写、原型设 计等基本的文档输出能力。
学习时间:
提示:计划学习的时间
| 星期 | 时间段 |
|---|---|
| 1 | 早上8点–早上9点 |
| 2 | 晚上8点–晚上10点 |
| 3 | 早上8点–早上9点 |
| 4 | 晚上8点–晚上10点 |
| 5 | 早上8点–早上9点 |
| 6 | 早上9点–早上12点 ~ 下午3点–下午5点 |
| 7 | 早上9点–早上12点 ~ 下午3点–下午5点 |
学习产出:
提示:每周学习计划的总量
1、按实际情况进行Code输出
2、CSDN 技术博客输出3篇
3、技术类的vlog视频输出2个



