Java学习路线

Java学习路线

Java编程基础

Java语言

Java语言基础

  • 数据类型
  • 面向对象
  • 接口
  • 容器
  • 异常
  • 泛型
  • 反射
  • 注解
  • I/O流
  • 集合

JVM

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

并发/多线程

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

数据结构和算法

数据结构

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

算法

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

计算机网络

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

数据库/SQL

数据库类型

  • mysql
  • oracle
  • Sqlserver

知识点

  • SQL基本语句
  • 乐观锁、悲观锁
  • 事务及隔离级别
  • 索引
  • SQL如何优化

操作系统

  • 进程/线程
  • 并发/锁
  • 内存管理和调度
  • I/O原理

设计模式

  1. 单例
  2. 工厂
  3. 代理
  4. 策略
  5. 模板方法
  6. 观察者
  7. 适配器
  8. 责任链
  9. 建造者…等等23种

开发工具

集成开发环境

  • Eclipse
  • IDEA
  • VScode

Linux系统

  • Linux常用命令
  • 基本Shell脚本

代码管理工具

  • Git
  • SVN
  • VSS

项目管理/构建工具

  • Maven
  • Gradle

前后端框架

后端

Spring家族

Spring
  • IOC
  • AOP
SpringMVC
SpringBoot
1、自动装配
2、整合Web
3、整合数据库(事务问题)
4、整合权限:Shiro、SpringSceurity
5、整合各种中间件:缓存、MQ、RPC框架、NIO框架等等...

服务器软件

Web服务器
  • Nginx
应用服务器
  • Tomcat
  • Jetty
  • Undertow

中间件

缓存
1、Redis:五大数据类型、事务、消息通知、管道、持久化、集群
2、memcache
消息队列
1、RocketMQ
2、RabbitMQ
3、Kafka
RPC架构
1、Dubbo
2、GRPC
3、Thrift
4、SpringCloud
5、Netty

数据库

ORM层框架
1、MyBatis
2、Hibernate
3、JPA
连接池
1、Druid
2、HiKariCP
3、C3PO
分库分表
1、MyCat
2、Sharding-JDBC
3、Sharding-Sphere

搜索引擎

1、Solr
2、ElasticSearch

分布式/微服务

服务发现/注册
1、Eureka
2、Consul
3、Zookeeper
4、Nacos
网关
1、Zuul
2、Gateway
服务调用(负载均衡)
1、Robbon
2、Feign
熔断/降级
  • Hystrix
配置中心
1、Config
2、Apollo
认证和鉴权
1、Shiro
2、SpringSecurity
3、OAuth2
4、SSO
分布式事务
1、JTA接口:Atomikos组件
2、2PC、3PC
3、XA模式
4、TCC模式:tcc-transaction、ByteTCC、EasyTransaction、Seata
5、SAGA模式:ServiceComb、Seata
6、LCN模式:tx-icn
任务调度
1、Quartz
2、Elastic-Job
链路追踪与监控
1、Zipkin
2、Sleuth
3、Skywalking
日志分析与监控
ELK:ElastticSearch、Logstash、Kibana
虚拟化/容器化
1、容器技术:Docker
2、容器编排技术:Kubernetes、Swarm

前端

基础套餐

三大件
HTML、javaScript、Css
基础库
Jquery、Ajax

模板框架

JSP/JSTL、Thymeleaf、FreeMarker

组件化框架

Node.js、VUE、React、Angular

小程序、安卓

运维

Web服务器(Nginx)

应用服务器

Tomcat、Jetty、Undertow

CDN加速

持续集成/持续发布(Jenkins)

代码质量检查(sonar)

日志收集、分析(ELK)

面试

leetcode、牛客

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇

)">
下一篇>>