随笔分类 -  原理

摘要:redis 主从是异步模式 AOF和RDB复制都是才有子进程共享内存,写时复制实现的。 Redis 为了避免 AOF 文件越写越大,提供了 AOF 重写机制,当 AOF 文件的大小超过所设定的阈值后,Redis 就会启用 AOF 重写机制,来压缩 AOF 文件。 在整个 AOF 后台重写过程中,除了 阅读全文
posted @ 2023-03-18 14:27 sahara-随笔 阅读(26) 评论(0) 推荐(0) 编辑
摘要:PhantomReference简介 PhantomReference是JDK提供的一种引用,可直译为虚引用 首先,PhantomReference引用的get方法永远返回null 其次,只被这种虚引用所引用的对象,如果没有其他额外的有效引用的话,在执行GC垃圾回收时就会被认定为是垃圾了(但不会立刻 阅读全文
posted @ 2022-11-10 10:56 sahara-随笔 阅读(263) 评论(0) 推荐(1) 编辑
摘要:精简指令集 去掉复杂指令代之以一些简单的指令,有了简单指令CPU内部的微代码也不需要了,没有了微代码这层中间抽象,编译器生成的机器指令对CPU的控制力大大增强,有什么问题让写编译器的那帮家伙修复就好了,显然调试编译器这种软件要比调试CPU这种硬件要简单很多。注意,精简指令集思想不是说指令集中指令的数 阅读全文
posted @ 2022-09-17 13:56 sahara-随笔 阅读(764) 评论(0) 推荐(0) 编辑
摘要:有栈协程就是实现了一个用户态的线程,用户可以在堆上模拟出协程的栈空间,当需要进行协程上下文切换的时候,主线程只需要交换栈空间和恢复协程的一些相关的寄存器的状态就可以实现一个用户态的线程上下文切换,没有了从用户态转换到内核态的切换成本,协程的执行也就更加高效。 ##golang协程实现 Gorouti 阅读全文
posted @ 2022-09-17 13:56 sahara-随笔 阅读(336) 评论(0) 推荐(0) 编辑
摘要:##Buffered I/O 缓存 I/O 又被称作标准 I/O,大多数文件系统的默认 I/O 操作都是缓存 I/O。 在 Linux 的缓存 I/O 机制中,这种访问文件的方式是通过两个系统调用实现的:read() 和 write()。调用read()时,如果 操作系统内核地址空间的页缓存( pa 阅读全文
posted @ 2022-09-17 13:55 sahara-随笔 阅读(68) 评论(0) 推荐(0) 编辑
摘要:Spring bean注入流程 类实例化 -> 属性注入 -> 执行初始化方法 -> (如果有需要)生成代理对象 -> 使用 二级缓存存在的问题 举例说明:A、B两个类相互依赖,初始化A的时候, 第一步实例化A完成(原始实例放入二级缓存),注入依赖属性B,一级缓存查询B没有,二级缓存查询B没有, 初 阅读全文
posted @ 2022-08-20 21:24 sahara-随笔 阅读(1559) 评论(0) 推荐(0) 编辑
摘要:flink cdc底层抽取数据原理是按表分块,进行快照读获取所有数据,当全量数据收集完成后,继续获取binlog增量数据。 以上操作,在执行全量数据收集时,若源端数据库用户执行ddl命令(如修改表字段等),flink cdc当前阶段无法感知表结构变化。 解决方案: split reader 执行分块 阅读全文
posted @ 2022-06-29 19:07 sahara-随笔 阅读(1424) 评论(0) 推荐(0) 编辑
摘要:RabbitMQ是一个可靠的、通用的消息中间件,支持多种协议如:AMQP, MQTT, STOMP, 等。执行后台或者长期任务是rabbitmq常见的使用方式;也可以用于微服务之间通信,避免传递消息的瓶颈。 kafka是一个消息总线,特点是能高吞吐量的接收数据流和重放。常用于需要迁移、处理或者分析大 阅读全文
posted @ 2022-04-13 17:45 sahara-随笔 阅读(68) 评论(0) 推荐(0) 编辑
摘要:多线程socket IO 传统的socket IO中,server一直监听服务端口,当一个请求连接发送到server端时,server端获取当前的socket,然后为socket分配一个线程(通过new方式或者线程池获取一个可用的线程),让该线程独占这个socket,执行相关任务、直到任务执行完成后 阅读全文
posted @ 2021-11-15 20:14 sahara-随笔 阅读(401) 评论(0) 推荐(0) 编辑
摘要:阻塞是线程的一个状态,线程发起任务请求然后一直等,直到到任务完成再把结果返回,如果任务未完成当前线程会被挂起。 非阻塞是发起任务请求之后先马上返回去做别的事,然后再时不时主动查看任务请求是否被完成。(轮询) 同步是指两个任务(线程)之间存在竞争或者因果关系,例如一个线程占用了一个对象,其他线程如果要 阅读全文
posted @ 2021-09-30 17:00 sahara-随笔 阅读(390) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示