java小白到架构师技术图谱

一、计算机基础

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、编程外包

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/458674.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

想作弊❓用这个发起考试,根本没法作弊

🎉 推荐一款超实用的在线考试神器 —— 土著刷题✨ 如果你正在寻找一个既方便又高效的在线考试平台,那么“土著刷题”小🍊序绝对值得一试!它不仅完全免费,而且操作简单,非常适合用来组织线上测试。 &#x…

使用Angular构建动态Web应用

💖 博客主页:瑕疵的CSDN主页 💻 Gitee主页:瑕疵的gitee主页 🚀 文章专栏:《热点资讯》 使用Angular构建动态Web应用 1 引言 2 Angular简介 3 安装Angular 4 创建Angular项目 5 设计应用结构 6 创建组件 7 …

「Java SPI机制应用快速入门」: 一种JDK内置的服务提供发现机制

文章目录 什么是SPISPI机制的应用使用方法使用规范 入门案例 什么是SPI SPI首先是一种机制,这个机制叫:服务提供发现机制。那是谁来负责发现呢?当然是JDK内置的服务帮助我们发现啦。发现了帮助我们去调用,我们要做的就是在中间去…

2024护理类科技核心期刊汇总(最新版)

2024年9月中国科技核心期刊目录(2024年版)正式公布,13本护理类期刊入选。常笑医学整理了这13本护理类科技核心期刊的详细参数,以及投稿经验,供大家在论文投稿时参考,有需要的赶紧收藏! 1.《中华…

SwiftUI(四)- 布局(VStack、HStack、ZStack)

引言 页面的搭建和布局在应用开发中几乎占据了一半的代码量。定于iOS开发而言,相较于其它平台,UIKit的布局方式显得相对局限,通常只有绝对布局和相对布局两种方案。而在Flutter或者Android开发中,布局选项更为丰富,比…

【mod分享】极品飞车9冬日mod,支持光追,想体验一把冬天的Rockport市吗

各位好,今天小编给大家带来一款新的高清重置魔改MOD,本次高清重置的游戏叫《极品飞车9最高通缉》。 《极品飞车:最高通缉》作为一款2005年的游戏,《极品飞车:最高通缉》的画面效果还是可以的,效果全开之后…

【状态机DP】力扣1186. 删除一次得到子数组最大和

给你一个整数数组,返回它的某个 非空 子数组(连续元素)在执行一次可选的删除操作后,所能得到的最大元素总和。换句话说,你可以从原数组中选出一个子数组,并可以决定要不要从中删除一个元素(只能…

手机拍证件照,换正装有领衣服及底色的方法

证件照在我们的职业生涯的关键节点是经常会用到的,比如毕业入职、人事档案建立、升迁履历、执业资格考试和领证等,这些重要的证件照往往要求使用正装照,有时候手头没有合适的衣服,或者原先的证件照背景色不符合要求,就…

numpy——数学运算

一、标量——矢量 import numpy as npa 3.14 b np.array([[9, 5], [2, 7]])print(a) print(b)# ---------- 四则运算 ---------- print(a b) # np.add print(a - b) # np.subtract print(a * b) # np.multiply print(a / b) # np.divide 二、矢量——矢量 import nump…

优选算法精品课--双指针算法(2)

双指针算法(2) 1、有效三角形的个数1.1 题目解析1.2 思路解析1.3 代码实现 2、和为s的两个数2.1 题目解析2.2 思路解析2.3 代码实现 3、三数之和3.1 题目解析3.2 思路解析3.3 代码实现 4、四数之和4.1 题目解析4.2 思路解析4.3 代码实现 5 总结 1、有效三…

4个提取音频办法,轻松实现视频转音频!

在信息爆炸的时代,视频内容以其直观、生动的特点占据了互联网的大半江山。然而,在某些场景下,我们可能更倾向于只听取音频部分,无论是驾驶途中听讲座、跑步时享受音乐视频中的纯音乐的场景,还是为了节省流量和存储空间…

Python continue和break

continue的作用是: 中断所在循环的当次执行,直接进入下一次 break的作用是: 直接结束所在的循环 注意事项: continue和break,在for和while循环中作用一致 在嵌套循环中,只能作用在所在的循环上&#x…

【01初识】-初识 RabbitMQ

目录 学习背景1- 初识 MQ1-1 同步调用什么是同步调用?小结:同步调用优缺点 1-2 异步调用什么是异步调用?小结:异步调用的优缺点,什么时候使用异步调用? 1-3 MQ 技术选型 学习背景 异步通讯的特点&#xff…

300元蓝牙耳机性价比高的有哪些?学生平价蓝牙耳机推荐

你是否正在为选择一款性价比高的蓝牙耳机而烦恼?是否希望找到一款既适合学生使用,又能在预算内满足需求的蓝牙耳机?300元蓝牙耳机性价比高的有哪些?如果你有这样的需求,那么下面我将为大家提供一些有益的参考&#xff…

中间件安全(三)

本文仅作为学习参考使用,本文作者对任何使用本文进行渗透攻击破坏不负任何责任。 前言: 本文主要讲解apache命令执行漏洞(cve_2021_41773)。 靶场链接:Vulfocus 漏洞威胁分析平台 一,漏洞简介。 cve_2021_41773漏洞…

【STM32外设及其应用】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

pyvideotrans 最佳AI翻译软件

文章目录 体验视频翻译配音工具主要用途和功能预打包版本(仅win10/win11可用,MacOS/Linux系统使用源码部署)MacOS源码部署Linux 源码部署Window10/11 源码部署源码部署问题说明使用教程和文档语音识别模型:视频教程(第三方)软件预览截图相关联项目致谢 体验 不错&a…

【含开题报告+文档+PPT+源码】基于SpringBoot的健康知识学习分享平台的设计与实现

开题报告 随着人们生活水平的提高和健康意识的增强,健康知识在日常生活中的重要性日益凸显。传统的健康知识获取途径如书籍、讲座等虽然具有一定的效果,但存在信息更新慢、交互性差等局限性。同时,互联网的普及和移动互联网的发展为人们提供…

【算法刷题指南】双指针

🌈个人主页: 南桥几晴秋 🌈C专栏: 南桥谈C 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据…

前端零基础入门到上班:【Day1】什么是前端?

本来打算开付费专栏 但是想起那句话 赠人玫瑰手留余香 引言1. 什么是前端?1.1 前端的定义1.2 前端的三大核心技术1.3 前端框架和工具 2. 什么是后端?2.1 后端的定义2.2 后端的组成要素2.3 后端框架和工具 3. 前后端的区别4. 什么是前后端分离&#xff1f…