2023最新最全面Java复习路线(含P5-P8),已收录 GitHub

小编整理出一篇 Java 进阶架构师之路的核心知识,同时也是面试时面试官必问的知识点,篇章也是包括了很多知识点,其中包括了有基础知识、Java 集合、JVM、多线程并发、spring 原理、微服务、Netty 与 RPC 、Kafka、日记、设计模式、Java 算法、数据库、Zookeeper、分布式缓存、数据结构等等

由于 pdf 文档里的细节内容实在过多所以只编辑了部分知识点的章节粗略的介绍下,每个章节小节点里面都有更细化的内容!以下就是部分章节目录

JVM

  1. 线程
  2. JVM 内存区域
  3. JVM 运行时内存
  4. 垃圾回收与算法
  5. JAVA 四中引用类型
  6. GC 分代收集算法 VS 分区收集算法
  7. GC 垃圾收集器
  8. JAVA IO/NIO
  9. JVM 类加载机制

Ps:由于篇幅限制,笔记无法全部为大家展示出来,下面就以截图主要内容的形式让大家参考啦,需要完整版的小伙伴可以 点击这里即可获取到文章中的文档,资料!

JAVA 集合

  1. 接口继承关系和实现
  2. List
  3. ArrayList(数组)
  4. Vector(数组实现、线程同步)
  5. LinkList(链表)
  6. Set
  7. HashSet(Hash 表)
  8. TreeSet(二叉树)

JAVA 多线程并发

  1. JAVA 并发知识库
  2. JAVA 线程实现/创建方式
  3. 4 种线程池
  4. 线程生命周期(状态)
  5. 终止线程 4 种方式
  6. sleep 与 wait 区别
  7. start 与 run 区别
  8. JAVA 后台线程
  9. JAVA 锁
  10. 线程基本方法 4.1.11. 线程上下文切换
  11. 同步锁与死锁
  12. 线程池原理
  13. JAVA 阻塞队列原理
  14. CyclicBarrier、CountDownLatch、Semaphore 的用法
  15. volatile 关键字的作用(变量可见性、禁止重排序)
  16. 如何在两个线程之间共享数据

JAVA 基础

  1. JAVA 异常分类及处理
  2. JAVA 反射
  3. JAVA 注解
  4. JAVA 内部类
  5. JAVA 泛型
  6. JAVA 序列化(创建可复用的 Java 对象)
  7. JAVA 复制

Spring 原理

  1. Spring 特点
  2. Spring 核心组件
  3. Spring 常用模块
  4. Spring 主要包
  5. Spring 常用注解
  6. Spring 第三方结合
  7. Spring IOC 原理
  8. Spring APO 原理
  9. Spring MVC 原理
  10. Spring Boot 原理
  11. JPA 原理
  12. Mybatis 缓存
  13. Tomcat 架构

微服务

  1. 服务注册发现
  2. API 网关
  3. 配置中心
  4. 事件调度(kafka)
  5. 服务跟踪(starter-sleuth)
  6. 服务熔断(Hystrix)
  7. Hystrix 断路器机制
  8. API 管理

Netty 与 RPC

  1. Netty 原理
  2. Netty 高性能
  3. Netty RPC 实现
  4. 关键技术
  5. 核心流程
  6. 消息编解码
  7. 通讯过程
  8. RMI 实现方式

分布式缓存

  1. 缓存雪崩
  2. 缓存穿透
  3. 缓存预热
  4. 缓存更新
  5. 缓存降级

网络

  1. 网络 7 层架构
  2. TCP/IP 原理
  3. TCP 三次握手/四次挥手
  4. HTTP 原理
  5. CDN 原理
  6. 分发服务系统
  7. 负载均衡系统
  8. 管理系统

日志

  1. Slf4j
  2. Log4j
  3. LogBack
  4. Logback 优点
  5. ELK

