- 博客(178)
- 收藏
- 关注
原创 对称加密 VS 非对称加密
2023-01-012023-02-012023-03-012023-04-012023-05-012023-06-012023-07-012023-08-012023-09-012023-10-012023-11-012023-12-012024-01-01生成分发存储轮换销毁密钥阶段密钥生命周期。明文加密算法密文解密算法原始数据使用密钥处理输出加密结果传输过程使用相同密钥处理还原原始数据明文加密算法密文解密算法。A: 对称加密需增加密钥长度,非对称需切NIST后量子算法。
2025-05-08 20:38:08
862
原创 SDS高性能字符串设计
57600144000230400316800403200489600576000662400748800内存分配CPU占用总耗时内存分配CPU占用总耗时C字符串SDS百万次append操作资源消耗对比。// 3位类型标志 + 5位未使用位。// 总分配空间(不包括头)char buf[];:根据业务场景调整SDS_MAX_PREALLOC。// 空间预分配算法(src/sds.c)// 重新分配内存并返回新sds。:单SDS不超过512MB。
2025-05-06 09:54:22
422
原创 JDK8到JDK21对比
2014-01-012015-01-012016-01-012017-01-012018-01-012019-01-012020-01-012021-01-012022-01-012023-01-01Lambda表达式Stream APIvar局部变量推断switch表达式记录类(Record)密封类(Sealed)模式匹配虚拟线程重要特性Java语法糖进化路线。// 直接生成不可变列表。[ ] 测试反射访问需要--add-opens。} // 自动关闭executor。// JDK17模块描述符示例。
2025-04-28 13:01:04
821
原创 Java反射机制
System.out.println("方法执行耗时: " + (System.nanoTime()-start));调用者ClassLoaderJVMloadClass()查找字节码字节流defineClass()Class对象调用者ClassLoaderJVM。System.out.println("类加载路径: " + cs.getLocation());> // 构造器操作。> // 类型入口。Field // 字段操作。Method // 方法操作。
2025-04-26 16:33:55
894
原创 Java装箱拆箱
基本类型+byte+short+int+long+float+double+char+boolean包装类+Byte+Short+Integer+Long+Float+Double+Character+Boolean。// 实际发生int溢出:2147483647 +1 → -2147483648。// 优于new Integer()long safeBigger = max.longValue() + 1;// 源码片段(java.lang.Integer)
2025-04-26 16:30:28
817
原创 解析Java Object
垃圾收集器对象第一次标记可达性分析没有重写finalize直接回收重写了finalize则进入F-Queue垃圾收集器对象。
2025-04-26 16:27:28
679
原创 Java字符串
/ 及时清除内存数据。if (authCode == "ABC123") { // 应该使用equals。// 将字符串放入常量池(JDK7+)// 产生大量临时对象。// StringBuilder优化。// Java 11新增方法。
2025-04-26 16:24:51
277
原创 HashMap源码解析
数据结构选择:为什么HashMap不直接使用红黑树存储?版本演进:为什么JDK1.8将头插法改为尾插法?并发安全:如何设计高并发场景下的安全哈希表?。
2025-04-26 16:21:53
1067
原创 解析Java运算符
list.isEmpty()) { // 避免NPE。// 等价于 num / 2。// 等价于 a = a << 2。// 等价于 a = a + 5。最低:= += -= *= /= %= ...
2025-04-24 19:40:15
705
原创 全面解析Java数据类型
Java语言数据类型分为两大类:Java数据类型基本类型引用类型数值型非数值型整数类型浮点类型类,接口,数组,枚举,字符串等。
2025-04-24 19:36:17
280
原创 深度解析Java字符串:从底层原理到高效应用实践
/ 防止原字符串被修改。// 产生3个对象:原对象、新字符串、StringBuilder对象。// 时间复杂度O(n²)// 时间复杂度O(n)
2025-04-24 19:32:21
896
原创 深入理解Java内部类:语法、应用与底层原理剖析
内部类(Inner Class)是定义在另一个类内部的类,主要作用包括:实现代码逻辑的更好封装直接访问外部类的私有成员构建更简洁的回调机制支持多继承的变通实现。
2025-04-24 19:29:04
800
原创 HTML 的 src 和 href 属性
(hyper reference)在 HTML 中虽然都用于引用外部资源,但它们的机制、目标和应用场景却截然不同。-- 错误:在 <script> 中混用 src 和内联代码 -->资源错误(如404 CSS文件)需要开发者主动监控(可能影响渲染)。资源(如CSS)可能被浏览器预加载器主动发现并提前加载。(如CSS文件并行下载,不阻塞HTML解析)。可能导致阻塞(例如未优化的脚本加载)-- 示例:关联CSS -->-- 示例:嵌入脚本 -->资源(如脚本、图片)通常依据。-- 预加载关键资源 -->
2025-04-06 21:06:53
570
原创 BigInteger 和 long 的区别
特性longBigInteger范围有限 (-2⁶³ 到 2⁶³-1)理论上无限(受内存限制)类型基本数据类型对象类型性能快慢内存使用少 (8字节)多 (取决于数值大小)运算符支持支持 +, -, *, / 等运算符必须使用方法 (add(), subtract() 等)典型用途常规整数计算密码学、大数计算、精确计算选择哪种类型取决于你的具体需求。对于大多数常规编程任务,long 就足够了。只有在处理非常大的数字或需要精确计算时才需要使用 BigInteger。
2025-04-03 18:11:47
408
原创 Java中的整除思想
2的幂次方任意数值多线程操作单线程计算极大数值常规数值整除判断需求基数性质位运算优化%运算符判断并发环境需求不可变数值对象基础元语运算数值规模BigDecimal处理基础类型运算。
2025-04-02 21:37:19
938
原创 Java中深度优先搜索(DFS)与广度优先搜索(BFS)的深入对比
// 递归实现(图结构)void dfs(Node node) { if (node == null || visited.contains(node)) return; visited.add(node); // 访问节点逻辑 for (Node neighbor : node.neighbors) { dfs(neighbor); &
2025-04-02 21:19:38
964
原创 Integer缓存池
Integer a = 127;Integer b = 127;System.out.println(a == b); // true ✅Integer c = 128;Integer d = 128;System.out.println(c == d); // false ❗Integer e = -128;Integer f = -128; System.out.println(e == f); // true ✅1.2 JLS规范中的明文规定// 根据Java语言规范
2025-03-27 20:29:09
604
原创 透彻解析HTTP与HTTPS
ERROR: [Mermaid] Parse error on line 5: ...[链路层] --> Ethernet# 透彻解析HTTP与HTTPS:从明文传输 -----------------------^ Expecting 'SEMI', 'NEWLINE', 'EOF', 'AMP', 'START_LINK', 'LINK', got 'UNICODE_TEXT'
2025-03-24 20:22:25
1393
原创 十种负载均衡实现方式全景拆解
(F5 BIG-IP硬件结构原理图)基于ASIC芯片的硬件加速支持100Gbps+吞吐量的流量清洗SSL/TLS卸载专用加密卡BGP动态路由集成# F5 TMSH配置示例members {
2025-03-24 20:15:05
981
原创 分布式系统与微服务的本质差异
ERROR: [Mermaid] Parse error on line 1: mindmap root((架构范式 ^ Expecting 'open_directive', 'NEWLINE', 'SPACE', 'GRAPH', got 'ALPHA'
2025-03-23 09:42:56
584
原创 事务回滚核心技术
事务回滚机制是保障数据一致性的终极防线,需要深入理解从存储引擎到分布式系统的多层实现逻辑。在云原生时代,新型架构对传统回滚机制提出了新的挑战,构建柔性事务能力将成为关键竞争力。问题表现:- 00:30集中取消订单时系统响应陡增- 事务回滚耗时从平均50ms升至2000ms根因定位:1. 热点账户的全局锁争用2. Undo Log表未做分片处理3. 默认重试策略导致雪崩效应优化方案:- 账户ID取模分片Undo Log表- 引入退避算法的重试机制- 增加本地临时回滚日志缓冲。
2025-03-22 15:30:40
731
原创 Seata分布式事务实现原理
Seata通过创新的AT模式降低了分布式事务的使用门槛,结合灵活的多模式支持,已成为云原生时代分布式事务的首选方案。深入理解其核心实现原理,是构建高可靠事务系统的关键。
2025-03-22 15:26:18
767
原创 Spring Cloud微服务架构深潜
Spring Cloud作为微服务领域的经典实现,在技术生态成熟度与开发效率方面仍保持显著优势。但在云原生时代,需要与新技术栈形成互补组合。理解其核心价值与局限,才能做出最优架构决策。
2025-03-21 19:41:18
789
原创 Nacos配置中心核心实现原理全景解析
Nacos配置中心通过巧妙的长轮询机制和分布式一致性协议,在微服务架构中实现了"配置即代码"的理想状态。理解其底层实现原理,将助力开发者构建更灵活可靠的分布式系统。
2025-03-21 19:37:10
774
原创 RocketMQ事务消息核心原理深度剖析:如何保障分布式事务一致性?
RocketMQ事务消息通过创新的二阶段提交机制,在保证高性能的同时实现了高可靠的事务一致性。"业务逻辑+消息系统"的组合拳,为构建复杂分布式系统提供了新范式。
2025-03-20 11:29:40
768
原创 消息队列深度解析
消息队列是构建现代分布式系统的核心枢纽。选择适合的技术方案,结合可靠的架构设计,将使系统具备更好的扩展性和容错能力。欢迎在评论区交流你的项目实践经验!文中所有示意图均采用优快云官方图床。
2025-03-20 11:22:09
713
原创 深入解析Java跨平台原理
源代码编译方式直接编译为机器码Windows的可执行文件.exeLinux的可执行文件.elfmacOS的可执行文件.machJava独特的中间格式字节码文件.classJVM虚拟机。
2025-03-18 22:18:16
899
原创 深入浅出垃圾回收算法
38%25%17%20%内存管理常见问题分布内存泄漏野指针重复释放碎片化自动检测无效内存对象安全回收内存资源优化内存空间利用率。
2025-03-18 22:01:40
680
原创 Redis跳表
有序数据结构平衡树族跳跃链表族AVL树红黑树B+树Redis跳表LevelDB跳表实现复杂度比红黑树低5倍天然支持范围查询便于并发控制(无需全局重平衡)
2025-03-16 20:54:00
804
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人