Java学习路线

155 阅读2分钟

编程基础

Java语言

语言基础

  • 基础语法
  • 面向对象
  • 接口
  • 异常
  • 泛型
  • 反射
  • 注解
  • I/O
  • GUI
  • 容器

JVM

  • 类加载器、类加载机制
  • 字节码执行机制
  • JVM内存模型
  • GC垃圾回收机制
  • JVM性能监控与故障定位
  • JVM调优

并发/多线程

  • 并发线程基础(多线程基础)
  • 线程池
  • 并发容器
  • 原子类
  • JUC并发工具类

数据结构和算法

数据结构

  • 字符串
  • 数组
  • 链表
  • 二叉树
  • 堆、栈、队列
  • 哈希

算法

  • 查找
  • 排序
  • 贪心
  • 分治
  • 动态规划
  • 回溯

计算机网络

  • ARP协议
  • IP/ICMP协议
  • TCP/UDP协议
  • DNS/HTTP/HTTPS协议
    • Session/Cookie

数据库(DB)/SQL

  • SQL语句书写
  • SQL语句优化
  • 事务以及事务隔离
  • 索引
  • 引擎

操作系统

  • CPU
    • 进程/线程
    • 内存管理和调度
  • I/O原理
  • 并发/锁
  • Linux系统
    • Linux常用命令
    • 基本的shell脚本

设计模式

  • 单例
  • 工厂
  • 代理
  • 策略
  • 模板方法
  • 观察者
  • 适配器
  • 责任链
  • 创造者

开发工具

集成开发环境

  • Eclipse
  • IDEA
  • VSCode

代码管理工具

  • Git
  • SVN

项目构建/管理工具

  • Maven
  • Gradle

应用框架

后端

Spring家族

Spring

  • IOC
  • AOP

SpringMVC

Spring Boot

自动配置、开箱即用
整合Web
整合数据库(事务问题)
整合权限
  • Shiro
  • SpringSecurity
整合中间件
  • 缓存
  • MQ
  • RPC框架
  • NIO框架
  • ...

服务器软件

Web服务器

  • Nginx

应用服务器

  • Tomcat
  • Jetty
  • WebLogic...

中间件

缓存

Redis
  • 5大数据类型
  • 事务
  • 消息通知
  • 管道
  • 持久化
  • 集群
memcache

消息队列

  • RocketMQ
  • RabbitMQ
  • Kafka(卡夫卡)

RPC架构

  • Dubbo
  • GRPC
  • Thrift
  • SpringCloud
  • Netty

数据库

ORM层架构

  • MyBatis
  • Hibernate
  • JPA

连接池

  • Druid
  • HikariCP
  • C3PO

分库分表

  • MyCat
  • Sharding-JDBC
  • Sharding-Sphere

搜索引擎

  • Solr
  • ElasticSearch

分布式/微服务

服务发现/注册

  • Eureka
  • Consul
  • Zookeeper
  • Nacos

网关

  • Zuul
  • Gateway

服务调用(负载均衡)

  • Ribbon
  • Feign

熔断/降级

  • Hystrix

配置中心

  • Config
  • Apollo
  • Nacos

认证和鉴权

  • Shiro
  • SpringSecurity
  • OAuth2
  • SSO

分布式事务

JTA接口 Atomikos组件
2PC、3PC
XA模式
TCC模式
  • tcc-transaction
  • ByteTCC
  • EasyTransaction
  • Seata
SAGA模式
  • ServiceComb
  • Seata
LCN模式
  • tx-Icn

任务调度

  • Quartz
  • Elastic-Job

链路追踪与监控

  • Zipkin
  • Sleuth
  • Skywalking

日志分析与监控

  • ELK
    • ElasticSearch
    • Logstash
    • Kibana

虚拟化/容器化

容器技术
  • Docker
容器编排技术
  • Kubernetes(K8S)
  • Swarm

前端

基础套餐

三大件

  • HTML
  • JavaScript
  • CSS

基础库

  • Jquery
  • Ajax

模板框架

  • JSP/JSTL
  • Thymeleaf
  • FreeMarker

组件化框架

  • Node
  • VUE
  • React
  • Angular

运维知识

Web服务器

  • Nginx

应用服务器

  • Tomcat
  • Jetty

CDN加速

持续集成/持续发布

  • Jenkins

代码质量检查

  • sonar

日志收集/分析

  • ELK
    • ElasticSearch
    • Logstash
    • Kibana

成神之路

  • 徒手撕源码
  • 光脚造轮子
  • 闭眼深优化
  • 吊打面试官

平稳降落

  • 调整心态、注意健康
  • 虚心学习、持之以恒