ICode9

精准搜索请尝试: 精确搜索
  • Redis 分布式锁2021-11-12 12:33:35

    一、什么是分布式系统?   分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。             

  • 细说Java单例设计模式2021-11-10 12:02:51

    文章目录 饿汉模式懒汉模式 啥叫设计模式? 设计模式就好比我们下象棋中的棋谱,红方当头炮,黑方马来跳。针对红发的一些走法,黑方下的时候有一些固定套路,按照套路来走局势就会吃亏。 就好比你打游戏玩某一个英雄,按照一定的打法打就不会打的太烂。 而单例设计模是设计模式中

  • 并发控制2021-11-09 20:03:51

    可恢复调度 对于每对事务Ti和Tj,如果Tj读取了之前由Ti所写的数据项,则Ti先于Tj提交。 无级联调度 对于每对事务Ti和Tj,如果Tj读取了先前由Ti所写的数据项,则Ti必须在Tj这一读操作前提交。 锁 定义:令{T0,T1,.....,Tn}是参与调度S的一个事务集,如果存在数据项Q,使得Ti在Q上持有A型锁,后来,Tj

  • 双重检查加锁单例模式为什么两次判断2021-11-09 10:00:57

    先列一段代码 package cn.yqh.interview; public class Singleton { private static volatile Singleton singleton = null; private Singleton() { } public static Singleton getInstance(){ //第一次校验singleton是否为空 if(singleton=

  • Mysql 事务与锁机制原理详细理解2021-11-08 22:30:41

    一,ACID特性 I,原子性 原子性:事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。 修改---》Buffer Pool修改---》刷盘。可能会有下面两种情况: 事务提交了,如果此时Buffer Pool的脏页没有刷盘,如何保证修改的数据生效? Redo如果事务没提交,但是Buffer Pool的脏页刷盘

  • MySQL事务&锁(概要记录)2021-11-06 22:02:22

    在MySQL中只有使用InnoDB引擎的数据库和表才支持事务。 事务处理用来维护数据库的完整性,保证成批的SQL语句要么全部执行,要么全部失败 ACID 原子性(atomicity):要么全部完成,要么全部不完成(通过undo log实现) 隔离性(isolation):各个事务之间互相不干扰(通过锁和MVCC实现) 持久性(durabilit

  • select......for update会锁表还是锁行2021-11-04 17:03:29

    select查询语句是不会加锁的,但是select .......for update除了有查询的作用外,还会加锁呢,而且它是悲观锁。 那么它加的是行锁还是表锁,这就要看是不是用了索引/主键。 没用索引/主键的话就是表锁,否则就是是行锁。

  • 分布式锁解决方案2021-11-04 12:01:56

    Zookeeper分布式锁: zk通过临时节点,解决了死锁的问题,一旦客户端获取到锁之后突然挂掉了(Session连接断开),那么这个临时节点就会自动删除掉,其他客户端自动获取锁。临时顺序节点解决惊群效应 Redis分布式锁: Redis分布式锁通过setNX,单线程处理网络请求,不需要考虑并发安全性 所

  • 信息安全系统设计与实现第七周:《Unix/Linux系统编程》第四章学习笔记2021-10-31 16:34:47

    并发编程 并行计算 并行计算是通过尝试使用多个执行并行算法的处理器来更快解决问题的一种计算方案。 并行性与并发性 在理想情况下,并行算法中的所有任务都应该同时实时执行。然而,真正的并行执行只能在有多个处理组件的系统中实现,比如多处理器或多核系统。 在单cpu系统中,一次只能

  • 临界区和锁?2021-10-31 13:02:49

    何为临界区,就是访问临界资源的那段代码。(critical section),临界区是共享资源但是只允许一个进程使用。不论是硬件临界区还是软件临界区,多个进程必须互斥的对它进行访问。 使用注意事项:线程在使用临界区时使用的时间不能过长,临界区中最好不要包含等待用户输入或者其他一些外界

  • 请你说一下行级锁和表级锁的区别(或表级锁和行级锁的区别)2021-10-31 09:30:58

            本旨在学习记录,内容源自JavaGuide,作者在此基础上进行补充说明、整理论述,使其能以一种更为逻辑地清晰地方式表达出“请你说一下行级锁和表级锁的区别”的理解,更多适应于java面试回答,亦可作对请你说一下自己对行级锁和表级锁的简要了解。 MyISAM 和 InnoDB 存储

  • MySQL锁2021-10-31 01:00:53

    锁概述 锁是计算机协调多个进程或者线程并发访问同一资源的机制。 在数据库中,数据提供给多个用户使用。如何保证数据并发访问时的有效性和一致性是所有数据库都必须解决的问题。锁对数据库来说极其重要,如果没有锁,我们存储在数据库的数据将会不准确,对数据库来说,它就不是一个可用的

  • 请你说一下双重校验锁实现对象单例(请你解释一下双重校验锁实现对象单例)—java并发知识2021-10-29 15:05:34

            本文旨在作学习记录,内容源自JavaGuide,作者在此基础上进行补充说明、整理论述,使其能以一种更为逻辑地清晰地方式表达出“请你说一下双重校验锁实现对象单例”的理解,更多适应于java面试回答,亦可作对双重校验锁实现对象单例的简要了解。 一、什么是对象单例      

  • 10个人9个答错,另外1个只对一半:数据库的锁,到底锁的是什么?2021-10-29 14:03:01

    在MySQL数据库中,为了解决并发问题,引入了很多的锁机制,很多时候,数据库的锁是在有数据库操作的过程中自动添加的。 所以,这就导致很多程序员经常会忽略数据库的锁机制的真正的原理。比如,我经常在面试中会问候选人,你知道MySQL Innodb的锁,到底锁的是什么吗? 关于这个问题的回答,我听到过

  • MIT6.830 lab4 SimpleDB Transactions 实验报告2021-10-27 18:57:59

    一、实验预览 lab4要做的是让SimpleDB支持事务,所以实验前需要对事务的基本概念有了解,并知道ACID的特点。lab4是基于严格两阶段封锁协议去实现原子性和隔离性的,所以开始前也需要了解两阶段封锁协议是如何实现事务的。对于一致性和持久性,这里假设暂时不会发送断电等异常,所以暂

  • 分布式锁2021-10-27 18:31:58

    1,基于数据库表实现机制:在数据库中创建一个表,表中包含方法名等字段,并在方法名字段上创建唯一索引,想要执行某个方法,就使用这个方法名向表中插入数据,成功插入则获取锁,执行完成后删除对应的行数据释放锁。1,首先创建一个 分布式锁表 DROP TABLE IF EXISTS `distributed_lock`; CREATE

  • 聊一聊数据库中的锁分类(乐观锁、悲观锁、共享锁、排它锁、表级锁、行级锁、页面锁)2021-10-27 15:33:41

      乐观锁和悲观锁(从策略上划分) 乐观锁:乐观锁就如同他的名字一样,非常了乐观,每次去读数据都认为其它事务没有在写数据,总是认为别人不会修改数据,所以就不上锁,只有在线程提交数据时会通过检查版本号的形式检测数据有没有被修改过。一般会在数据表中添加版本号(Version)字段来表示被修

  • 锁、加锁粒度的概念辨析2021-10-26 20:06:31

    今天和某个小(S)伙(B)伴争论,那人对加锁粒度没有清晰的概念,现找该博客记录一下 为什么要加锁?加锁是为了防止不同的线程访问同一共享资源造成混乱。 打个比方:人是不同的线程,卫生间是共享资源 你在上洗手间的时候肯定要把门锁上吧,这就是加锁,只要你在里面,这个卫生间就被锁了,只有你

  • select 加锁分析2021-10-25 11:02:48

    引言 大家在面试中有没遇到面试官问你下面六句Sql的区别呢 select * from table where id = ? select * from table where id < ? select * from table where id = ? lock in share mode select * from table where id < ? lock in share mode select * from table where id = ?

  • 分布式锁(Redisson)-从零开始,深入理解与不断优化2021-10-22 14:34:27

    分布式锁场景 互联网秒杀抢优惠卷接口幂等性校验 案例1 如下代码模拟了下单减库存的场景,我们分析下在高并发场景下会存在什么问题 package com.wangcp.redisson; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.

  • redis分布式锁的8大坑2021-10-22 09:05:25

    在分布式系统中,由于redis分布式锁相对于更简单和高效,成为了分布式锁的首先,被我们用到了很多实际业务场景当中。 但不是说用了redis分布式锁,就可以高枕无忧了,如果没有用好或者用对,也会引来一些意想不到的问题。 今天我们就一起聊聊redis分布式锁的一些坑,给有需要的朋友一个参考。

  • MySQL进阶之路(十四)—— InnoDB中的锁是怎样的?一篇搞懂它!2021-10-19 18:00:17

    MySQL进阶之路(十四)—— InnoDB中的锁是怎样的?一篇搞懂它! 本文目录 MySQL进阶之路(十四)—— InnoDB中的锁是怎样的?一篇搞懂它!一、概述二、MySQL中的锁是如何工作的三、MySQL中有哪些锁?**共享锁/排它锁**意向锁记录锁间隙锁Next-Key锁其他锁 四、小结 一、概述 ​ 在上一篇

  • synchronized解析2021-10-17 18:07:01

    1、作用: 保证在同一个时刻只能有一个线程运行该段代码(synchronized修饰的代码段或方法),以保证并发安全。 2、用法: 一个类可以有多个的实例对象,一个类只有一个class对象用于描述这个类,根据锁的对象的类型(普通实例对象,class对象)将用法分为对象锁和类锁。 (1)对象锁:锁的对象为普通实

  • 常见的锁策略2021-10-17 15:00:25

    常见的锁策略 乐观锁与悲观锁读写锁重量级锁与轻量级锁自旋锁与挂起等待锁公平锁与非公平锁可重入锁与不可重入锁 乐观锁与悲观锁 乐观锁:既假设锁冲突的概率比较低基本没有冲突,简单的处理冲突。 悲观锁:既假设锁冲突的概率比较高基本每次尝试加锁都会产生锁冲突,付出更多的

  • Mysql——7、MySQL锁2021-10-15 10:04:15

    1 MySQL锁 1.1 Mysql锁的类型 innoDB支持三种行锁定方式: i. 行锁(Record Lock):锁直接加在索引记录上面(无索引项时演变成表锁)。 ii. 间隙锁(Gap Lock):锁定索引记录间隙,确保索引记录的间隙不变。间隙锁是针对事务隔离级别为可重复读或以上级别的。 iii. Next-Key

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有