【鎖】MySQL中有哪幾種鎖?

📚 歡迎來到我的Java八股文專欄! 🎉

各位程序員小伙伴們好呀~ 👋 我是雪碧聊技術,很高興能在CSDN與大家相遇!?

🚀 專欄介紹

這個專欄將專注于分享Java面試中的經典"八股文"知識點 💡,內容涵蓋:

📌 Java基礎核心概念
🧠 JVM原理與性能調優
🔄 多線程與并發編程
🏗? 設計模式實戰
🗃? 常用框架源碼解析
?? 系統架構設計思想
🌟 為什么選擇這個專欄?

🎯 精準定位:直擊大廠Java面試高頻考點
🧩 系統全面:從基礎到進階,構建完整知識體系
💎 實戰導向:理論+代碼示例,拒絕空談
🔍 深度解析:不只是背誦,更要理解原理
🆕 持續更新:緊跟技術發展趨勢
📖 學習建議

建議大家可以這樣使用本專欄:

📅 每日一讀:每天消化1-2個知識點
?? 動手實踐:所有代碼建議親自敲一遍
🗂? 分類整理:建立自己的知識腦圖
🔄 定期復習:對抗遺忘曲線
💬 互動討論:評論區歡迎交流探討
🛠? 工具推薦

學習過程中這些工具可能會幫到你:

🔧 IDEA:Java開發神器
📊 JProfiler:性能分析工具
🧪 JUnit:單元測試框架
📝 Markdown:筆記整理
🖇? Git:版本控制
💌 致讀者

技術之路道阻且長,但行則將至 ?

在這個專欄中,我會:

? 用最通俗的語言解釋復雜概念
? 提供可直接運行的代碼示例
? 標注每個知識點的面試權重
? 分享實際項目中的經驗教訓
? 及時回復大家的疑問

🌈 最后寄語

"八股文"雖被詬病,但扎實的基礎知識永遠是程序員的立身之本 💪

希望這個專欄能成為你:

🎯 面試沖刺的利器
🏗? 技術進階的階梯
🤝 結識同好的平臺
讓我們攜手并進,在技術的星辰大海中揚帆遠航! ?

記得??收藏 ??關注 ??不迷路哦~ 😊

目錄

一.樂觀鎖

二.悲觀鎖

三.共享鎖(讀鎖)

四.排它鎖(寫鎖)

五.表級鎖

六.行級鎖


一.樂觀鎖

樂觀鎖用數據版本(Version)記錄機制實現,這是樂觀鎖最常用的一種實現方式。何謂數據版本?即為數據增加一個版本標識,一般是通過為數據庫表增加一個數字類型的“version”字段來實現。當讀取數據時,將version字段的值一同讀出,數據每更新一次,對此version值加1。當我們提交更新的時候,判斷數據庫表對應記錄的當前版本信息與第一次取出來的version值進行比對,如果數據庫表當前版本號與第一次取出來的version值相等,則予以更新,否則認為是過期數據。

二.悲觀鎖

悲觀鎖在進行每次操作時都要通過獲取鎖才能進行對相同數據的操作,這點跟java中synchronized很相似,共享鎖(讀鎖)和排它鎖(寫鎖)是悲觀鎖的不同的實現。

三.共享鎖(讀鎖)

共享鎖又叫做讀鎖,所有的事務只能對其進行讀操作不能寫操作,加上共享鎖后在事務結束之前其他事務只能再加共享鎖,除此之外其他任何類型的鎖都不能再加了。

四.排它鎖(寫鎖)

若某個事物對某一行加上了排他鎖,只能這個事務對其進行讀寫,在此事務結束之前,其他事務不能對其進行加任何鎖,其他進程可以讀取,不能進行寫操作,需等待其釋放。

五.表級鎖


innodb的行鎖是在有索引的情況下,沒有索引的表是鎖定全表的。

六.行級鎖

行鎖又分共享鎖和排他鎖,由字面意思理解,就是給某一行加上鎖,也就是一條記錄加上鎖。

注意:行級鎖都是基于索引的,如果一條SQL語句用不到索引是不會使用行級鎖的,會使用表級鎖。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/92264.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/92264.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/92264.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

曠視科技視覺算法面試30問全景精解

曠視科技視覺算法面試30問全景精解 ——AI賦能 智能安防 視覺創新:曠視科技視覺算法面試核心考點全覽 前言 曠視科技(Megvii)作為全球領先的人工智能公司,專注于計算機視覺、深度學習和智能安防等領域,推動人臉識別、…

docker nginx 部署前端踩坑記錄

