- 博客(4)
- 收藏
- 关注
原创 脏读、不可重复读与幻读
用户A转账100元给用户B,仅执行了扣款操作(未提交),用户B查询账户发现到账(脏读),但事务回滚后实际未转账成功。事务A将所有用户年龄从1改为2,事务B插入年龄为1的新用户并提交,事务A提交后仍存在未修改的年龄为1的记录(幻行)。事务A第一次读取数据值为100,事务B修改为200并提交后,事务A第二次读取值为200。事务A统计用户年龄总和,事务B中途更新某用户年龄并提交,导致事务A两次统计结果不同。事务A统计用户总数得到10条,事务B插入新用户并提交后,事务A再次统计得到11条。
2025-04-17 16:34:50
389
原创 工厂模式与抽象工厂模式
复杂系统中可结合两者,例如用抽象工厂管理核心产品族,工厂模式处理辅助对象。:通过一个工厂接口或类创建单一类型的对象,隐藏具体实现类的实例化逻辑。:当系统只需创建单一类型对象,且未来扩展可能性较低时(如工具类库)。:同一应用在不同操作系统下需生成适配的窗口、按钮等组件(如网页5的。:产品类型过多时,工厂类条件分支会臃肿(如网页2的。:确保产品族的兼容性和一致性。:新增产品类型需修改所有工厂类(如网页4中新增。:单一工厂类根据参数返回不同产品(如网页2的。:新增产品族只需新增具体工厂(如网页5中增加。
2025-04-17 15:25:54
1438
原创 数据库隔离级别说明
通过版本链实现非阻塞读,避免写操作阻塞读操作(MySQL、PostgreSQL 使用)。:如 MySQL 的 REPEATABLE READ 已平衡性能与一致性。读未提交(READ UNCOMMITTED)实际行为等同于读已提交。:对数据一致性要求极低的高并发查询场景(如实时统计)。默认级别为读已提交(READ COMMITTED)。默认级别为读已提交(READ COMMITTED)。:允许幻读(MySQL 通过间隙锁部分解决)。:允许事务读取其他事务未提交的数据(脏读)。
2025-04-17 15:13:56
748
转载 Tomcat网站上区别
Tomcat网站上区别8.5.13Please see the README file for packaging information. It explains what every distribution(分布) contains.Binary DistributionsCore:zip (pgp, md5, sha1)tar.gz (pgp, md5, sha1)32-bi...
2019-01-13 21:10:56
489
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人