前言
大多数情况下,程序员的个人技能成长速度,远远大于公司规模或业务的成长速度。所以,跳槽成为了这个行业里最常见的一个词汇。
对于大部分的程序员来说,清晰地规划自己的职业发展并不是一件容易的事情。作为一个曾经底子比较差,从底层摸爬滚打多年走过来的程序员,在这里分享一下对我帮助很大的一份宝典,希望同行们能快速掌握这些技术,直接弯道超车。
很多程序员不知道学什么?或者说不知道从何学习?今天分享的这份宝典由阿里大佬倾情力荐,Java全线成长宝典,从P5到P8一应俱全。
Part1 0-1年:
- Java基础
(JAVA异常分类及处理、JAVA反射、JAVA注解、JAVA内部类、JAVA泛型、JAVA序列化(创建可复用的)、java对象、JAVA复制) - Web编程初探
(Servlet、MySQL、数据库) - SSM
(Spring特点、Spring核心组件、Spring常用模块、Spring主要包、Spring常用注解、Spring第三方结合、Spring IOC原理、Spring APO原理、Spring MVC原理、JPA原理、Mybatis缓存、Tomcat架构) - SpringBoot
(Spring Boot原理) - 互联网项目实战
(Linux、Redis、秒杀项目)
Part2 1-3年:
- 并发线程
(JAVA并发知识库、JAVA线程实现/创建方式、4种线程池、线程生命周期(状态)、终止线程4种方式、sleep与wait区别、start与run区别、JAVA后台线程、JAVA锁、线程基本方法、线程上下文切换、同步锁与死锁、线程池原理...) - JVM
(线程、JVM内存区域、JVM运行时内存、垃圾回收与算法、JAVA四种引用类型、GC分代收集算法VS分区收集算法、GC垃圾收集器、JAVA IO/NIO、JVM类加裁机制) - Tomcat架构
Part3 3-5年:
- 数据库(存储引擎、索引、数据库三范式、数据库是事务、存储过程(特定功能的SQL语句集)、触发器(一段能自动执行的程序)、数据库并发策略、数据库锁、基于Redis分布式锁、分区分表、二阶段提交协议、三阶段提交协议、柔性事务)
- Linux(命令+生产环境+日志等)
- 中间件&分布式
(dubbo+MQ/kafka、ElasticSearch、SpringCloud等组件)
Part4 5-7年:
- 开源框架
- 分布式(缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级)
- 高效存储(概念、特点)
- 微服务(服务注册发现、API网关、配置中心、事件调度(kafka)、服务跟踪(starter-sleuth)、服务熔断(Hystrix)、API管理)
其它:
Netty与RPC(Netty原理、Netty高性能、Netty RPC实现、RMI实现方式、Protoclol Buffer、Thrift)
网络(网络7层架构、TCP/IP原理、TCP三次握手/四次挥手、HTTP原理、CDN原理)
Java算法(二分查找、冒泡排序算法、插入排序算法、快速排序算法、希尔排序算法、归并排序算法、桶排序算法、基数排序算法、剪枝算法、回溯算法、最短路径算法、最大子数组算法:、最长公共子序算法、最小生成树算法)
...