- 博客(6)
- 收藏
- 关注
原创 消息安全保障方式
为了解决公钥可信性问题,引入了数字证书,其实就是一个可信任的中间人,给消息发送方颁发数字证书,内容通常包括公钥,所属单位,有效期,摘要,摘要算法,签名(由CA用私钥签名),消息接收方先用摘要算法对证书有效信息进行转换对比,如果与发来的摘要一致就用CA的公钥客户端使用 CA 的公钥对证书签名进行验证,验证成功说明该公钥确实由受信任的机构颁发,可信任。实际应用中,常使用非对称加密传输对称加密的密钥,之后用对称加密进行数据传输。使用一对密钥:公钥加密,私钥解密(如:RSA、ECC)
2025-07-29 21:52:34
713
原创 Excel导入导出
对比项EasyExcel内存占用高(全部加载到内存)低(边读边处理)读取大文件性能差(容易 OOM)好(读取几百万行都 OK)写入大文件性能差(内存耗尽风险)好(写入支持流式处理)使用复杂度API 繁琐API 简洁,封装完善Excel 样式支持支持所有细节支持常用样式是否支持注解❌✅ 支持等注解是否支持多 Sheet✅✅你想要推荐框架原因导入百万行 ExcelEasyExcel内存占用低、边读边处理,监听器模式处理流式数据导出百万行 Excel。
2025-07-28 21:16:22
840
原创 @Async 和 @Transactional 冲突
在使用@Async和注解时,事务可能不生效的问题通常与 Spring 的代理机制有关。具体来说,注解是基于代理的,而@Async是通过异步线程池执行方法,这会导致事务管理和异步执行不在同一个线程中,从而可能导致事务失效。
2024-11-06 10:40:00
1455
原创 【主线程、子线程、线程阻塞、CompletableFuture.allOf()】
例如,在图形用户界面(GUI)应用程序中,主线程会处理用户的输入(如点击和键盘输入),并更新屏幕上的显示。当一个线程被阻塞时,它会停止执行,直到触发的事件发生或等待的资源变得可用。这意味着如果某个任务耗时较长,会阻塞其他任务的结果收集,限制了并行执行的效率。例如,一个程序可能会创建一个子线程来处理耗时的计算任务,而主线程继续处理用户输入,避免因为长时间的任务而使界面卡顿。被创建并执行后,使用的是同步方式来等待每个任务的完成,并收集结果。:当线程尝试获取一个被其他线程持有的锁时,会被阻塞,直到锁被释放。
2024-10-16 14:02:35
998
原创 org.apache.catalina.connector.ClientAbortException:java.net.SocketTimeoutException
错误通常是由客户端中止请求、网络问题或服务器超时配置不足引起的。可以通过捕获异常、优化配置和调整超时设置来减少这种异常的发生。
2024-10-15 15:57:43
2754
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