- 博客(13)
- 收藏
- 关注
原创 【经验贴】从今天开始少用@Transactional 事务声明方式事务,改用编程式事务(手动提交等)
事务管理在系统开发中是不可缺少的一部分,Spring提供了很好事务管理机制,主要分为编程式事务和声明式事务两种。关于事务的基础知识,如什么是事务,数据库事务以及Spring事务的ACID、隔离级别、传播机制、行为等,就不在这篇文章中详细介绍了。默认大家都有一定的了解。本文,作者会先简单介绍下什么是声明式事务和编程式事务,再说一下为什么我不建议使用声明式事务。1、编程式事务基于底层的API,如PlatformTransactionManager、TransactionDefinition 和 Tran
2022-04-08 09:31:13
417
原创 分布式事务一致性与数据一致性的理解
关于各种一致性的理解:1、数据一致性,往往指的是缓存和数据库的一致性。2、事务的一致性,和原子性类似,都是从一个状态变到另一个状态,但不同的是,原子性追求这个过程不能出错,不论结果对不对,不能出错。但一致性更追求结果一致,比如A减少100,B增加100,这是一致的。当A减少100,B增加60,这是原子的,但不是一致的。3、分布式事务的一致性:本质上来说,分布式事务就是为了保证在分布式场景下,数据操作的正确执行。但分布式事务不像本地事务,可以做到ACID,分布式事务做不到。比如分布式存储场景下,一个存储
2022-02-07 00:35:39
2495
原创 数据库分库分表以及主从方案 (适合初创小公司方案)
1、state transfer schema 两台机器同步数据2、Replicated state machine 第二台机器只同步操作operation
2022-01-20 23:49:33
687
原创 泛型/通配符的理解(高级)
泛型:<‘T’>/<‘E’> 我们常用的泛型,当我们对于一个类的类型不确定的时候,用泛型比用Object对象更好,因为用Object对象就涉及向上向下转型,在从Object向下转型到其他对象的时候,非常容易报错ClasscastException。而用<‘T’>/<‘E’>泛型就可以不需要进行向上向下转型,直接就知道这个对象里面有哪些函数。注意:泛型本身是没有继承关系的,比如ArrayList<‘Object’> a = new ArrayLis
2022-01-19 20:54:17
244
原创 手动撸OS遇到的问题:(第6章以后)
第六章 完善内核cdecl 调用约定又称为 C 调用约定,是 C 语言默认的调用约定。(1)调用者将所有参数从右向左入栈。(2)调用者清理参数所占的栈空间。它和 stdcall 一样都是从右向左将参数入拢的,区别就是 cdecl 由调用者清理技空间 。cdecl调用约定最大的亮点是它允许函数中参数的数量不固定,我们熟识的 printf 函数,它能够支持变长参数,就是利用此 cdecl 调用约定的性质设计出来的,它的原理是利用字符串参数 format 中的’%’来匹配栈中的参数。浅析 C 库函数
2022-01-05 15:37:31
201
原创 【Spring生命周期、AOP、事务传播机制失效】
Spring源码、Spring bean创建生命周期、AOP以及事务传播机制(其中一种)的学习。
2022-01-01 20:49:06
377
原创 Java多态、接口继承、抽象类继承、向上向下转型实例
-------------------------------------------关于多态、接口继承、抽象类继承等实例1、通过多态,抽象类也可以被实现2、通过多态,接口也可以被实现3、向上转型、向下转型需要注意的事情-------------------------------------------package com.company;public class duoTai{ public static void main(String[] args){ //
2021-02-25 09:48:19
246
2
原创 数据结构记录
Deque(双端队列)的介绍以及与Qeque对比注:定义的方法:【1】Deque deque = new LinkedList(); 用LinkedList定义的好处是deque是可变长度的【2】Queue queue = new LinkedList();正文:1、Deque的含义是“double ended queue”,即双端队列.2、Deque是一种具有队列和栈的性质的数据结...
2020-03-03 00:38:14
171
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人