- 博客(107)
- 资源 (2)
- 收藏
- 关注
原创 LeetCode算法题中的数学知识——数论与基本运算
刷LeetCode时,有不少算法题都需要运用到数学中的概念与公式进行求解。本篇对一些基础的数学概念和技巧做一个总结收纳,持续更新。
2025-04-03 09:53:11
462
原创 [Java微服务架构]理论总集篇
[Java微服务架构]系列也是接近尾声了,本系列系统梳理了从单体架构到分布式架构,微服务架构有哪些改变,做了什么样的设计以满足服务的CAP特性,为什么那样设计?设计时有哪些问题需要考虑,各个设计优缺点是什么?
2025-04-01 15:57:23
1143
原创 [Java微服务架构]7_事务处理
Sage较之前的2PC与TCC,因为事务回滚机制的同步与事务调度方式不同,新能上有所差异。2PC实现比较简单,但有着网络不可靠、事务隔离级别不足问题。TCC解决了2PC问题且是非阻塞状态,且可以有更柔性的实现,如融合服务降级+补偿机制,但是需要服务应用“预留资源”,在部分场景中使用不了。Sage不用预留资源,且也有补偿机制,且补偿机制较2PC全部回滚更灵活,只需要回滚已经提交的,且补偿机制可以按顺序部分回滚。总的来说,在设计分布式事务时不同方案有不同的优缺点。
2025-03-28 17:28:43
761
原创 [Java微服务架构]7-1_事务处理——事务特性与本地事务
本篇先介绍“事务特性”与“单服务单数据源”全盘将介绍如引言所述分布式系统中事务的处理。
2025-03-28 15:06:14
719
原创 [计算机网络]网络I/O模型
我们非常有必要了解I/O模型,以Java微服务为例,微服务架构中的网关Gateway与共享缓存Redis的核心设计的理解都离不开网络I/O。
2025-03-27 14:42:38
1014
原创 [分布式系统]2_分布式数据共享方式_P1
在微服务架构中,服务和组件往往以集群形式存在。一份数据,如注册表信息,其存在于注册中心集群的多个注册中心服务上。然而,微服务架构的网络往往是不可靠的,我们如何在不可靠的网络条件下,正确地同步可能实时动态变更的注册表信息呢?
2025-03-26 16:29:44
564
原创 [Java微服务架构]5_服务通信之异常处理
本篇主要讨论服务集群故障时的处理方案设计。包含故障处理与流量控制,其中故障处理包括熔断+降级,流量控制则介绍了流量控制的3个问题与经典的4个限流算法。
2025-03-26 10:16:24
841
原创 [Java微服务架构]4_服务通信之客户端负载均衡
本文主要讨论客户端负载均衡,即怎么在服务集群中选取一个合适的服务来调用。包含常见负载均衡算法的介绍。
2025-03-26 10:08:27
716
原创 [Java微服务架构]2_服务通信之服务发现与服务注册理论
以服务通信为目标倒推,从服务发现出发,讲述服务是怎么注册的,服务注册的形式,常见的注册中心是怎么划分服务的,服务又是以什么形式存储的,集群环境在注册中心怎么保证服务信息的一致性。
2025-03-21 08:00:00
602
原创 [Java微服务架构]1_架构选择
Java微服务尽量选择成熟的框架方案,设计之初不要过度设计,需以业务驱动为核心,通过垂直拆分、弱依赖、服务自治等原则逐步演进。
2025-03-18 23:39:54
863
1
原创 [设计模式与源码]1_Spring三级缓存中的单例模式
本篇总结了Spring单例Bean循环依赖的解决机制——“三级缓存”,其本质是创建过程依赖的解耦,提前暴露对象引用,利用多级缓存机制存储引用与实例对象。需要先理解SpringBean的生命周期,不理解也没关系,看一下doCreateBean方法也就记住了。
2025-03-17 17:12:45
873
原创 [Java基础-线程篇]7_线程设计模式与总结
懒汉单例模式怎么变得线程安全?Master-Worker归并模式,工作窃取算法。Java线程相关源码使用了什么设计模式?
2025-03-06 16:36:25
919
原创 [Java基础-线程篇]6_JUC容器
Java线程安全的容器有哪些?COW与ConcurrentHashMap设计原理与BlockingQueue源码解析
2025-03-06 16:31:14
925
原创 [Java基础-线程篇]5_JUC显示锁
JUC锁怎么分类?JUC锁有哪些特性?这些特性是如何设计与实现的?可重入设计、公平设计、共享锁设计、中断设计、死锁监控
2025-03-06 16:23:28
1139
原创 [Java基础-线程篇]2_Thread解析
线程是什么样的结构?Thread、ThreadLocal、ThreadPoolExecutor源码设计解析
2025-03-06 16:13:08
814
原创 [Java基础-线程篇]1_线程基础
在Java8中,每一个Java线程都会直接映射到一个操作系统线程,是1:1线程模型,线程的创建、调度和销毁都由操作系统负责,JVM 只需要与操作系统交互即可。
2025-03-06 16:05:22
472
原创 [水]与grok聊Java
AI时代,二本毕业一般工资一般履历的java程序员要怎么做才能不被淘汰呢?3步之内必有解药?AI带来的问题让AI解决?转行么?
2025-02-26 15:51:04
1062
原创 [java基础-JVM篇]3_JVM类加载机制
JVM通过设立不同优先级和职责的加载器保证了类加载的安全性与灵活性,即双亲委派机制,但是实际生产中更复杂的需求又需要破坏双亲委派,即打破JVM约定过的类加载程序
2025-02-24 15:22:52
458
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人