Zookeeper

  1. Zookeeper 概念
  2. Zookeeper 角色
  3. Zookeeper 工作原理(原子广播)
  4. Znode 有四种形式的目录节点

Kafka

  1. Kafka 概念
  2. Kafka 数据存储设计
  3. partition 的数据文件(offset,MessageSize,data)
  4. 数据文件分段 segment(顺序读写、分段命令、二分查找)
  5. 数据文件索引(分段索引、稀疏存储)
  6. 生产者设计
  7. 负载均衡(partition 会均衡分布到不同 broker 上)
  8. 批量发送
  9. 压缩(GZIP 或 Snappy)
  10. 消费者设计

RabbitMQ

  1. RabbitMQ 概念
  2. RabbitMQ 架构
  3. Exchange 类型

Hbase

  1. Hbase 概念
  2. 列式存储
  3. Hbase 核心概念
  4. Hbase 核心架构
  5. Hbase 的写逻辑
  6. HBase vs Cassandra
  7. MongoDB
  8. MongoDB 概念
  9. MongoDB 特点

Cassandra

  1. Cassandra 概念
  2. 数据模型
  3. Cassandra 一致 Hash 和虚拟节点
  4. Gossip 协议
  5. 数据复制
  6. 数据写请求和协调者
  7. 数据读请求和后台修复
  8. 数据存储(CommitLog、MemTable、SSTable)
  9. 二级索引(对要索引的 value 摘要,生成 RowKey)
  10. 数据读写

设计模式

  1. 设计原则
  2. 工厂方法模式
  3. 抽象工厂模式
  4. 单例模式
  5. 建造者模式
  6. 原型模式
  7. 适配器模式
  8. 装饰器模式
  9. 代理模式
  10. 外观模式
  11. 桥接模式
  12. 组合模式
  13. 享元模式
  14. 策略模式
  15. 模板方法模式
  16. 观察者模式
  17. 迭代子模式
  18. 责任链模式
  19. 命令模式
  20. 备忘录模式

负载均衡

  1. 四层负载均衡 vs 七层负载均衡
  2. 负载均衡算法/策略
  3. LVS
  4. Keepalive
  5. Nginx 反向代理负载均衡
  6. HAProxy

数据库

  1. 存储引擎
  2. 索引
  3. 数据库三范式
  4. 数据库是事务
  5. 存储过程(特定功能的 SQL 语句集)
  6. 触发器(一段能自动执行的程序)
  7. 数据库并发策略
  8. 数据库锁
  9. 基于 Redis 分布式锁
  10. 分区分表
  11. 两阶段提交协议
  12. 三阶段提交协议
  13. 柔性事务
  14. CAP

一致性算法

  1. Paxos
  2. Zab
  3. Raft
  4. NWR
  5. Gossip
  6. 一致性 Hash
  7. 一致性 Hash 特性
  8. 一致性 Hash 原理

JAVA 算法

  1. 二分查找
  2. 冒泡排序算法
  3. 插入排序算法
  4. 快速排序算法
  5. 希尔排序算法
  6. 归并排序算法
  7. 桶排序算法
  8. 基数排序算法
  9. 剪枝算法
  10. 回溯算法
  11. 最短路径算法
  12. 最大子数组算法
  13. 最长公共子序算法
  14. 最小生成树算法

数据结构

  1. 栈(stack)
  2. 队列(queue)
  3. 链表(Link)
  4. 散列表(Hash Table)
  5. 排序二叉树
  6. 红黑树
  7. B-TREE
  8. 位图

加密算法

  1. AES
  2. RSA
  3. CRC
  4. MD5

Hadoop

  1. Hadoop 概念
  2. HDFS
  3. Client
  4. NameNode
  5. Secondary NameNode
  6. DataNode
  7. MapReduce
  8. JobTracker
  9. TaskTracker
  10. Task
  11. Reduce Task 执行过程
  12. Hadoop MapReduce 作业的生命周期
  13. 作业提交与初始化
  14. 任务调度与监控。
  15. 任务运行环境准备
  16. 任务执行
  17. 作业完成

