
面试八股文
文章平均质量分 89
什么名字都已存在
努力得到想要的一切
展开
-
分布式理论知识
BASE理论BASE是对 CAP 中 AP 方案的一个补充Basically Available(基本可用):分布式系统在出现不可预知故障的时候,允许损失部分可用性**(**响应时间上的损失,系统功能上的损失)Soft-state(软状态):系统中的数据存在中间状态。Eventually Consistent(最终一致性)系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态实现最终一致性的具体方式读时修复: 在读取数据时,检测数据的不一致,进行修复写时修复: 在写入数据,检原创 2022-04-23 16:16:58 · 2058 阅读 · 0 评论 -
计算机网络与系统
计算机网络OSI 七层模型:物链网,传话表应 物理层:节点之间的传输介质 数据链路层:管理相邻节点的数据通信 网络层:路由和寻址 传输层:两台主机进程之间的通讯传输 会话层:管理应用程序之间的会话 表示层:数据处理 应用层:用户服务TCP/IP 四层模型 网络接口层:两个相邻节点间的链路上传送帧 网络层:路由分组交换网上的不同主机提供通信服务 传输层:数据传输服务 传输控制协议TCP:提供面向连接的,可靠的数据传输服务。TCP 一般用于文件传输、发送和接收原创 2022-04-23 15:43:33 · 556 阅读 · 0 评论 -
消息队列RabbitMQ
微服务间通讯有同步和异步两种方式同步通讯:就像打电话,需要实时响应。同步调用的优点:- 时效性较强,可以立即得到结果同步调用的问题:- 耦合度高- 性能和吞吐能力下降- 有额外的资源消耗- 有级联失败问题异步通讯:就像发邮件,不需要马上回复。好处:- 吞吐量提升:无需等待订阅者处理完成,响应更快速- 故障隔离:服务没有直接调用,不存在级联失败问题- 调用间没有阻塞,不会造成无效的资源占用- 耦合度极低,每个服务都可以灵活插拔,可替换- 流量削峰:不管发布事件的流量波动多大,都由原创 2022-04-22 17:18:04 · 2631 阅读 · 0 评论 -
Nginx知识
Nginx是一个轻量级/高性能的反向代理Web服务器,实现非常高效的反向代理、负载平衡,他可以处理2-3万并发连接数,采用一种进程池+IO多路复用的这种模式。应用场景http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会应为某台服务器负载高宕机而某台服务器闲置的情况。处理请求过程1.Nginx原创 2022-04-22 15:20:53 · 1478 阅读 · 0 评论 -
分布式锁Redisson
集群库存问题如果是单机情况下(单JVM),线程之间共享内存,只要使用线程锁就可以解决并发问题如果是分布式情况下(多JVM),线程A和线程B很可能不是在同一JVM中,这样线程锁就无法起到作用了,这时候就要用到分布式锁来解决分布式锁实现机制分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁基于Redis的分布式锁SETNX lock:168 1命令来自于SET if Not eXists的缩写,意思是:如果 key 不存在,则设置原创 2022-04-21 21:27:21 · 703 阅读 · 0 评论 -
Spring Cloud知识
Spring Cloud 就是微服务系统架构的一站式解决方案。提供服务发现注册 、配置中心 、消息总线 、负载均衡 、断路器 、数据监控 等操作。微服务组件服务注册发现,统一配置管理,服务远程调用,统一网关路由,服务链路监控,流控,降级,保护创建微服务项目步骤1.聚合项目的pom文件 <packaging>pom</packaging> springboot的<parent>,微服务的版本,alibaba的版本,版本存在冲突的问题。 <modules原创 2022-04-21 15:08:50 · 464 阅读 · 0 评论 -
Spring知识
Spring源码解读方法一:this.prepareRefresh();该方法主要作用:1、设置容器的状态2、初始化属性设置(应用监听器)3、检查必备属性是否存在方法二:this.obtainFreshBeanFactory();该方法主要作用:配置文件就会解析成一个个 Bean 定义,注册到 BeanFactory 中1、设置beanFactory序列化id2、获取beanFactory方法三:this.prepareBeanFactory(beanFactory);作用:主要原创 2022-04-21 14:35:29 · 634 阅读 · 0 评论 -
Redis知识
常见数据结构string:简单动态字符串常用命令:set,get,strlen,exists,decr,incr,setex应用场景: 一般常用在需要计数的场景,比如用户的访问次数、热点文章的点赞转发数量list: 双向链表,即可以支持反向查找和遍历常用命令: rpush,lpop,lpush,rpop,lrange,llen例子:rpush myList value1lpop myListlrange myList 0 1 // lrange myList 0 -1应用场景: 发布与原创 2022-04-20 18:28:24 · 507 阅读 · 0 评论 -
Mysql知识
基础架构连接器: 身份认证和权限相关。查询缓存:执行查询语句的时候,会先查询缓存。分析器:检查你的 SQL 语句语法是否正确。优化器:按照 MySQL 认为最优的方案去执行。执行器:调用引擎的接口,返回接口执行的结果。存储引擎show enginesMyISAM:表级锁;不支持事务;不支持外键;不支持安全恢复,使用B+树作为索引结果,叶节点的data域存放的是数据记录的地址(非聚集索引)InnoDB:行级锁,表级锁;支持事务;支持外键;支持安全恢复,主键索引是聚集索引;辅助索引是非聚集索引原创 2022-04-20 17:25:00 · 1004 阅读 · 0 评论 -
JVM知识
运行时数据区域线程私有的:**程序计数器:**字节码解释器依次读取指令;恢复线程切换的位置。唯一不会出现 OutOfMemoryError虚拟机栈:(StackOverFlowError,OutOfMemoryError)方法压栈弹栈,栈由一个个栈帧组成,而每个栈帧中都拥有:**局部变量表:**编译期可知的各种数据类型;对象引用操作数栈:存放方法执行过程中产生的中间计算结果动态链接:当一个方法要调用其他方法,需要将常量池中指向方法的符号引用转化为其在内存地址中的直接引用。动态链接的作用就是为了将符原创 2022-04-20 16:53:30 · 952 阅读 · 0 评论 -
Java并发知识
进程的状态创建状态(new) :进程正在被创建,尚未到就绪状态。就绪状态(ready) :进程已处于准备运行状态,即进程获得了除了处理器之外的一切所需资源,一旦得到处理器资源(处理器分配的时间片)即可运行。运行状态(running) :进程正在处理器上上运行(单核 CPU 下任意时刻只有一个进程处于运行状态)。阻塞状态(waiting) :又称为等待状态,进程正在等待某一事件而暂停运行如等待某资源为可用或等待 IO 操作完成。即使处理器空闲,该进程也不能运行。结束状态(terminated) :进原创 2022-04-20 16:10:49 · 267 阅读 · 0 评论 -
Java集合
Java集合List, Set, Queue, MapList:有序的、可重复的Arraylist: Object[] 数组Vector:Object[] 数组LinkedList: 双向链表Set:无序的、不可重复的HashSet: (无序,唯一) 基于 HashMap 实现的,底层采用 HashMap 来保存元素LinkedHashSet: 内部是通过 LinkedHashMap 来实现的TreeSet: (有序,唯一)红黑树(自平衡的排序二叉树)Queue:有序的、可重复的Pri原创 2022-04-20 14:28:16 · 258 阅读 · 0 评论