java自学路线与目标

计算机网络

  • 分层结构
  • TCP/UDP(区别,三次握手,四次挥手)
  • HTTP/HTTPS(区别,无状态,长连接,短链接)
  • 状态码
  • Cookie和Session
  • URI和URL

操作系统

  • 线程和进程(区别,状态,同步,死锁)

数据结构预算法

数据结构

  • 数组
  • 链表
  • 队列

算法

设计模式

会实现

  • 单例
  • 工厂
  • 代理

能看懂

  • 适配器
  • 观察者
  • 模板

实操工具

  • Git/SVN
  • Maven/Gradle
  • Linux基本操作
  • Nginx
  • ELK
  • postman

Java基础

语言基础

HELLOWORLD

Java的基本知识,环境JDK,JRE,开发环境配置

基础语法

语法,关键字,数据类型,逻辑语句控制

面向对象

  1. 面向对象思想(理解,对象之间的关系:依赖,关联,聚合,组合)
  2. 原则(封装,继承,多态)
  3. 四个常用关键字(static,final,this,super)
  4. 初始化
  5. 属性和方法(构造方法,方法的重载和重写)
  6. 向上转型,向下转型
  7. 内部类

集合(重要)

java自学路线与目标
8. https://www.runoob.com/java/java-collections/html
9. 各种List
10. 各种Set
11. 各种Map
以上的原理,特点,异同,线程安全,常用操作以及复杂度

注解

反射

泛型

IO

枚举

异常

多线程(重要)

  1. 线程池
  2. 并发容器
  3. 原子类
  4. 线程与进程
  5. 死锁
  6. 生命周期和状态
  7. 两个常见关键字(synchronized,volatile)

JVM

内存模型

垃圾回收

类加载机制

调优

数据库(MySQL)

https://www.runoob.com/sql/sql-tutorial.html

事务

索引

连接池

分库分表(为什么分?如何分:水平,垂直;用什么:Mycat)

主从

读写分离

JavaWeb

了解,会用

  • html
  • css
  • js(选学)
  • ajax

学会,掌握

  • vue
  • Servlet

中间件

缓存·redis

数据类型

https://www.runoob.com/redis/redis-tutorial.html

  • string
  • hash
  • list
  • set
  • zset

常见问题

  • 数据类型
  • 持久化
  • 集群
  • 通道
  • 事务
  • Redis分布式锁
  • 缓存穿透
  • 缓存雪崩
  • 缓存击穿
    缓存穿透,缓存穿透,缓存击穿是什么?原因?如何避免

消息队列

一般业务来说rabbitMQ已经足够,深入学会一个

  • rabbitMQ
  • rocketMQ
  • kafka

搜索引擎

  • elasticsearch(学会这个即可)
  • solr

框架

Spring

  • AOP
  • IoC
  • BeanFactory
  • bean作用域、生命周期
  • 事务隔离级别

SpringMVC

  • 工作流程图
  • DispatcherServlet
  • WebApplicationContext

MyBatis

SpringBoot

  • 启动过程
  • 自动装配原理

微服务/分布式

直接找一个SpringCloud全家桶教程从头到尾弄懂
把每个组件弄清楚,先会用。
服务发现/注册认真学

理论

  • CAP
  • BASE

服务发现/注册

相同作用,会一个就行,其他名字要记一下,最好知道他们的区别和优缺点,被问后知道怎么用
快速定位同类组件的自己会的,下同

  • Eureka(学这个就行)
  • zookeeper
  • etcd
  • Nacos
  • Consul

网关

  • Zuul
  • Gateway

负载均衡

  • Ribbon

服务调用

  • Feign

熔断等级

  • Hystrix

统一配置

  • Config
  • Nacos

链路追踪

  • Sleuth
  • zipkin
  • skywalking

认证、鉴权、单点登录

  • Shiro
  • Spring Security
  • OAuth2
  • SSO

消费总线

  • Bus

SpringCloud和dubbo对比

上一篇:shell 编程


下一篇:Python 基本数据类型