- 博客(21)
- 收藏
- 关注
原创 【支付业务核心流程】
文章目录支付业务流程支付流程支付状态查询转账转账流程退款流程分账分账流程分账状态查询分账完结同步对账下载对账单对账单对比对账差错处理对账记录处理结算支付业务流程支付流程支付状态查询转账转账流程退款流程分账分账流程分账状态查询分账完结同步对账下载对账单对账单对比对账差错处理对账记录处理结算
2024-12-19 17:04:39
150
原创 SpringBean的声明周期
工厂后处理器:AspectJWeavingEnabler, ConfigurationClassPostProcessor, CustomAutowireConfigurer等等 接口的方法。后置处理器:InstantiationAwareBeanPostProcessor 和 BeanPostProcessor 这两个接口实现。
2024-08-29 12:18:48
979
1
原创 微服务之Dubbo
Dubbo是为了解决公司内部服务之前高效调用的一种框架,它是采用RPC调用(提供高效的序列化方式网络基于Netty/Sockket,长连接内网调用链路短、安全、不需要请求头、拼接Body。
2024-08-27 11:59:48
940
原创 Synchronized和Lock、AQS
ReentrantLock是Lock接口的一个实现类,是一个独占式可重入锁。相比synchronized,ReentrantLock提供了更高的灵活性和控制能力,如支持公平锁、非公平锁、可中断、超时等特性。ReentrantLock的底层实现依赖于AbstractQueuedSynchronizer(AQS)同步器。原理ReentrantLock的实现原理主要涉及到AQS(AbstractQueuedSynchronizer)同步器和Condition条件队列。
2024-08-24 17:14:27
848
原创 ThreadLocal
ThreadLocal 是 Java 中用于实现线程局部变量的一个类。它允许每个线程都拥有自己的变量副本,从而避免了多个线程之间的共享和竞争问题。在多线程环境下,当需要保持线程安全性的数据访问,或者需要在多个方法之间共享数据但又不想通过传递参数的方式时,ThreadLocal 提供了一个很好的解决方案。
2024-08-24 16:25:16
1490
原创 Java线程池详解
Java线程池(Executor Framework)是Java并发包java.util.concurrent提供的一个框架,用于管理一组工作线程(线程池),通过重用现有的线程而不是为每个任务创建新线程,来减少线程创建和销毁的开销,从而提高程序性能。
2024-08-24 16:06:19
1806
原创 Java线程
Java线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。每个线程都有自己独立的执行路径,但共享进程的内存空间和其他资源。Java通过java.lang.Thread类来支持多线程编程。
2024-08-24 15:52:42
641
原创 Mysql的日志undo log、redo log 、 binlog
undo log(回滚日志)作用:事务回滚:undo log 用于实现事务的原子性。在事务处理过程中,如果出现错误或者用户执行 ROLLBACK 语句,MySQL 可以利用 undo log 中的备份将数据恢复到事务开始之前的状态。多版本并发控制(MVCC):undo log 在 MySQL InnoDB 存储引擎中用于实现多版本并发控制。事务未提交之前,当读取的某一行被其他事务锁定时,它可以从 undo log 中分析出该行记录以前的数据是什么,从而提供该行版本信息,让用户实现非锁定一致性读
2024-08-23 16:15:51
433
原创 Mysql中的锁
在这个例子中,InnoDB会对id为10到19的记录加行锁,并对id为10到20之间的间隙加间隙锁,形成临键锁。注意:在这个例子中,由于id为10到20之间的记录不存在,所以实际上加的是间隙锁,而不是行锁。假设有一个名为users的表,包含id和name两个字段,其中id是主键。
2024-08-23 16:12:05
351
原创 RocketMQ学习
要顺序消费,必须保证生产是顺序的,可以用单一的生产者、或串行排队生产还要设置相同的shardingkey,这样rockermq会把消息放在同一个queue里,保证消息顺序。每个topic都有queeen里面放着索引offset、通过offset索引到真实消息对应的commitlog文件位置的起点然后读取到topic对应的实际内容,不用纠结是consumer queen还是message queen,有时我们需要消息的顺序必须是一致有序的(数据增量同步)。topic:消息主题,用于消息的逻辑分类。
2024-08-20 12:10:06
540
原创 Java JVM学习整理
1.8之前线程共享 : 堆、方法区(运行时常量池)、。现成私有:虚拟机栈、本地方法栈、程序技术器1.8后现成共享:堆、元空间现成私有:虚拟机栈、本地方法栈、程序技术器。
2024-08-18 20:45:32
745
原创 Redission 的使用 与watchDog
wactchDog锁续期原理:当一个Redisson客户端实例获取到一个分布式锁时,如果没有指定锁的超时时间,Watchdog会基于Netty的时间轮启动一个定时任务,每10秒定期向Redis发送命令,重新设定过期时间,通常是锁的租约时间的1/3也就是30秒。这确保了即使客户端处理时间较长,所特有的锁也不会过期。当锁被释放或者客户端实例被关闭时,Watchdog会自动停止对应锁的续租任务。第一次加锁自动创建看门狗定时任务.
2024-08-16 17:32:38
582
原创 中间件Redis
在主从复制模式下,数据从主节点复制到从节点,当主节点出现故障时,从节点可以接管主节点的角色继续提供服务。在哨兵模式下,哨兵会监控主节点和从节点的状态,并在主节点出现故障时自动进行故障转移。而在集群模式下,集群会自动处理节点的故障和恢复过程。在Redis集群中,当主节点出现故障时,从节点会发起选举投票机制来选举出新的主节点。所有主节点都会参与投票,当超过半数的主节点同意某个从节点成为新的主节点时,该从节点就会被提升为主节点。这个过程是自动的,不需要人工干预。
2024-08-15 20:09:29
1627
原创 Java微服务的注册中心Zookeeper
ZooKeeper的工作原理主要基于其提供的数据模型和一致性协议。客户端注册Watcher后,一旦Watcher被触发,ZooKeeper会将其从存储中移除,并通知客户端进行相应的业务处理。ZooKeeper在CAP(一致性、可用性、分区容错性)理论中的取舍是,它选择了一致性(C)和分区容错性(P),而牺牲了部分可用性(A)。ZooKeeper通过ZAB协议和主从复制机制来保证数据的一致性,但在网络分区或Leader宕机等情况下,可能会导致部分客户端无法访问ZooKeeper服务,从而牺牲了部分可用性。
2024-08-15 12:05:00
743
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人