- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 如何理解Spring中的IOC和AOP及切面编程的实例的实现。
主要用到的设计模式有工厂模式和代理模式 IOC就是典型的工厂模式,通过sessionfactory去注入实例。 AOP就是典型的代理模式的体现。 spring的IoC容器是spring的核心spring AOP是spring框架的重要组成部分。 在传统的程序设计中,当调用者需要被调用者的协助时,通常由调用者来创建被调用者的实例。但在spring里创建被调用者的工作不再由调用者来完成,因此控制反转(IoC);创建被调用者实例的工作通常由spring容器来完成,然后注入调用者,因此也被称为依赖注入(DI
2020-12-29 15:03:50 474
原创 spring cloud alibaba 分布式框架学习及总结
dubbo弊端 Registry 严重依赖第三方组件(zookeeper 或者 redis),当这些组件出现问题时,服务调用很快就会中断。 Dubbo 只支持 RPC 调用。使得服务提供方与调用方在代码上产生了强依赖,服务提供者需要不断将包含公共代码的 jar 包打包出来供消费者使用。一旦打包出现问题,就会导致服务调用出错。 dubbo是一个高性能的java rpc通信框架 服务与服务之间通信 1.同步 2.异步 springcloud http dubbo rpc springcloud
2020-12-15 18:31:39 468 1
原创 seata学习及原理总结、分布式锁的实现
tc seata服务器 @globaltranction tm 事务的发起方 rm事务的参与方 Transaction Coordinator (TC): 事务协调器,维护全局事务的运行状态,负责协调并驱动全局事务的提交或回滚。 Transaction Manager(TM):控制全局事务的边界,负责开启一个全局事务,并最终发起全局提交或全局回滚的决议。 假设有三个微服务,分别是服务A、B、C,其中服务A中调用了服务B和服务C,TM、TC、RM三者之间的交互流...
2020-12-15 13:12:21 1870 5
原创 redis高并发分布式锁实战
分布式锁 setnx 如果key存在 问题1: 抛异常 释放分布式锁 finally 解决死锁 问题2:宕机了 设置过期时间 问题3:永久失效 加线程id 问题4 : 超时时间不够 redisson 内部使用lua脚本语言 redisson用了很多lua脚本来解决 lockwatchdoytimeout redlock实现原理 redisson并行改为串行 再优化一下 分段加锁 ...
2020-12-13 18:04:27 231
原创 mysql 内部刨析及优化原理
优化sql 1.加索引 将数据地址丢到数据结构中 key是值 value是地址 二叉树到红黑树 几十万上百万的数据 红黑树的高度会很高 每个大节点有很多小索引 data就是索引对应的磁盘文件的地址 多叉平衡树 B-tree 所有节点都有数据 b+树 只有叶子结点存有数据 剩下的是冗余数据 根结点元素都加到内存里 放的下一个节点在磁盘上的位置 树的高度越小 查找效率越高 Mysql底层对节点的大小限制为16kb data可以是索引所在行的磁盘地址 也可以
2020-12-10 13:47:48 152
黑暗中的大脑:神经模拟学习和推理的设计原则
2023-07-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人