📚 欢迎来到我的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…