3 zcl_love_wx

尚未进行身份认证

真正的爱情,就像花朵,开放的地方越贫瘠,越是美丽动人!

等级
TA的排名 6k+

Java锁详解之改进读写锁StampedLock

文章目录先了解一下ReentrantReadWriteLockStampedLock先了解一下ReentrantReadWriteLock当系统存在读和写两种操作的时候,读和读之间并不会对程序结果产生影响。所以后来设计了ReentrantReadWriteLock这种读写分离锁,它做到了读与读之间不用等待。示例://读写锁privatestaticReentrantR...

2019-07-11 18:10:24

Java锁详解之ReentrantLock

ReentrantLock是除了synchronized用得较多的一种锁。ReentrantLock也属于重入锁,后面接着就会提到它的重入锁实现原理。ReentrantLock的功能要比内部锁synchronized更多,如指定锁等待时间的方法tryLock(longtime,TimeUnitunit)、中断锁的方法lockInterruptibly()、没获取锁直接返回的方法tryLock...

2019-07-04 14:56:02

Java锁详解

文章目录什么是锁锁的实现方式锁涉及的几个重要概念类锁和对象锁(重要)synchronized实现原理什么是锁计算机还是单线程的时代,下面代码中的count,始终只会被一个线程累加,调用addOne()10次,count的值一定就累加了10。publicclassTest{//计数器privateIntegercount=0;//累加...

2019-06-29 22:57:22

SQL拆分实现与注意事项

SQL拆分的背景任何系统的设计都是在不断的迭代中改进的,在系统最初的阶段,能够最快的完成功能是首要任务,这就会导致我们在写数据查询时使用了大量的关联查询。而当系统用户慢慢增加到我们不得不分库分表的时候,原先的关联查询就会失效,这就迫使我们不得不将之前的关联查询拆分开,然后利用代码逻辑进行关联操作。如何拆分SQL(leftjoin拆分)其实,各种关联操作的拆分思想基本是一样的,只是在不同的...

2019-03-18 17:41:39

冒泡排序——《图解算法》

冒泡排序分从大到小和从小到大两种排序方式。它们的唯一区别就是两个数交换的条件不同,从大到小排序是前面的数比后面的小的时候交换,而从小到大排序是前面的数比后面的数大的时候交换。我这里只说从小到大的排序方式。冒泡排序的原理:从第一个数开始,依次往后比较,如果前面的数比后面的数大就交换,否则不作处理。这就类似烧开水时,壶底的水泡往上冒的过程。一、图解分析现以数组[8,7,6,4,5]为例,我...

2018-11-01 18:21:54

mysql锁相关讲解及其应用——《深究mysql锁》

 一、mysql的锁类型(1)共享/排它锁(SharedandExclusiveLocks)共享锁和排他锁是InnoDB引擎实现的标准行级别锁。拿共享锁是为了让当前事务去读一行数据。拿排他锁是为了让当前事务去修改或删除某一行数据。。设置共享锁:select*fromuserwhereid=1 LOCKINSHAREMODE;设置排他锁:sel...

2018-10-24 15:39:55

key+value实现动态字段的存储设计

1

2018-10-10 14:15:27

一分钟明白各种SQL语句加的什么锁——《深究Mysql锁》

一、正常查询在4个事务隔离级别中,除了在串行化(Serializable)时会加共享锁,其他的都不加锁,即快照读。二、加了锁的查询加锁select主要是指: select...forupdate select...insharemode 1.当使用唯一索引来搜索唯一行的语句时,使用记录锁(recordlock)。如:select*from...

2018-09-04 17:11:20

一分钟了解Mysql的间隙锁——《深究Mysql锁》

什么是间隙锁?间隙锁是一个在索引记录之间的间隙上的锁。间隙锁的作用保证某个间隙内的数据在锁定情况下不会发生任何变化。比如我mysql默认隔离级别下的可重复读(RR)。当使用唯一索引来搜索唯一行的语句时,不需要间隙锁定。如下面语句的id列有唯一索引,此时只会对id值为10的行使用记录锁。select*fromtwhereid=10forupdate;//注意...

2018-09-04 16:37:20

一分钟理清Mysql的锁类型——《深究Mysql锁》

延伸阅读:三分钟了解Mysql的表级锁五分钟了解Mysql的行级锁一分钟深入Mysql的意向锁我们常用的存储引擎就MyISAM和InnoDB。MyISAM存储主要就简单的表级别锁,下面只说InnoDB的各种锁类型。InnoDB不仅支持行级别的锁,也支持表级别的锁。平常我们会听到各种锁,你是不是不仅迷茫它们怎么用的,还会迷茫它们各自之间都是什么关系?什么是乐观锁和悲观锁?...

2018-08-25 16:43:14

一分钟深入Mysql的意向锁——《深究Mysql锁》

延伸阅读:三分钟了解Mysql的表级锁五分钟了解Mysql的行级锁mysql锁相关讲解及其应用——《深究mysql锁》了解锁前,一定要先看这篇,了解什么是MVCC,如果我们学习锁,没有MVCC的知识,理解起来会总觉得不明朗。本来我的这个只是个记录,并不是专门的讲给别人看的,后发现有不少人看,我还是专门加上这篇文章的链接。在《五分钟了解Mysql的行级锁》中说到,InnoDB为了让表...

2018-08-24 14:29:56

五分钟了解Mysql的行级锁——《深究Mysql锁》

我们首先需要知道的一个大前提是:mysql的锁是由具体的存储引擎实现的。所以像MyISAM和InnoDB引擎的锁实现机制是有区别的。Mysql有三种级别的锁定:表级锁定、页级锁定、行级锁定表级锁定参考:三分钟了解Mysql的表级锁——《深究Mysql》页级锁定参考:[三分钟了解Mysql的页级锁——《深究Mysql》]一、定义每次锁定的是一行数据的锁机制就是行级别锁定(r...

2018-08-23 18:41:50

三分钟了解Mysql的表级锁——《深究Mysql锁》

我们首先需要知道的一个大前提是:mysql的锁是由具体的存储引擎实现的。所以像MyISAM和InnoDB引擎的锁实现机制是有区别的。可根据不同的场景选用不同的锁定机制。Mysql有三种级别的锁定:表级锁定、页级锁定、行级锁定一、定义每次锁定的是一张表的锁机制就是表级别锁定(table-level)。它是MySQL各存储引擎中粒度最大的锁定机制。二、优缺点1.优点...

2018-08-23 16:17:34

什么样的编程姿势才没有bug

1

2018-07-29 16:58:05

Spring事务的处理流程、传播属性、及部分释疑

事务总结

2018-07-15 12:11:32

Java单例模式双重检查锁定中volatile关键字的作用

首先要说的是,个人推荐使用饿汉模式和静态内部类方式实现单例模式。懒汉模式中,双重检查锁定代码如下:publicclassSingleton{//静态属性,volatile保证可见性和禁止指令重排序privatevolatilestaticSingletoninstance=null;//私有化构造器privateSi...

2018-06-21 11:55:11

线程同步

同步代码块同步方法synchronized修饰静态方法和实例方法的区别同步锁(Lock)Lock与synchronized的区别注:Thread的suspend()方法容易导致死锁,所以Java不再推荐使用该方法来暂停线程的执行。同步代码块synchronized加在代码块上。示例:synchronized(obj){}上述代码中obj就是同步监...

2018-06-18 17:46:11

线程的控制

join线程在线程A中,如果线程B对象调用了join()方法,则线程A会阻塞,直到线程B执行完后才能继续执行。线程B就是join线程。相关方法join():线程A等到线程B执行完join(longmillis):线程A等待了millis毫秒后就不再等待了守护线程(后台线程、精灵线程)线程在启动之前设置了daemon属性为true的线程就是守护线程。Dae...

2018-06-18 12:01:02

架构师之路总结

通用设计与方法论一些名词解释:1)nginx:一个高性能的web-server和实施反向代理的软件2)lvs:LinuxVirtualServer,使用集群技术,实现在linux操作系统层面的一个高性能、高可用、负载均衡服务器3)keepalived:一款用来检测服务状态存活性的软件,常用来做高可用4)f5:一个高性能、高可用、负载均衡的硬件设备(听上去和lvs功能差不多?...

2018-06-13 10:36:12

线程的生命周期

写在前面新建、就绪状态运行、阻塞状态线程死亡写在前面线程的相关内容还是好久好久之前看过,现在又特地回头看看,并整理整理相关的笔记了。不过,重新回头来看,认识又将不一样。线程的生命周期会经历以下几个状态:新建:new创建线程对象时就绪:调用start()方法时运行:调用run()方法时阻塞:多种原因可导致阻塞死亡:dead线程状态转换...

2018-05-27 18:38:22

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得