Spark

  1. Spark 概念
  2. 核心架构
  3. 核心组件
  4. SPARK 编程模型
  5. SPARK 计算模型
  6. SPARK 运行流程
  7. SPARK RDD 流程
  8. SPARK RDD

Storm

  1. Storm 概念
  2. 集群架构
  3. Nimbus(master-代码分发给 Supervisor)
  4. Supervisor(slave-管理 Worker 进程的启动和终止)
  5. Worker(具体处理组件逻辑的进程)
  6. Task
  7. ZooKeeper
  8. 编程模型(spout->tuple->bolt)
  9. opology 运行
  10. Storm Streaming Grouping
  11. ResourceManager
  12. NodeManager
  13. ApplicationMaster
  14. YARN 运行流程

云计算

  1. SaaS
  2. PaaS
  3. IaaS
  4. Docker
  5. Openstack
  6. Namespaces
  7. 进程(CLONE_NEWPID 实现的进程隔离)
  8. Libnetwork 与网络隔离
  9. 资源隔离与 CGroups
  10. 镜像与 UnionFS
  11. 存储驱动

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

音视频技术开发周刊 | 297

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 Geenee AR为品牌商和零售商提供虚拟试穿应用 这意味着Geenee AR的虚拟试穿解决方案能够与品牌商现有的销售渠道无缝集成。 谁说苹果掉队了?WWDC上只字未提AI&a…

九种分布式ID解决方案

背景 在复杂的分布式系统中,往往需要对大量的数据进行唯一标识,比如在对一个订单表进行了分库分表操作,这时候数据库的自增ID显然不能作为某个订单的唯一标识。除此之外还有其他分布式场景对分布式ID的一些要求: 趋势递增&#…

java SSM 宿舍管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 宿舍管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/…

JVM零基础到高级实战之内存区域分布与概述

JVM零基础到高级实战之内存区域分布与概述 JVM零基础到高级实战之内存区域分布与概述 文章目录 JVM零基础到高级实战之内存区域分布与概述前言Java语言为甚么优势巨大?总结 前言 JVM零基础到高级实战之内存区域分布与概述 Java语言为甚么优势巨大? 一处…

强大的工具:APISpace IP归属地查询API

引言 IP地址在互联网世界中扮演着重要的角色,对于许多应用程序和服务来说,了解IP地址的归属地信息可以提供有价值的洞察和功能。 在本文中,我们将介绍一种名为IP归属地-IPv4区县级 API 的强大工具,它提供了查询 IP 地址归属地信…

网内计算:可编程数据平面和技术特定应用综述

网内计算:可编程数据平面和技术特定应用综述 摘要——与云计算相比,边缘计算提供了更靠近终端设备的处理,降低了用户体验的延迟。最新的In-Network Computing范例采用可编程网络元素在数据达到边缘或云服务器之前计算,促进了常见…

《百年孤独》15句经典语录

句句都是人生真相,说透了所有人的孤独。 1、生命中曾经有过的所有灿烂,原来终究,都需要用寂寞来偿还。 2、过去都是假的,回忆是一条没有尽头的路。 这句话是最受读者欢迎的一句话,回忆就是一条没有尽头的路&#xf…

【嵌入式环境下linux内核及驱动学习笔记-(16)linux总线、设备、驱动模型之input框架】

目录 1、Linux内核输入子系统概念导入1.1 输入设备工作机制1.2 运行框架1.3 分层思想 2、驱动开发步骤2.1 在init()或probe()函数中2.2 在exit()或remove()函数中:2.3 上报事件2.4 input驱动要素导图2.5 input驱动的总…

LVS负载均衡群集部署——DR直接路由模式

这里写目录标题 一 、 LVS-DR 工作原理二、数据包流向分析三、LVS-DR 模式的特点四、ARP问题4.1 问题一:IP地址冲突4.2 问题二:第二次再有访问请求 五、部署LVS-DR集群5.1 配置Tomcat 多实例服务器5.2 配置web节点服务器配置web1节点服务器配置Nginx七层…

