Java学习
最近想重新开始自己的Java学习,因为之前的学习总是磕磕绊绊,也没有什么整体的方向和规划,所以就有了这篇博客的计划,总结梳理了一下Java后端需要掌握的技术和能力,因为现在的公司可能还对前端有要求,所以我添加了一些前端和运维的知识,写出来也是希望能帮到有需要的人,后期的学习笔记和学习心得我也会陆续携程博客发出来,也算是监督学习的一部分。篇幅较长,谨慎观看,会陆续更新的。
JavaSE基础
- 面向对象(OOP)
- 接口
- 容器(集合)
- 异常
- 泛型
- 反射
- 注解
- I/O
Java虚拟机(JVM)
- 类加载机制
- 字节码
- JVM内存模型
- GC垃圾处理机制
- JVM性能监控
- JVM性能调优
多线程/并发
- 并发基础
- 线程池
- 锁
- 并发容器
- 原子类
- JUC包
数据结构
- 字符串
- 数组
- 链表
- 堆/栈/队列
- 二叉树
- 哈希
-图
算法
- 排序
- 查找
- 贪心
- 分治
- 动态规划
- 回溯
计算机网络
- ARP协议
- IP/ICMP协议
- TCP/UDP协议
- DNS/HTTP/HTTPS协议
- Session/Cookie
SQL
- SQL基础
- SQL语句优化
- 事务和隔离级别
- 索引
- 锁
操作系统
- 进程和线程
- 并发和锁
- 内存管理和内存调度
- I/O原理
设计模式(21种设计模式,这里举几个常用的例子)
- 单例
- 工厂
- 代理
- 模板方法
- 策略
- 观察者
- 适配器
- 责任链
- 建造者
开发工具
- 代码管理工具
- SVN
- Git
- 项目管理工具
- Maven
- Gradle
- Linux操作系统
应用框架
- 服务器
- Web服务器
- Nginx
- 应用服务器
- Tomcat
- Jetty
- Undertow
- Web服务器
- 后端
- Spring家族
- Spring
- Spring MVC
- Spring Boot
- Spring家族
- 持久层框架
- MyBatis
- Hibernate
- JPA
- 连接池
- Driud
- C3P0
- Hikaricp
- 分库分表
- MyCat
- Sharding-JDBC
- Sharding -sphere
- 安全和权限
- Shiro
- Spring Security
- 中间件
- 缓存
- Redis
- 消息队列
- RocketMQ
- RibbitMQ
- Kafka
- RPC框架
- Spring Cloud
- Dubbo
- gRPC
- Netty
- 缓存
- 搜索引擎
- Elasticsearch
分布式/微服务
- 服务发现/服务注册
- Zookeeper
- Nacos
- Eureka
- Consul
- 网关
- Zuul
- Gateway
- 服务调用
- Ribbon
- Fegin
- 熔断/服务降级
- Hystrix
- 配置中心
- Config
- Apollo
- Nacos
- 认证和鉴权
- SSO单点登录
- Spring Security
- OAuth2
- 分布式事务
- JTA
- Atomikos
- XA/TCC
- tcc-transaction
- ByteTCC
- EasyTranscation
- Seata
- SAGA
- SerriceComb
- Seata
- LCN
- TX-LCN
- JTA
- 任务调度
- Quartz
- Elastic-JOB
- 链路追踪和监控
- Zipkin
- SkyWalking
- 日志分析
- ELK
- 虚拟化/容器技术
- Docker
- 容器编排
- K8S
- Swarm
前端技术
- 基础三件套
- HTML
- JS
- CSS
- 基础库
- JQuery
- Ajax
- 模板框架
JSP/JSTL- Thymeleaf
- FreeMarker
- 组件化框架
- Vue
- Node
- React
- Angular
运维知识
- 持续集成/持续部署
- Jenkins
- 代码质量检查
- Sonar
- 日志分析
- ELK