勇往直前的专栏

写给以后的自己

图文并茂的带你彻底理解悲观锁与乐观锁

这是一篇介绍悲观锁和乐观锁的入门文章。旨在让那些不了解悲观锁和乐观锁的小白们弄清楚什么是悲观锁,什么是乐观锁。不同于其他文章,本文会配上相应的图解让大家更容易理解。通过该文,你会学习到如下的知识。 1锁(Lock) 在介绍悲观锁和乐观锁之前,让我们看一下什么是锁。 锁,在我们生活中随处可见...

2019-05-06 11:25:39

阅读数 132

评论数 0

10行代码理解Java锁消除

导语:锁消除是Java虚拟机在JIT编译期间,通过对运行上下文的扫描,去除不可能存在共享资源竞争的锁,通过锁消除,可以节省毫无意义的请求锁时间。本文作者举例说明了锁消除,并分析了锁消除的条件,本文适合对于深入了解JVM有兴趣的开发者。 问题: 我听说JVM会对锁进行优化,所以如果我写了syn...

2019-03-27 19:34:00

阅读数 238

评论数 0

MySQL InnoDB 锁介绍及不同 SQL 语句分别加什么样的锁

作者:iceman1952(本文来自作者投稿) 本文中,我们详细介绍MySQL InnoDB存储引擎各种不同类型的锁,以及不同SQL语句分别会加什么样的锁。 阅读提示 1. 本文所参考的MySQL文档版本是8.0,做实验的MySQL版本是8.0.13 2. 本文主要参考了MySQL官方文...

2019-01-31 17:38:33

阅读数 171

评论数 0

别吵吵,分布式锁也是锁

Tomcat的锁 Tomcat是这个系统的核心组成部分, 每当有用户请求过来,Tomcat就会从线程池里找个线程来处理,有的执行登录,有的查看购物车,有的下订单,看着属下们尽心尽职地工作,完成人类的请求,Tomcat就很有成就感。  与此同时,它也很得意,所有的业务逻辑尽在掌握。MySQL...

2019-01-02 10:41:11

阅读数 63

评论数 0

MySQL中的行级锁,表级锁,页级锁

数据库锁是数据库系统中非常重要的一个概念,本文将深入分析数据库中的锁相关知识,您可点击下方音频收听或直接查看文稿中的文字。 在计算机科学中,锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足。 锁(INNODB引擎)、表级锁(MYISAM引擎)和页级锁(...

2018-12-21 15:01:33

阅读数 84

评论数 0

死磕Synchronized底层实现--偏向锁

注:本篇很长,请找个舒适的姿势阅读。   本文为synchronized系列第二篇。主要内容为分析偏向锁的实现。 偏向锁的诞生背景和基本原理在上文中已经讲过了,强烈建议在有看过上篇文章的基础下阅读本文。 更多文章见个人博客:https://github.com/farmerjohngi...

2018-12-21 14:45:26

阅读数 181

评论数 0

并发控制--悲观锁和乐观锁详解

背景 考虑下面两个并发带来的问题: 1、丢失更新:一个事务的更新结果覆盖了其它事务的更新结果,即所谓的更新丢失。 2、脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。 例如: 两个用户同时修改商品库存表,A、B同时进入,看到的库存都是100,A购买一件把库存修改为9...

2018-11-05 10:32:20

阅读数 112

评论数 0

java ConcurrentHashMap 实现原理

由于 HashMap 是一个线程不安全的容器,主要体现在容量大于总量*负载因子发生扩容时会出现环形链表从而导致死循环。 因此需要支持线程安全的并发容器 ConcurrentHashMap 。 JDK1.7 实现 数据结构 如图所示,是由 Segment 数组、HashEntry 数组组...

2018-08-30 08:54:07

阅读数 145

评论数 0

java ReentrantLock 实现原理

使用 synchronized 来做同步处理时,锁的获取和释放都是隐式的,实现的原理是通过编译后加上不同的机器指令来实现。 而 ReentrantLock 就是一个普通的类,它是基于 AQS(AbstractQueuedSynchronizer)来实现的。 是一个重入锁:一个线程获得了锁之后仍...

2018-08-30 08:50:56

阅读数 342

评论数 0

synchronized 关键字原理

众所周知 synchronized 关键字是解决并发问题常用解决方案,有以下三种使用方式: 同步普通方法,锁的是当前对象。 同步静态方法,锁的是当前 Class 对象。 同步块,锁的是 () 中的对象。 实现原理: JVM 是通过进入、退出对象监视器( Monitor )来实现对方法、同步块...

2018-08-29 11:35:24

阅读数 64

评论数 0

提示
确定要删除当前文章?
取消 删除