乐趣区

关于java:java小白到架构师技术图谱整理全网持续更新

本文整顿于 github 上各大 star 大神仓库。并依据本人的了解从新进行了整顿

本文曾经收录于 https://github.com/fengdongdo…

后序会持续更新

一、计算机根底

1、数据结构

(1)根本数据结构

  • 数据结构基本概念(工夫复杂度和空间复杂度的计算方法)
  • 数组
  • 链表
  • 汇合
  • 队列
  • 关联数组
  • 跳表
  • 倒排索引
  • BitSet

(2)树

  • 二叉树
  • 均衡二叉树
  • 齐全二叉树
  • 哈弗曼树
  • 二叉查找树
  • B、B+、B* 树
  • LSM 树
  • 字典树
  • 红黑树
  • 线段树

(3)图

  • 最小生成树
  • 最短门路算法
  • 拓扑排序
  • 深搜和广搜

(4)排序算法

  • 抉择排序
  • 冒泡排序
  • 插入排序
  • 疾速排序
  • 归并排序
  • 希尔排序
  • 基数排序
  • 计数排序
  • 桶排序
  • 堆排序
  • 排序算法应用场景特点总结

(5)查找算法

  • 程序查找
  • 二分查找
  • 插值查找
  • 斐波那契查找
  • 树表查找

(6)常见算法

  • KMP 算法
  • 贪婪算法
  • 回溯算法
  • 剪枝算法
  • 动静布局
  • 并查集
  • 奢侈贝叶斯
  • 递归算法
  • 符号表
  • 布隆过滤器

2、计算机网络

(1)协定

  • OSI 七层协定
  • TCP/IP 协定
  • HTTP 协定

(2)网络模型

  • 阻塞式 IO
  • 非阻塞式 IO
  • 复用 IO
  • 信号驱动 IO
  • 异步 IO
  • Epoll 模型
  • javaNIO
  • javaAIO
  • kqueue

(3)序列化

  • java 序列化
  • protoBuf
  • protoStuff
  • avro
  • Hessian

3、操作系统

(1)基本知识

  • 操作系统的四个特色
  • 操作系统的性能

(2)过程与线程

  • 过程的概念与分类
  • 线程的概念与分类
  • 过程与线程的区别
  • 进行的状态转换
  • CPU 调度算法
  • 管程
  • 协程
  • 过程间的通信形式
  • 过程间同步问题

    • 生产者消费者问题
    • 哲学家就餐问题
    • 读者 - 写者问题
    • 锁死的四个必要条件
    • 死锁解决

(3)内存治理

  • 段式治理
  • 页式治理
  • 段页式治理
  • 页面调度算法

(4)其余

  • 虚拟内存和逻辑内存
  • 动态链接和动静链接
  • 缓存
  • 僵尸过程与孤儿过程

二、java 根底

1、面向对象根底

  • 继承
  • 封装
  • 多态
  • 接口
  • 抽象类

2、java 汇合

  • 总体框架
  • Collection
  • ArrayList
  • LinkedList
  • Vector
  • Stack
  • 疾速失败和疾速平安
  • HashMap
  • TreeMap
  • LinkedHashMap
  • HashSet
  • TreeSet
  • Hashtable
  • WeakHashMap

3、关键字和类

  • transient
  • instanceof
  • static
  • this
  • super
  • void
  • final
  • String

    • String 为什么不可变
    • String、StringBuilder、StringBuffer 区别
    • String 到底新建了几个对象

4、java 高级特点

  • 注解
  • 反射
  • 泛型
  • 异样
  • 枚举
  • IO 机制
  • 编码转换
  • java8 新个性
  • java11 新个性

5、并发库

(1)并发根底

  • Thread 生命周期
  • 线程平安问题
  • 线程通信模式
  • sleep 和 wait 的区别
  • ThreadLocal

(2)原子个性

  • AtomicInteger
  • AtomicBoolean
  • AtomicStampedReference
  • Unsafe
  • CAS

(3)并发工具

  • CountDownLatch
  • CylicBarrier
  • Semaphore
  • Exchanger
  • Phaser
  • ForkJoin

(4)锁机制

  • synchronized
  • volatile
  • Reentrantlock
  • ReenReadWriteLock
  • StampedLock
  • 偏心锁和非偏心锁
  • 乐观锁和乐观锁
  • ABA 问题
  • 互斥锁和共享锁
  • 可重入锁和不可重入锁
  • AQS 机制
  • RingBuffer
  • 锁降级
  • 锁打消
  • 锁粗化

