- 博客(5)
- 收藏
- 关注
原创 JupyterLab 打开 Markdown 文件自动显示预览
JupyterLab默认以文本模式打开Markdown文件,可通过设置改为直接预览。进入Settings→Advanced Settings Editor,在DocumentManager的DefaultViewers中添加"markdown":"MarkdownPreview"键值对即可。若缺少预览功能,需先安装jupyterlab-markup插件。设置后重新打开.md文件将自动显示预览效果。
2025-10-11 00:14:18
338
原创 Spring Security 中的 BCrypt 加密算法原理解析
本文深入解析了BCrypt密码哈希算法的核心原理与应用。作为专为密码存储设计的算法,BCrypt通过自动加盐、可调成本因子和基于EksBlowfish的底层加密机制(2^cost次迭代),实现了抗暴力破解和抗彩虹表攻击的特性。相比MD5/SHA1等传统算法,BCrypt具有不可并行计算、自动加盐等安全优势,是Spring Security默认采用的密码加密方案。文章详细剖析了BCrypt的哈希结构、16字节salt的Base64编码原理,以及EksBlowfish算法通过昂贵的密钥扩展来增强安全性的核心机制
2025-08-07 19:58:42
648
原创 Spring Boot 3.4.4 整合 Sentinel 完整教程
《SpringBoot3.4.4整合Sentinel实战指南》摘要:本文介绍基于JDK17+SpringBoot3.4.4+SpringCloud2024.0整合Sentinel的完整流程,包括环境准备、项目创建、依赖配置(含SpringCloudAlibaba2023.0.3.3)、SentinelDashboard部署及注解式限流实现。重点讲解@SentinelResource注解的限流配置与回调处理,并提供常见问题解决方案。通过BOM管理版本依赖,确保各组件版本兼容性,最终实现包含流量监控、熔断降级的
2025-08-03 16:51:20
739
原创 Java中sort的底层原理及底层排序算法解析 Arrays.sort() Collections.sort()
方法排序对象底层调用数组(基本类型 / 对象)根据类型和长度选择不同排序List(如 ArrayList)转为数组后调用,再拷回集合时间复杂度最好 O(n)(已排序)最坏 O(n²)(逆序)空间复杂度:O(1)稳定性:✅ 稳定适用场景:小数组 / 基本类型数组的小规模排序时间复杂度平均 O(n log n)最坏 O(n²)空间复杂度:O(log n)(递归栈)稳定性:❌ 不稳定适用场景:中等规模基本类型数组;重复元素多时效果好时间复杂度:始终 O(n log n)空间复杂度:O(n)稳定性。
2025-07-13 18:30:20
834
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
5