03 2022 档案
计算机网络 - OSI 7层网络模型各层对应的功能
摘要:应用层 - 负责给应用程序提供统一的接口 表示层 - 负责把数据的解压缩和编码 会话层 - 负责会话的管理(建立和终止) 传输层 - 负责端到端的数据传输 网络层 - 负责数据的路由、转发、分片 数据链路层 - 负责数据的封帧、差错检测和MAC寻址 物理层 - 负责在物理网络中传输数据帧
如何划分微服务?
摘要:一般来说是根据 DDD ( Domain Drive Design )领域驱动设计 来划分微服务。首先思考用户需求,然后将用户需求转换成产品的需求。通过产品的需求可以逐渐讨论实际的业务边界,进而设计出领域模型。然后就可以根据领域模型进行实际的代码开发。
Java - 四种引用类型及应用场景
摘要:## 1. 强引用 new 一个对象的时候,就是强引用 ```java Object object = new Object(); ``` 只要强引用存在,垃圾回收就不会回收该对象,内存不足时会抛出OOM。 ## 2. 软引用 定义:非必须,但仍有用的对象。内存不足时才会回收。 软引用的使用 ```
Java - volatile
摘要:Java - volatile 1. volatile的特性 可见性。对于 volatile 变量的读和写,任意线程总是能够看到该volatile变量最新的值。 原子性。对于 volatile 变量的读和写操作具有原子性。(复合操作除外,如:num++)。 2. volatile的内存语义 当写一个
Java - happens-before
摘要:Java - happens-before JSR-133对 happens-before 关系的定义如下: 如果一个操作 happens-before 另一个操作,那么第一个操作的执行结果将对第二个操作可见,而且第一个操作的执行顺序排在第二个操作之前。 两个操作之间存在 happens-befor
计算机网络 - 三次握手、四次挥手
摘要:计算机网络 - 三次握手、四次挥手 都是四次挥手关闭链接时候的状态。 TIME_WAIT是主动关闭形成的。 CLOSE_WAIT是被动关闭形成的。 三次握手 四次挥手
Redis - Redlock算法
摘要:Redis - Redlock算法 在Redis的分布式环境中,我们假设有N个Redis master。这些节点完全互相独立,不存在主从复制或者其他集群协调机制。之前我们已经描述了在Redis单实例下怎么安全地获取和释放锁。我们确保将在每(N)个实例上使用此方法获取和释放锁。在这个样例中,我们假设有
计算机网络 - HTTP和HTTPS的区别
摘要:计算机网络 - HTTP和HTTPS的区别 http所有传输的内容都是明文,并且客户端和服务器端都无法验证对方的身份。 https具有安全性的ssl加密传输协议,加密采用对称加密。 https协议需要到ca申请证书,一般免费证书很少,需要交费。 可以将HTTPS协议简单理解为HTTP协议+TLS/S
操作系统 - 页面置换算法
摘要:操作系统 - 页面置换算法 当发生缺页中断时,如果当前内存中并没有空闲的页面,操作系统就必须在内存选择一个页面将其移出内存,以便为即将调入的页面让出空间。用来选择淘汰哪一页的规则叫做页面置换算法,我们可以把页面置换算法看成是淘汰页面的规则。 OPT 页面置换算法(最佳页面置换算法) :最佳(Opti
操作系统 - 进程的调度算法
摘要:操作系统 - 进程的调度算法 先到先服务(FCFS)调度算法 : 从就绪队列中选择一个最先进入该队列的进程为之分配资源,使它立即执行并一直执行到完成或发生某事件而被阻塞放弃占用 CPU 时再重新调度。 短作业优先(SJF)的调度算法 : 从就绪队列中选出一个估计运行时间最短的进程为之分配资源,使它立
操作系统 - 进程间的通信方式
摘要:操作系统 - 进程间的通信方式 管道/匿名管道(Pipes) :用于具有亲缘关系的父子进程间或者兄弟进程之间的通信。 有名管道(Names Pipes) : 匿名管道由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了有名管道。有名管道严格遵循先进先出(first in first
MySQL - 索引类型
摘要:MySQL - 索引类型 主键索引(Primary Key) 数据表的主键列使用的就是主键索引。 一张数据表有只能有一个主键,并且主键不能为 null,不能重复。 在 MySQL 的 InnoDB 的表中,当没有显示的指定表的主键时,InnoDB 会自动先检查表中是否有唯一索引且不允许存在null值
Redis - 持久化 AOF 和 RDB
摘要:Redis - 持久化 AOF 和 RDB AOF AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写(rewri
算法 - 字母异位词分组
摘要:算法 - 字母异位词分组 题目:字母异位词分组 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的字母得到的一个新单词,所有源单词中的字母通常恰好只用一次。 示例 1: 输入: strs = ["eat", "tea", "tan",
算法 - 归并排序
摘要:算法 - 归并排序 递归法 使用快慢指针,找到中间节点,当只有一个节点的时候,递归失效。 递归左部节点的头节点和右部节点的头节点。 新建前驱节点,并创建指向前驱节点的头指针,对比左右两侧节点大小,然后插入到前驱节点。 参考代码 class Solution { public ListNode sor