- 博客(13)
- 收藏
- 关注
原创 SpringCould相关知识-分布式事务
此时需要人工解决,没有特别好的办法,但这种事故概率极低。在此条件下,如果要保证各节点的一致性,就必须在一个节点数据变更时,将数据同步给另一个节点,同时,在数据同步过程中,被同步的节点是不能对外提供服务的,否则就会出现数据不一致。(软状态):即是指允许系统中的数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。,分别插入两个不同的分库,此时要保证两个库要不都成功,要不都失败,因此基本上所有的数据库中间件都面临着分布式事务的问题。
2024-08-30 15:36:23
751
原创 Springboot基础知识2 && SpringCould 相关知识1
个令牌,当桶满时,新添加的令牌被丢弃;可以发现,漏桶算法的流出速率恒定,而令牌桶算法的流出速率却有可能大于r。令牌桶算法漏桶算法:漏桶算法其实很简单,可以粗略的认为就是注水漏水过程,往桶中以一定速率流出水,以任意速率流入水,当水超过桶流量则丢弃,因为桶容量是不变的,保证了整体的速率。每一个服务都按照具体的业务进行构建,如电商系统中,订单服务,会员服务,调用压力增大,运维工程师压力增大,人力资源增多,系统依赖增强,数据一致。:随着服务数量增加,管理复杂,部署复杂,服务器需要增多,服务通信和。
2024-08-16 21:46:33
879
1
原创 Springboot基础知识1
如果有相同的配置,先加载的会被后加载的文件覆盖假如在启动项目的时候给了启动参数,则最后生效,会覆盖前面所有相同的配置。它会按照这个不同类型的文件从上到下的顺序进行加载,也就说,会先加载 application.yml然后加载。第二部分实现了应用具体的启动方案,包括启动流程的监听模块、加载配置环境。注解导入对应的配置选择器。文件,如果有则加载该类,把这个配置类的所有的。的初始化模块,配置一些基本的环境变量、资。是实现自动化配置的核心注解。这样的注解,判断是否有对应的。的所配置的类的全类名。
2024-08-16 21:23:23
350
原创 Mybatis基础知识2
方法时一级缓存就一斤被清空掉了。默认情况下二级缓存并没有开启,要想使用二级缓存,那么就需要开启二级缓。、只有会话提交或者关闭以后,一级缓存中的数据才会转移到二级缓存中。只进行了一次查询,那么就说明数据已经进入到了二级缓存中。的进行了新增、修改、删除操作后,默认该作用域下所有。对象,那么此时就需要再次查询数据,因此控制台的输。说明第二次查询的时候使用的是缓存数据。、对于缓存数据更新机制,当某一个作用域。对象,进行了两次用户数据的查。、二级缓存需要缓存的数据实现。的作用域起作用的,不是依。
2024-08-16 21:15:28
402
原创 Mybatis基础知识
接口的执行方法中有一个MappedStatement 类型的参数,该参数是对映射信息的封装,用于存储要映射的SQL 语句的。mybatis-config.xml 文件可以加载多个映射文件,每个文件对应数据库中的一张表。关联集合对象的延迟加载,association指的就是一对一,映射文件,该文件中配置了操作数据库的SQL 语句,需要在。当实体类中的属性名和表中的字段名不一样 ,怎么办。语句中定义字段名的别名,让字段名的别名和实体类。参数对象中计算表达式的值,根据表达式的值动。
2024-08-16 21:07:10
921
原创 SpringMVC相关知识
用于映射请求路径,可以定义在类上和方法上。用于类上,则表示类中的所有的方法都是以该地址作为父路径。方法只需要编写业务逻辑代码,不用考虑异常处理代码。进行渲染视图(即将模型数据填充至视图中)。中的全局异常处理器对异常进行统一处理,此时。返回给DispatcherServlet。容器,在实现上基于函数回调,可以对几乎。,生成处理器对象及处理器拦截器(框架,属于面向切面编程(AOP。:从请求路径下中获取请求参数。经过适配调用具体的处理器(,传递给方法的形式参数。:获取指定的请求头数据。:指定请求参数的名称。
2024-08-16 20:57:00
428
原创 Spring相关知识2
从上面这个分析过程中可以得出,只需要一个缓存就能解决循环依赖了,那么为。所以在该场景下, 上述提到的二级缓存就解决不了了。厂,这个工厂可能用到,也可能用不到,如果没有出现循环依赖依赖本。对象在一级缓存和二级缓存都不存在,并且三级缓存中也 不存在B。对象在一级缓存和二级缓存都不存在,但是三级缓存中存。周期中,生成完原始对象之后,就会构造一个。二级缓存的作用:如果要想打破上述的循环。产生了一个代理对象,此时就会出现,对于。对象在一级缓存中不存在,此时实例化。的生成过程中,都会提前暴露一个工。
2024-08-16 20:50:04
709
原创 Spring相关知识
尝试找合适的带参数的构造器,如果找到的话就是用构造器自动装配,如果在。需求:是谁,在什么时间,修改了数据(修改之前和修改之后),删除了什。对方法前后进行拦截,将事务处理的功能编织到拦截的方法中,也就是在。是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法。如果找到的话,就装配这个属性,如果没找到的话就报错。如果找到的话,就装配这个属性,如果没找到的话就报错。如果发生循环依赖,产品是代理;框架的默认设置,在该设置下自动装配是关闭的,开发者需。前存在事务,就 加入该事务,该设置是最常用的设置。
2024-08-16 20:34:04
979
原创 Java多线程相关知识2
当获取锁成功后,但由于条件不满足,调用了 wait(long)当获取锁成功后,但由于条件不满足,调用了 wait()当持锁线程释放锁时,会按照一定规则唤醒阻塞队列中的阻塞。当一个线程对象被创建,但还未调用 start。此时与底层线程关联,由操作系统调度执行。当其它持锁线程调用 notify()当其它持锁线程调用 notify()线程内代码已经执行完毕,由可运行。塞主进程的继续往下执行,如果不调用不会阻塞。如果等待超时,也会从有时限等待。无关,不需要主动唤醒,超时时间到自然恢复为。当获取锁失败后,由可运行。
2024-08-16 20:21:54
290
原创 Java多线程相关知识1
进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至。进程在运行过程中,需要拥有独立的内存单元,否则如果申请不到,就会挂起。而多个线程能共享内存资源,这样就能降低运行的门槛,从而效率更高。调度和分派的基本单位,在实际开发过程中,一般是考虑多线程并。共有四种方式可以创建线程,分别是:继承。并行:多个任务在计算机中同时执行。并发:多个任务在计算机中交替执行。并行和并发有什么区别?一个进程一般有多个线程。接口、线程池创建线程。
2024-08-16 20:14:54
339
原创 Java常见的集合类1
链表数组,数组中每一格就是一个链表。了存储数据,还存储 了两个引用,一个指向前一个元素,一个指向后一个元。实现了栈和队列的操作方法,因此也可以作为栈、队列和双端队列来使用。) 时,将链表转化为红黑树,以减少搜索时间。增加和删除效率:在非首尾的增加和删除操作,时,红黑树拆分成的树的结点数小于等于临界值。增删操作要影响数组内的其他数据的下标。它的算法时间复杂度与数组是一致的。表数据结构,即数组和链表的结合体。底层实现是数组,是动态数组。中的数组相比,它的容量能动态。是动态数组的数据结构实现,而。
2024-08-16 20:05:57
534
原创 Java集合相关知识
本文共分为三部分,第一个是数据结构的普及,让大家快速掌握常见数据结构的。第二个是集合相关的面试题,这个也是本文的重点部分,包含了常见。率与数据规模之间的增长关系,可以粗略地表示,越高阶复杂度的算法,执行效。算法的执行效率,粗略地讲,就是算法代码执行的时间,那如何在不直接运行代。比如,你要搬家,有一堆货物,这个时候你可以选择使用小桥车拉走货物,你选择小货车拉走货物,但是货物依然很多,你这个时候需要规整一下,难。线性对数 O(n * log n)指数 O(2 ^n)
2024-08-16 19:58:56
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