Flutter进阶篇-布局(Layout)原理

1、约束、尺寸、位置 overrideWidget build(BuildContext context) {return Scaffold(body: LayoutBuilder(builder: (context, constraints) {print("body约束:" constraints.toString());return Container(color: Colors.black,width: 300,height: 300,child: L…

MATLAB | 绘图复刻(九) | 泰勒图及组合泰勒图

有粉丝问我这个图咋画: 我一看,这不就泰勒图嘛,就fileexchange上搜了一下泰勒图绘制代码,但是有的代码比较新的版本运行要改很多地方,有的代码需要包含一些压缩包没并没有的别人写的函数,于是我干脆自己写了…

【MySQL 数据库】11、学习 MySQL 中的【锁】

目录 一、锁的概述与分类二、全局锁(全库数据备份)三、表级锁(1) 表锁(2) 元数据锁(Meta Data Lock)(3) 意向锁 四、行级锁(1) 行锁(2) 间隙锁&临键锁 一、锁的概述与分类 锁是计算机协调多个进程或线程并发访问某一资源的机…

国产Gauss 分布式数据库概述

一、前言 GaussDB 是华为2023年6月7日发布新一代分布式数据库,采用share-nothing架构,数据自动分片,通过GTM-Lite技术实现事务强一致,无中心节点性能瓶颈,是华为基于openGauss自主创新研发的一款分布式关系型数据库&am…

STM32CubeMX | 44 - 使用GPIO点亮单总线RGBLED

一、单总线RGBLED 1. 硬件连接 在DragonFly上有四个全彩灯相连: 其中RGB_LED连接到STM32的PB9引脚。 2. 单总线通信协议 单总线通信协议中,表示bit0和bit1的码型如下: 时序值如下: 驱动一个单总线RGBLED只需要传输24bit颜色数据即可(MSB,高位优先),格式如下(注意…

C++设计模式 - 创建型模式之工厂模式

文章目录 C设计模式 - 创建型模式之工厂模式接口和针对接口编程 1. 简单工厂模式适用场合UML代码示例 2. 工厂方法模式适用场合UML代码示例 3. 抽象工厂模式适用场合UML代码示例 总结 C设计模式 - 创建型模式之工厂模式 工厂模式属于创建型模式,大致可以分为三类&a…

力扣 209. 长度最小的子数组

一、题目描述 给定一个含有 n 个正整数的数组和一个正整数 target。 找出该数组中满足其和大于等于 target 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。 示例 1: 输入:target 7, nums [2,3,1…

Uni-app学习从0到1开发一个app——(3)简单小工程内容介绍

文章目录 工程文件 看看一个标准的hello微信小程序工程文件的组成和作用。 工程文件 可以参考官方教程:传送门 之前的文章有详细的开发环境介绍,传送门Uni-app学习从0到1开发一个app——(2)windowns环境搭配,这里我们先建一个简单的示例微信…

C++教程(06)——变量类型

C 变量类型 变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。它必须以字母…

华为OD机试真题B卷 Java 实现【自守数】,附详细解题思路

一、题目描述 自守数是指一个数的平方的尾数等于该数自身的自然数。例如:252 625,762 5776,93762 87909376。 请求出n(包括n)以内的自守数的个数。 数据范围: 1≤n≤10000 二、输入描述 int型整数。 三、输出描述 n以内…

大话Stable-Diffusion-Webui-动手开发一个简单的stable-diffusion-webui(一)

文章目录 写在前面整体效果开发所需环境开发工具需要具备的知识Node安装更改npm包安装的目录设置npm镜像vscode安装创建vue项目代码编写项目先体验注意写在前面 stable-diffusion-webui(以下简称sd)项目通过FastAPI对外提供了一系列的api用于开发者二次开发或者集成到自己的…