vault backup: 2024-06-20 21:19:23

This commit is contained in:
Struchkov Mark 2024-06-20 21:19:23 +03:00
parent 3c416c7b73
commit 56fadc3605
No known key found for this signature in database
GPG Key ID: A3F0AC3F0FA52F3C
3 changed files with 17 additions and 8 deletions

View File

@ -23,6 +23,10 @@
"markdownOnly": false,
"unresolvedLinks": false,
"recentFilesStore": [
{
"filepath": "_inbox/Потерянное обновление.md",
"timestamp": 1718907466550
},
{
"filepath": "_inbox/MVCC.md",
"timestamp": 1718902462965
@ -38,10 +42,6 @@
{
"filepath": "_inbox/Блокировки.md",
"timestamp": 1718901922212
},
{
"filepath": "_inbox/Deadlock.md",
"timestamp": 1718901920086
}
],
"bookmarkedFileStore": [],

View File

@ -1,5 +1,9 @@
{
"recentFiles": [
{
"basename": "Потерянное обновление",
"path": "_inbox/Потерянное обновление.md"
},
{
"basename": "MVCC",
"path": "_inbox/MVCC.md"
@ -48,10 +52,6 @@
"basename": "Фантомное чтение",
"path": "_inbox/Фантомное чтение.md"
},
{
"basename": "Потерянное обновление",
"path": "_inbox/Потерянное обновление.md"
},
{
"basename": "Pasted image 20240620094127",
"path": "meta/files/Pasted image 20240620094127.png"

View File

@ -93,6 +93,15 @@ public class LostUpdateExample {
![](Pasted%20image%2020240619201135.png)
Защита от потерянных обновлений:
- Атомарные операции
- Явные блокировки
```
SELECT * FROM tb1
WHERE id = 10 FOR UPDATE
```
- Автоматическое обнаружение
- CAS операции
## Дополнительные материалы
- [Пример на Java](https://github.com/Example-uPagge/transactional/blob/master/jdbc-transaction/src/main/java/dev/struchkov/example/transaction/problems/LostUpdateExample.java)
- ![](Pasted%20image%2020240620094127.png)