前言 大概几个月之前项目中用到事务,需要保证数据的强一致性,期间也用到了mysql的锁,但当时对mysql的锁机制只是管中窥豹,所以本文打算总结一下mysql的锁机制。 本文主要论述关于mysql锁机制,mysql版本为5.7,引擎为innodb,由于实际中关于innodb锁相关的知识及加锁方式很多 ...
分类:
数据库 时间:
2020-01-22 16:04:06
阅读次数:
90
楔子 我们知道golang除了兼顾了开发速度和运行效率之外,最大的亮点就是在语言层面原生支持并发,也就是通过所谓的goroutine。不过既然是并发,那么就势必会面临很多问题。比如:资源竞争,多个goroutine同时访问一个资源会发生竞争从而产生意想不到的结果,那么这时候我们会通过加锁来解决;主g ...
分类:
其他好文 时间:
2020-01-21 16:23:18
阅读次数:
75
通常情况下,建立索引是加快查询速度的有效手段。但索引不是万能的,靠索 引并不能实现对所有数据的快速存取。事实上,如果索引策略和数据检索需求严重不符的话,建立索引反而会降低查询性能。因此在实际使用当中,应该充分考虑到 索引的开销,包括磁盘空间的开销及处理开销(如资源竞争和加锁)。例如,如果数据频繁的更 ...
分类:
数据库 时间:
2020-01-19 18:54:44
阅读次数:
92
"""multiprocessing提供了threading包中没有的IPC(进程间通信),效率上更高。应优先考虑Pipe和Queue,避免使用Lock/Event/Semaphore/Condition等同步方式(因为它们占据的不是用户进程的资源)。multiprocessing包中有Pipe类和 ...
分类:
其他好文 时间:
2020-01-19 00:31:47
阅读次数:
107
摘自:https://www.cnblogs.com/jalja365/p/12184872.html JVM之JVM的体系结构 一、JDK的组成 JDK:JDK是Java开发工具包,是Sun Microsystems针对Java开发员的产品。JDK中包含JRE(在JDK的安装目录下有一个名为jre ...
分类:
其他好文 时间:
2020-01-18 12:27:21
阅读次数:
69
概述 ReentrantLock是一个可重入的互斥锁,也被称为独占锁。它支持公平锁和非公平锁两种模式。 ReentrantLock的使用方法 下面看一个最初级的例子: 在进入方法后,在需要加锁的一些操作执行之前需要调用lock方法,在jdk文档中对lock方法详细解释如下: 获得锁。 如果锁没有被另 ...
分类:
其他好文 时间:
2020-01-17 18:47:35
阅读次数:
67
本人工作经验5年,2019年10月没准备找过一段时间工作,最终开的薪资都不愿意给,最后有一家工资还可以不过最后要驻场(外包嘛),后面没去就做了份兼职。为了年后找工作就打算年前试水,面试两家一个中小型公司100~500人的A公司,一家大厂几千人的公司B公司。A公司两轮技术面试通过HR面试通过最后老总面 ...
分类:
其他好文 时间:
2020-01-16 22:21:00
阅读次数:
118
Java 锁分类 Java 中的锁有很多,可以按照不同的功能、种类进行分类,下面是我对 Java 中一些常用锁的分类,包括一些基本的概述 从线程是否需要对资源加锁可以分为 悲观锁 和 乐观锁 从资源已被锁定,线程是否阻塞可以分为 自旋锁 从多个线程并发访问资源,也就是 Synchronized 可以 ...
分类:
其他好文 时间:
2020-01-16 14:24:22
阅读次数:
204
前言 本章介绍行锁的相关知识。行锁偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁定粒度小,发生锁冲突的概率低,但并发度高。 准备 1. 创建表tb_innodb_lock,注意数据库引擎为InnoDB。 CREATE TABLE test_innodb_lock ( a INT (11), ...
分类:
数据库 时间:
2020-01-15 23:01:41
阅读次数:
137
内存模型 深度好文推荐: 深入理解Java内存模型 1.理解概念 1.1 内存模型概念: 百度百科概念:内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,和实际计算机系统中将变量存储到内存和从内存中取出变量的底层细节。 java内存模型主要目标是定义程序中的变量,(此处所指的变量是 ...
分类:
其他好文 时间:
2020-01-15 21:32:26
阅读次数:
88