第八周第一天

所用时间:315分钟
代码量(行):86
博客量(篇):25
了解到的知识点:
1.分层解耦
将上次的程序进行了分层(dao、controller、service),分层可以提高代码的可读性

2.数据库保护:事务和并发控制
事务是数据库操作的基本单位,是指作为单个逻辑工作单元执行的一系列操作,要么全部执行,要么全部不执行。
并发控制是指当多个事务同时存取数据库中数据时,保证事务ACID特性不被破坏的技术。
并发操作带来了一些问题:
1.丢失修改: 两个事务同时读取同一数据并修改,后提交的事务覆盖了先提交事务的修改
2.不可重复读: 一个事务内多次读取同一数据,由于其他事务的修改,导致读取结果不同
3.读"脏"数据: 读取了未提交事务修改过的数据,该事务可能回滚
并发控制可以使用封锁解决问题,即排它锁(X锁/写锁)和共享锁(S锁/读锁)
在操作中可能出现死锁(无限等待),可以通过一次封锁法(要求事务一次将所有要使用的数据全部加锁)和顺序封锁法(预先对数据对象规定一个封锁顺序)恢复

posted @ 2025-04-07 21:24  再报错就堵桥0  阅读(8)  评论(0)    收藏  举报