(5)并发容器

  • ConcurrentHashMap
  • ConcurrentSkipListMap
  • ConcurrentSkipSet
  • ConcurrentLinkedQueue
  • CopyOnWriteArrayList
  • 阻塞队列
  • 优先级队列

(6)线程池

  • 线程池的几种状态切换
  • 线程池的参数
  • 线程池的启动流程
  • 线程池的分类
  • 线程池的大小设置

6、JVM

  • java 内存构造(jdk1.7 和 1.8)
  • 垃圾回收机制
  • 类加载机制
  • 内存分类和回收
  • 四种援用(强、软、弱、虚)
  • 内存溢出
  • JVM 调优工具
  • 垃圾回收器
  • ZGC 的意识
  • JNI
  • 内存逃逸

三、必备根底

1、设计模式

  • 创立型模式
  • 结构性模式
  • 行为性模式
  • 设计模式的六种准则
  • MVC 模型
  • MVVC 模型
  • UML
  • 康威定理

2、Linux

  • Linux 目录构造
  • 常见命令
  • 文件系统治理
  • 用户系统管理
  • 过程治理
  • 网络管理
  • 备份与复原
  • 文本文件解决命令
  • shell 编程

3、代码工具

  • Git
  • Maven
  • gradle
  • 日志框架
  • Junit

四、数据库

1、mysql

(1)基本知识

  • 三大范式
  • 数据库、数据表、字段的增删改查基本操作
  • 分区表
  • 视图
  • 外键束缚
  • 游标
  • 变量
  • 存储过程
  • 函数
  • 字符集

(2)存储引擎

  • InnoDB
  • MyISAM
  • 转换表的引擎

(3)事务

  • 隔离级别
  • 多版本并发工具
  • 分布式事务
  • ACID 个性

(4)索引

  • 汇集索引
  • 非汇集索引
  • 复合索引
  • 底层实现原理

(5)锁

(6)测试

(7)优化计划

  • 数据类型优化
  • 索引优化
  • 查问性能优化
  • mysql 配置优化
  • 硬件优化

(8)高可用计划

(9)复制迁徙

2、Redis

  • 长久化机制
  • 缓存三种问题(穿透、击穿、雪崩)
  • 内存淘汰策略
  • 哨兵机制
  • 集群计划
  • 复制原理

3、MongoDB

4、Hbase

五、罕用根本框架

1、servlet

2、Spring 系列家族

3、Mybatis

4、JPA

5、Netty

6、websocket

六、运维统计相干

1、平台监控

  • zabbix、Nagios、Ganglia 等
  • Linux 命令监控:top、sar、tsar、nload 等
  • JVM 监控工具

2、APM

3、继续集成

  • 继续集成工具 Jenkins
  • TeamCity
  • Travis CI
  • GitLab CI
  • 环境拆散

4、容器相干

  • Docker
  • K8S

5、虚拟化

  • KVM
  • Xen
  • OpenVZ

6、自动化运维

  • Ansible
  • puppet
  • chef

7、测试

  • 单元测试
  • 压力测试
  • 灰度测试
  • A/ B 测试
  • 蓝绿测试
  • TDD 测试实践
  • 全链路测试

七、中间件

1、web

  • Nginx
  • OpenRestry
  • Tengine
  • ApacheHttpd

2、服务器

  • Tomcat
  • Jetty
  • WebLogic
  • JBoss

3、缓存

  • 本地缓存
  • 客户端缓存
  • web 缓存
  • Memcached
  • Redis
  • Tair
  • cellar

4、音讯队列

  • Kafka
  • ActiveMQ
  • RocketMQ
  • RabbitMQ
  • Redis 音讯队列
  • ZeroMQ

5、RPC

  • Dubbo
  • Thrift
  • gRPC
  • java 的 RMI

6、定时工作

  • Quartz
  • cron 定时调度
  • java 定时工作
  • Elastic-job
  • opencron
  • LTS

7、数据库中间件

  • Mycat
  • Sharding Jdbc

8、搜索引擎

  • Lucene
  • Elasticsearch
  • Solr
  • sphinx

八、微服务

