August 13, 2020
Mac
选择
尝试了以下几种:
自带的,真难用
搜狗,好用,但隐私问题严重
rime 一个开源的输入法
最终选择的是rime
官网:https://rime.im/
按住ctrl + ` 可以切换成简体拼音
配置
放点配置,在~/Library/Rime 下新建一个 squirrel. ...
Read more
August 13, 2020
Spring
源码
先说结论
非懒加载的单例Bean在容器创建的过程中就创建好了
多例或者懒加载的在使用的时候创建
废话少说,上源码
12// Instantiate all remaining (non-lazy-init) singletons. 实例化所有剩余的(非懒加载的)单例finishBeanF ...
Read more
August 12, 2020
nginx
accept_mutex ,nginx.conf 可配置
惊群问题其实就是多个work进程同时监听链接,一个链接到来时,唤醒了所有work进程,但只有一个进程拿到了,造成了不必要的资源浪费
后续补充
Read more
August 10, 2020
redis
源码
redis 的过期key 的删除策略有三种
惰性删除
定时删除
定期删除
上面三种的区别自行搜索,这里主要围绕 3 展开
关于redis 有几个线程,上篇文章有介绍,但还有一个问题,redis 处理 过期key的线程和 接受请求的线程是不是同一个?如果是它们是怎么协调的
首先,它们是同一 ...
Read more
August 7, 2020
redis
redis5.0 是 4 个,废话少说,上源码
1initServer();
1234567891011/* Ready to spawn our threads. We use the single argument the thread * function accepts in or ...
Read more
August 7, 2020
redis
源码
最近,想一个问题,redis 到底有几个线程,百思不得其解,为寻究竟,看源码,静态看源码后,有了大概结论,想证实一下,编译源码,debug,修改,测试
准备
工具
mac
redis 5.0
Clion
编译记录下源码编译步骤
先下载 源码,我这边下载的是5.0 git clone h ...
Read more
August 4, 2020
spring boot
spring
之前遇到一个问题,我们需要在Spring Boot 启动后做一些配置表刷新的工作,这个刷新比较耗时
于是,我们实现了 xxRunner implements CommandLineRunner
但发现一个问题,配置还未刷新,tomcat就对外服务了
近来正在阅读源码,在源码里找到了答案
...
Read more
August 4, 2020
mac
工具
win 下一直用xshell,转到mac 下,之前是用iterm2,今天有点闲暇,尝试了一下其他相关软件,最终还是选择了Iterm2
尝试软件如下:
ssh shell 评价太低,下载都懒得下了
Royalist 流程复杂,而且不支持google的二次验证,重点是我有连接docker服务器 ...
Read more
July 30, 2020
java
Spring
系统 : Mac
idea版本 :2019.3
gradle :两个版本,4.10.3 和 5.5.1
Spring 版本:v5.1.17.RELEASE
按照官方给的说明:
下载源码,先不要打开,进入源码目录,执行 ./gradlew :spring-oxm:compi ...
Read more
July 23, 2020
java
Spring
一般想到这个问题,答案就是三级缓存,那么问题又来了,缓存的啥?用啥缓存的?为啥是三级不是二级?
三级缓存指的其实就是三个Map。源码如下图
12345678/** Cache of singleton objects: bean name to bean instance. */privat ...
Read more