- 博客(14)
- 收藏
- 关注
原创 如何限制最大线程数量
Ncpu是CPU核心数量,阻塞系数是IO操作所占时间的比重。线程数=Ncpu / (1-阻塞系数)对于I/O密集型应用。线程数=Ncpu+1。
2023-06-13 18:43:11
256
转载 Could not retrieve https://nodejs.org/dist/latest/SHASUMS256.txt.
cnpm
2022-06-14 18:31:24
5623
原创 redis的删除策略和淘汰策略
思路是把分布式事务拆分成本地事务。A服务创建一个本地事务,事务内有如下操作:1.记录原始数据 2.操作数据,3发消息给mq。B服务消费消息,如果消费成功。
2022-05-03 00:25:28
3557
转载 poi XWPFDocument文档转换成io流
XWPFDocument document = new XWPFDocument ();//新建文档 后面NEW方法可以忽略ByteArrayOutputStream baos = new ByteArrayOutputStream();//二进制OutputStreamdocument.write(baos);//文档写入流 ByteArrayInputStream in = new ByteArrayInputStream(baos.toByteArray());//OutputStream写入.
2022-04-22 14:58:33
1705
原创 MybatisPlus的getOne和selectOne方法
调用MybatisPlus的getOne和selectOne方法如果查询结果是多条会报错:com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: One record is expected, but the query result is multiple records没有符合查询条件的不会报错,返回null...
2022-04-09 09:54:27
5540
原创 lombok补充使用技巧
1.@AllArgsConstructor:替代@Autowired构造注入,多个bean 注入时更加清晰@Slf4j@Configuration@AllArgsConstructorpublic class RouterFunctionConfiguration { private final HystrixFallbackHandler hystrixFallbackHandler; private final ImageCodeHandler imageCodeHandler...
2022-04-07 17:41:44
124
原创 如何保证redis与数据库的数据一致?
当我们对数据进行修改的时候,到底是先删缓存,还是先写数据库?1.先删缓存,再更新数据:缓存删除后更新数据失败,再查数据,这样Redis和数据库的数据是一致的。但是在高并发场景下,第一个线程删除了缓存,还没来得及改数据,第二个线程来读取数据,发现缓存为空,那就去数据库读数据(旧数据),读完后把读到的写入缓存,然后第一个线程再把数据改掉。这样就造成了redis和数据库的数据不一致。那么怎么解决在高并发场景下redis和数据库的数据不一致的问题呢?我首先想到的就是加锁。但是仔细一想,如果读操作和写操作之间
2022-02-24 11:57:18
8555
2
原创 入参为localDateTime遇到的坑
报错信息:nested exception is org.apache.ibatis.exceptions.PersistenceException: \r\n### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.time.LocalDateTime and java.lang.String\r\n### Cause: java.lang.IllegalArgument
2022-02-23 09:59:29
699
原创 springboot jar启动报错:org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputExceptide
idea2020.1不报错,用jar包启动就报错了,检查yml文件中包含中文,去掉再启动就好了或者启动命令增加编码参数java -Dfile.encoding=utf-8 -jar xxx.jar
2022-02-22 15:21:32
306
原创 为什么TCP建立连接要三次握手,而不是一次,两次
首先,先理解一下三次握手,tcp建立连接的三次握手的过程(个人理解):客户端给服务器端发送建立连接的请求,服务器端接收请求,这就是第一次握手。服务器端收到请求后给客户端发送一个请求,告诉客户端可以连接,客户端接收请求,这就是第二次握手。客户端收到请求后,客户端发送一个请求给服务端,告诉服务器端可以建立连接,服务器端接收请求,然后双方建立连接。那为什么一定是三次而不是一次,两个,四次,或者更多。首先,网络是不稳定,无论是客户端还是服务器端都有可能接收请求。讨论一次握手,客户端发送给服务器端一个请求,这
2022-02-17 11:43:59
855
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人