1、微服务框架

  • Springcloud
  • SpringCloud Alibaba
  • Dropwizard
  • Akka

2、注册核心

  • Eureka
  • Zookeeper
  • Consul

3、服务调用

  • Feigh
  • restTemplete

4、负载平衡

  • Ribbon

5、网关

  • Gateway
  • kong
  • zuul

6、配置核心

  • Zookeeper
  • Apollo
  • Springcloud Config

7、链路跟踪

  • SpringCloud Bus
  • SpringCloud Sleuth
  • Zipkin
  • Dapper
  • log-based
  • HTrace

九、分布式

1、分布式实践

  • CAP 实践
  • BASE 实践
  • 幂等性
  • 分布式锁

    • redis 实现
    • 数据库实现
    • Zookeeper 实现

2、一致性算法

  • Paxos
  • ZAB
  • Raft
  • Gossip
  • 两阶段提交协定
  • 节点选举策略
  • 一致性 hash 算法

3、分布式文件系统

  • HDFS
  • fastDFS

4、分布式 ID

  • Snowflake 算法
  • Flicker 算法
  • UUID
  • MongoDB 实现

5、分布式事务

  • 多阶段提交
  • TCC 弥补事务
  • 本地音讯表
  • MQ 事务音讯
  • 最大致力告诉

6、稳定性高可用计划

  • 软硬件负载平衡
  • 限流
  • 容灾
  • 平滑启动

十、平安

1、web 平安

  • XSS
  • CRSF
  • SQL 注入
  • DDOS
  • DNS 攻打
  • 脚本注入
  • 序列化攻打
  • 中间人攻打

2、加密解密算法

  • 对称加密
  • 非对称加密
  • hash 算法
  • 数字签名
  • Base64

3、框架

  • Shiro
  • SpringSecurity

4、受权认证

  • RBAC
  • OAuth2.0
  • OIDC
  • SAML
  • TLS 全链路加密
  • JWT 用户认证
  • Check 前置查看
  • Quota 配额治理
  • Telemetry 遥测报告
  • 双因素认证(2FA)
  • 单点登录 SSO

十一、项目管理

1、开发设计

  • DDD 畛域驱动模型
  • Actor 模式
  • 响应式编程
  • DODAF2.0
  • Serverless
  • Service Mesh

2、项目管理

  • 代码标准
  • 麻利开发
  • 极限编程
  • 结对编程
  • RUP
  • SCRUM
  • PDCA 循环品质治理
  • FMEA 管理模式

3、架构治理

  • DevOps
  • OpenGroup
  • ABSD 架构方法论
  • 架构设计准则
  • 异地多活
  • Knative 弹性伸缩

十二、大数据云计算

1、流式计算

  • storm
  • Flink
  • KafkaStream

2、Hadoop

  • HDFS
  • MapReduce
  • Yarn
  • Spark

十三、开发工具

  • IDEA
  • VSCode
  • VIM
  • Gitlab
  • Navicat
  • XShell
  • postman
  • Filezilla
  • Fiddler

十四、学习资源

1、视频网站

  • B 站
  • 慕课网
  • 中国大学 MOOC 网

2、博客社区

  • CSDN
  • 开源中国
  • 简书
  • 思否
  • 掘金
  • 博客园
  • 阿里云社区
  • 开发者头条
  • Medium

3、技术手册

  • W3Cschool
  • Runoob.com
  • 慕课网教程手册

4、行业资讯

  • 知乎
  • stackoverflow

5、代码托管

  • github
  • gitee
  • coding

6、电子书网站

  • gitbook
  • aibooks
  • 书栈网
  • 搬书匠
  • 鸠摩搜寻
  • IT-ebooks 国外收费

7、程序员交换网站

  • V2EX
  • 知乎

8、云服务器

  • 阿里云
  • 腾讯云
  • 百度云
  • 华为云
  • 七牛云
  • 西部数据
  • 金山云

9、面试刷题

  • LinkCode
  • LeetCode
  • 牛客网

10、找工作

  • 100offer
  • 拉勾网

11、数据资源下载

  • 国家数据
  • MSDN
  • PUDN
  • OPSX 阿里巴巴开源镜像
  • TUNA 清华开源软件
  • 163 网易开源镜像

12、编程外包

  • 大神部落
  • 程序员客栈
  • 码市
  • 开源众包

本内容为第一版,后序将持续更新。

退出移动版