Loading

摘要: n & (n - 1)的用处 用处:将二进制数的最后一个1的所在位变成0 举例: 假设n = 122,二级制数为**1111010** 那么n - 1 = 121,二进制数**1111001** n & (n - 1) = 122 & 121 =1111010 & 1111001 = 1111000 阅读全文
posted @ 2022-06-09 18:42 FynnWang 阅读(708) 评论(0) 推荐(0)
摘要: Select tables optimized away 场景 cloud_system_wf表有两个索引date_time,sys_code CREATE TABLE `cloud_system_wf` ( `id` bigint(10) NOT NULL AUTO_INCREMENT, `sys 阅读全文
posted @ 2022-05-27 10:37 FynnWang 阅读(1121) 评论(0) 推荐(0)
摘要: 线程池配置 基础配置 /** * 用给定的初始参数创建一个新的ThreadPoolExecutor。 */ public ThreadPoolExecutor(int corePoolSize,//线程池的核心线程数量 int maximumPoolSize,//线程池的最大线程数 long kee 阅读全文
posted @ 2022-05-26 21:57 FynnWang 阅读(146) 评论(0) 推荐(0)
摘要: TCP keepalive overview 阅读全文
posted @ 2022-05-25 18:25 FynnWang 阅读(44) 评论(0) 推荐(0)
摘要: 目录分布式锁分布式锁设计需解决的问题Redis如何获取锁?持有锁之后,如何保证其他线程不会获取锁或者释放锁?如何释放锁?释放锁时出现异常,如何保证不死锁?获取不到锁时,应该做些什么才能等锁释放之后,尽快获取锁?如何保证以上操作的线程安全问题,例如获取锁的时候同时设置锁超时时间,释放锁时释放的自己持有 阅读全文
posted @ 2022-04-28 16:22 FynnWang 阅读(663) 评论(0) 推荐(0)
摘要: CAS(Compare And Swap) 一种无锁(lock-free)算法 是一种乐观锁 是实现自旋锁的手段 理论上认为从内存直接取值然后修改是顺序队列的 思想 使用一个原子操作。首先确定内存原值与预期原值是否相同,如果相同,然后立刻将内存原值改为新值 类似于修改密码:输入旧密码与新密码同时提交 阅读全文
posted @ 2022-04-21 19:35 FynnWang 阅读(144) 评论(0) 推荐(0)
摘要: 空间 一般指内存、CPU缓存存储资源 时间 指对数据操作所花费的时间 空间换时间 双向链表为了将删除、插入的复杂度控制为O(1),比起单向链表多出了前驱指针prev。虽然多消耗空间,但是提升了删除、插入操作的效率 Redis内存数据库,优先将数据加载到了内存,虽然比起读取硬盘消耗了较昂贵内存空间,但 阅读全文
posted @ 2022-02-12 17:06 FynnWang 阅读(894) 评论(0) 推荐(0)
摘要: TCP协议的Socket程序函数调用过程 服务端 socket():创建socket描述符(socket descriptor),可以通过它来进行一些读写操作。这个socket是主动socket(active socket) bind(): IP:绑定IP到socket。根据监听的网卡,可以是一个I 阅读全文
posted @ 2022-01-12 11:34 FynnWang 阅读(3336) 评论(0) 推荐(2)
摘要: 后端使用的jetty服务 报错 2022-01-11 17:20:24.362 WARN 4784 [ctor-http-nio-3] r.netty.http.client.HttpClientConnect : [id: 0x3eaaea4e, L:0.0.0.0/0.0.0.0:58790 ! 阅读全文
posted @ 2022-01-11 17:25 FynnWang 阅读(10423) 评论(0) 推荐(0)
摘要: server.tomcat.connection-timeout配置解析 SpringBoot版本:2.2.2.RELEASE SpringBoot Application properties文档 /** * Amount of time the connector will wait, afte 阅读全文
posted @ 2022-01-11 15:48 FynnWang 阅读(17296) 评论(1) 推荐(3)