随笔 - 531
文章 - 0
评论 - 3
阅读 -
10215
随笔分类 - 后端八股
非对称加密与 jwt
摘要:公钥加密 的 数据只有私钥可以解密 ,反之 jwt :验证的服务器保存 私钥 , 公钥 通过一些方式传递给其他服务器 ,如配置中心
阅读全文
mysql update 语句执行过程
摘要:开启事务,把旧的内存内容写undo_log , 然后更新内存数据,写redo_log , 硬盘数据的同步稍后执行(WAL技术) 写binlog , 只写到bin_cache 两阶段提交(过程中binlog数据同步到硬盘)
阅读全文
回表查询与覆盖索引
摘要:二级索引的叶子节点有主键id和查询使用的索引值(a,b), 如果有查询的字段(select a,b where a=2,c=2. , 查询字段a,b,c) 没有被查询索引值完全包含,就需要用主键id去聚簇索引树里查询得到完整记录(回表查询 否则就已经在叶子节点得到需要的字段信息(覆盖索引) 一个索引
阅读全文
hashmap 扩容原理
摘要:arr [ capacity*2 ] 每个元素(有一个hash值) ,对应的新位置 计算如下 (hashcode & oldCapacity)。 oldCapacity只有一个最高位的1,和hash对应位 & 为1,则 位置+=oldCapacity, 否则不变
阅读全文
rabbitmq 记录
摘要:消息: 消息体, topic routing key, binding key ,exchanger 多个消费者可以订阅同一个队列 ,消息会被分摊 交换器的模式有 direct topic fanout( 类似广播,不看routing key) 比较下相似的direct,topic, topic可以
阅读全文
事务传播行为
摘要:主要用于控制在方法调用过程中是否需要重新开启一个新的事务,还是沿用已有的事务 假设a调用b 1.REQUIRED ,作为默认的传播行为,B 方法在事务环境中执行。具体情况如下: 如果 A 方法开启了事务:B 方法会加入 A 的事务,共享同一个事务环境。 如果 A 方法没有开启事务:B 方法会新建一个
阅读全文
spring 记录
摘要:ioc:控制反转,不需要new 对象,由ioc容器来实例化对象(包括创建,依赖注入) aop:把和业务无关,诸如日志记录这些功能封装起来,提高代码的复用性 aop使用情景: @Before("execution(* chapter04.concert.Performance.perform(..))
阅读全文
jvm 记录
摘要:jvm内存模型 包括 本地方法栈,虚拟机栈, 堆:保存对象,数组 程序计数器:指出了进程下一条指令的位置,线程切换后恢复到正确位置) 元空间:保存类信息,常量,静态变量 java内存泄漏常见 : 静态变量,事件监听没有关闭 内存溢出: 栈溢出, 堆溢出 堆: 新生代 eden区 minor GC >
阅读全文
零拷贝
摘要:常用于网络文件传输 正常的网络传输 4次 上下文切换与拷贝 如下图 而零拷贝使用诸如 mmap+write 或 sendfile ,只有 一次系统调用(sendfile) , DMA复制(2次)和 内核缓冲区和网络缓冲区 的复制(1次) sendfile 允许数据直接从一个文件描述符发送到另一个文件
阅读全文
CAS操作
摘要:代码大概如下 do { old_value = atomic_load(&c->count); // 获取当前值 //1 } while (!atomic_compare_exchange_weak(&c->count, &old_value, old_value + 1)); 1处c->count
阅读全文
netty 记录
摘要:采用nio:同步非阻塞的io模型 bio: 处理多个客户端请求时,每个客户端连接需要一个独立的线程来处理 I/O 操作,会大量消耗资源 nio组成: buffer ,selector,channel nio采用selector,监听socket channel 上是否有读写操作的事件,然后才执行读写
阅读全文
计算机网络 八股记录
摘要:http请求报文,响应报文 301 Moved Permanently 和 404 Not Found 301,服务器会返回新的 URL,客户端应该用新的 URL 进行访问。 502 错误意味着代理服务器和上游服务器无法通信,比如上游服务器故障 504 Gateway Time-out 上游服务器响
阅读全文
mongodb 记录
摘要:表:集合 记录:文档 mongodb的记录以bson形式存储 存储引擎:WiredTiger 简单crud db.orders.find( { _id: { $lt: 1000 }, status: { $in: ["active"] }, amount: { $gt: 10, $lt: 250 }
阅读全文
Kafka 记录
摘要:补充下mq作用: 解耦合,异步, 削峰限流 key.serializer和value.serializer 序列化器 producer consumer broker : kafka实例,运行在一个机器上 主题(topic) : 分区:类似队列 ,且消息有序 一个broker上会有不同的分区 一个分
阅读全文
操作系统 记录
摘要:内核态和用户态 用户态模式下只能执行部分指令,不能访问硬件资源 进程和线程: 进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位 协程:一种用户态的轻量级线程,其调度完全由用户程序控制。有独立的栈,但和其他协程共享堆内存。 协程之间切换开销很小,无需内核态的上下文切换,适合高并发 软
阅读全文