文章目錄坑點1:localhost 與127.0.0.1坑點1:localhost 與127.0.0.1 server {listen 80 default_server;client_max_body_size 20M;# 記錄訪問日志和錯誤日志access_log /var/log/nginx/host.access.log main;error_log /var/log/nginx/error.l…

JAVA_TEN-面向對象高級一

一.Static一 定義:叫靜態,可以修飾成員變量、成員方法成員變量按有無static修飾,分為兩種:類變量:有static 修飾,屬于類,在計算機里只有一份,會被類的全部對象共享。實例變量&#x…

幻獸帕魯開服教程

以下均為個人推薦,不喜勿噴,望審核大大明辨開服條件一臺帶公網的vps服務器(需開放udp),配置至少為4c16g,推薦8c32g開服需要準備的工具:steamcmd:https://steamcdn-a.akamaihd.net/cl…

lesson21:Python面向對象編程

目錄 引言 一、了解面向對象編程(OOP):編程范式的革命 1.1 什么是面向對象編程? 1.2 OOP vs 面向過程:思維方式的差異 1.3 OOP的三大核心特性 二、類與對象:OOP的基石 2.1 類(Class&#…

基于卷積神經網絡與小波變換的醫學圖像超分辨率算法復現

基于卷積神經網絡與小波變換的醫學圖像超分辨率算法復現 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家,覺得好請收藏。點擊跳轉到網站。 1. 引言 醫學圖像超分辨率技術在臨床診斷和治療規劃…

HCIP第一二章筆記整理

第一章:復習HCIA第一階段應用層:自然語言轉換為編碼表示層:編碼轉換為二進制介質訪問控制層:二進制轉化為信號物理層:傳輸電信號第二階段:OSI參考模型應用層:提供網絡服務表示層:對數…

《使用Qt Quick從零構建AI螺絲瑕疵檢測系統》——2. C++基礎:構建程序的堅實骨架

目錄一、概述1.1 背景介紹:從UI到邏輯1.2 學習模式:Qt控制臺應用二、C語法快速入門2.1 變量、數據類型與注釋2.2 函數與代碼封裝2.3 循環與容器:批量處理三、面向對象編程:封裝數據與行為四、Qt的核心擴展:信號與槽通信…

Navicat 遠程連接SQLlite數據庫

1、SQLlite數據庫是一個本地.db文件,默認不支持遠程連接; 2、Navicat 可以通過ntunnel_sqlite.php文件連接遠程SQLlite庫; 3、安裝Navicat,安裝完成,在安裝目錄下找到ntunnel_sqlite.php文件; 4、上傳當前文…

OpenCV用于計算光流的一個類cv::optflow::DualTVL1OpticalFlow

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 cv::optflow::DualTVL1OpticalFlow 是 OpenCV 中用于計算光流的一個類,特別地,它實現了基于雙幀 TV-L1(Total V…

PyQt5在Pycharm上的環境搭建 -- Qt Designer + Pyuic + Pyrcc組合,大幅提升GUI開發效率

軟件安裝 目標軟件: Python解釋器Pycharm編輯器 Python官網: 點擊訪問Python官網 Pycharm官網:點擊訪問Pycharm官網 環境搭建 搭建完成后最終的環境詳情: python安裝路徑:D:\ProgramEnviron\Python\Python311Pyth…

30天打牢數模基礎-卷積神經網絡講解

案例代碼實現一、代碼說明本案例使用PyTorch實現一個改進版LeNet-5模型,用于CIFAR-10數據集的圖像分類任務。代碼包含以下核心步驟:數據加載與預處理(含數據增強,劃分訓練/驗證/測試集);定義CNN網絡結構&am…

Dev-C++——winAPI貪吃蛇小游戲

🚀歡迎互三👉:霧狩 💎💎 🚀關注博主,后期持續更新系列文章 🚀如果有錯誤感謝請大家批評指出,及時修改 🚀感謝大家點贊👍收藏?評論? 今天水一篇吧…

【openbmc6】entity-manager

文章目錄 2.1 事件監聽:dbus在linux上使用的底層通信方式多半是unix domain socket ,事件的到來可被抽象為:socket上有數據,可讀 2.2 事件處理:由于主線程肯定有邏輯得跑,因此新開一個線程甚至多個線程專門用來監聽和處理事件,但存在多線程就意味著可能存在競爭,存在競…

Java 實現 UDP 多發多收通信

在網絡通信領域,UDP(用戶數據報協議)以其無連接、高效率的特點,在實時通信場景中占據重要地位。本文將結合一段實現 UDP 多發多收的 Java 代碼,詳細解析其實現邏輯,幫助開發者深入理解 UDP 通信的底層邏輯與…

Java學習第六十二部分——Git

目錄 一、關鍵概述 二、核心概念 三、常用命令 四、優勢因素 五、應用方案 六、使用建議 一、關鍵概述 提問:Git 是什么? 回答:一句話,分布式版本控制系統(DVCS),用來跟蹤文件&#…

CDN和DNS 在分布式系統中的作用

一、DNS:域名系統(Domain Name System) 1. 核心功能 DNS是互聯網的“地址簿”,負責將人類易記的域名(如www.baidu.com)解析為計算機可識別的IP地址(如180.101.50.242)。沒有DNS&…

uniapp用webview導入本地網頁,ios端打開頁面空白問題

目前還沒解決,DCloud官方也說不行 IOS下webview加載本地網頁時,無法加載資源 - DCloud問答

軟考 系統架構設計師系列知識點之面向服務架構設計理論與實踐(8)

接前一篇文章:軟考 系統架構設計師系列知識點之面向服務架構設計理論與實踐(7) 所屬章節: 第15章. 面向服務架構設計理論與實踐 第3節 SOA的參考架構 15.3 SOA的參考架構 IBM的Websphere業務集成參考架構(如圖15-2所示,以下簡稱參考架構)是典型的以服務為中心的企業集…

基于 Docker 及 Kubernetes 部署 vLLM:開啟機器學習模型服務的新篇章

在當今數字化浪潮中,機器學習模型的高效部署與管理成為眾多開發者和企業關注的焦點。vLLM 作為一款性能卓越的大型語言模型推理引擎,其在 Docker 及 Kubernetes 上的部署方式如何呢?本文將深入探討如何在 Docker 及 Kubernetes 集群中部署 vL…