问下关于乐观锁、悲观锁和 排它锁 、共享锁这两类的区别 [问题点数:20分,结帖人hk__lrzy]

Bbs1
本版专家分:0
结帖率 100%
Bbs2
本版专家分:145
Bbs1
本版专家分:0
Bbs2
本版专家分:145
最通俗易懂的乐观锁悲观锁原理及实现
一、<em>乐观锁</em> 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作实现。 version方式:一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加一。当线程A要更新数据值时,在读取数据的同时也会读取version...
乐观锁悲观锁 的用法和区别
随着并发量的增加影响到我们数据时, 我们可以用MySQL的锁技术 <em>悲观锁</em> 在执行数据库操作的时候,会加一把锁, 事物提交后释放锁 (期间如果有别的线程进行数据库操作, 会阻塞, 如果一直占用资源不释放,其他线程就一直无法操作数据) 需配合MySQL的事物进行操作 使用方法 在数据库操作语句中加入for update 如: select * from goods where
乐观锁悲观锁共享锁排它锁的简单理解
个人简单理解 <em>乐观锁</em>(乐观并发控制)和<em>悲观锁</em>(悲观并发控制)是指数据库在对待并发上控制的两种思想,<em>共享锁</em>和<em>悲观锁</em>是具体的锁的实现,且都属于<em>悲观锁</em>。<em>乐观锁</em>没有加锁 1.<em>共享锁</em>(S)(读锁):一旦事务给数据或记录加上了<em>共享锁</em>(S),则只能读数据不能写数据,其他事务也只能加<em>共享锁</em>(S)知道上一个事务释放了锁 2.<em>排它锁</em>(X)(写锁):一旦被上上<em>排它锁</em>(X),该事务可进行读写操作,其他事务只
mysql乐观锁悲观锁共享锁排它锁
<em>乐观锁</em>(乐观并发控制)和<em>悲观锁</em>(悲观并发控制)是指数据库在对待并发上控制的两种思想,<em>共享锁</em>和<em>悲观锁</em>是具体的锁的实现,且都属于<em>悲观锁</em>。<em>乐观锁</em>没有加锁 <em>乐观锁</em> 获取数据的时候不用获取锁,直到需要更新数据的时候才去检查获取的记录是否已被其他事务更新,如果更新了则返回错误抛异常。注意的是,<em>乐观锁</em>中没有锁机制,通常的实现方式是用版本号或时间戳实现,比如,事务get了一条记录,同时获取到了该条...
浅谈Mysql共享锁、排他锁、悲观锁乐观锁及其使用场景
Mysql<em>共享锁</em>、排他锁、<em>悲观锁</em>、<em>乐观锁</em>及其使用场景 一、相关名词 |--表级锁(锁定整个表) |--页级锁(锁定一页) |--行级锁(锁定一行) |--<em>共享锁</em>(S锁,MyISAM 叫做读锁) |--排他锁(X锁,MyISAM 叫做写锁) |--<em>悲观锁</em>(抽象性,不真实存在这个锁) |--<em>乐观锁</em>(抽象性,不真实存在这个锁) 二、InnoDB与MyISAM Mysql 在5....
对mysql乐观锁悲观锁共享锁排它锁、行锁、表锁概念的理解
记得在上大学那会开始,在大学的课堂上,常常会听到老师讲什么<em>共享锁</em>,<em>排它锁</em>各种锁的词汇,以前仅仅听过一次就没有管了,并没有进行深入的研究 最近,在各种群里,又看见了什么<em>乐观锁</em>、<em>悲观锁</em>什么鬼的感觉很高级的词汇,于是乎今天对这几个概念进行学习,揭开它神秘的面纱,缕缕思路记录下我对这几个概念的想法 实验环境: mysql5.6 存储引擎:innoDB 我们在操作数据库的时候,可能
MySQL InnoDB中,乐观锁悲观锁共享锁排它锁、行锁、表锁、死锁概念的理解
MySQL/InnoDB的加锁,一直是一个面试中常问的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?我在工作过程中,也会经常用到,<em>乐观锁</em>,<em>排它锁</em>,等。于是今天就对这几个概念进行学习,屡屡思路,记录一下。 注:MySQL是一个支持插件式存储引擎的数据库系统。本文下面的所有介绍,都是基于InnoDB存储引擎,其他引擎的表现,会有较大的<em>区别</em>。 存储引擎查看 M...
synchronized和lock的区别悲观锁乐观锁区别
synchronized和lock的<em>区别</em>:  1.用法不一样。synchronized既可以加在方法上,也可以加载特定的代码块上,括号中表示需要锁的对象。而Lock需要显示地指定起始位置和终止位置。synchronzied是托管给jvm执行的,Lock锁定是通过代码实现的。  2.在性能上来说,如果竞争资源不激烈,两者的性能是差不多的,而当竞争资源非常激烈时(即有大量线程同时竞争),此时Lock...
悲观锁乐观锁区别和应用场景
<em>悲观锁</em>(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。   <em>乐观锁</em>(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,...
悲观锁乐观锁区别及使用场景
定义:<em>悲观锁</em>(Pessimistic Lock): 每次获取数据的时候,都会担心数据被修改,所以每次获取数据的时候都会进行加锁,确保在自己使用的过程中数据不会被别人修改,使用完成后进行数据解锁。由于数据进行加锁,期间对该数据进行读写的其他线程都会进行等待。<em>乐观锁</em>(Optimistic Lock): 每次获取数据的时候,都不会担心数据被修改,所以每次获取数据的时候都不会进行加锁,但是在更新数据的时候...
面试题之——乐观锁悲观锁区别
对于<em>乐观锁</em>和<em>悲观锁</em>的<em>区别</em>及应用,要牢记一句话:读取频繁使用<em>乐观锁</em>,写入频繁使用<em>悲观锁</em> 本文转自:https://blog.csdn.net/L_BestCoder/article/details/79298417 一、<em>乐观锁</em>(Optimistic Lock) 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没...
乐观锁悲观锁区别
学习java过程中听到各种各样的锁,实在是眼花缭乱,只知其名不知其含义。其中大概分为<em>乐观锁</em>和<em>悲观锁</em>,数据库锁(排他锁、<em>共享锁</em>)还有很多并发中用的如自旋锁,阻塞锁、偏向锁等等。其中有的锁是一种思想而有的是具体实现,今天先了解一下最常听到的<em>乐观锁</em>和<em>悲观锁</em>是什么东西。 一、<em>乐观锁</em> 是应用系统层面和数据的业务逻辑层次上的(实际上并没有加锁,只是一种锁思想),利用程序处理并发, 它假定当某一个用户去读取...
对于Zookeeper中提及的排它锁共享锁悲观锁乐观锁的理解
<em>排它锁</em> (简称X锁),又称为写锁或独占锁,是一种基本的锁类型。如果事务T1对数据对象O1加上了<em>排它锁</em>,那么在整个加锁期间,只允许事务T1对O1进行读取和更新操作,其它任何事务都帮你再对这个数据对象进行任何类型的操作,——直到T1释放了<em>排它锁</em>。 从上边讲解的<em>排它锁</em>的基本概念中,我们可以看到,<em>排它锁</em>的核心是如何保证当前有且仅有一个事务获得锁,并且锁被释放后,所有等待获取锁的事务都能被通知到。
mysql/innoDB中,乐观锁悲观锁共享锁,排他锁,行锁,表锁,死锁概念的理解
MySQL是一个支持插件式存储引擎的数据库系统。本文下面的所有介绍,都是基于InnoDB存储引擎,其他引擎的表现,会有较大的<em>区别</em>。 存储引擎查看 MySQL给开发者提供了查询存储引擎的功能,我这里使用的是MySQL5.5.28,可以使用: show engines; <em>乐观锁</em> 用数据版本(Version)记录机制实现,这是<em>乐观锁</em>最常用的一种实现方式。何谓数据版本?即...
数据库乐观锁悲观锁共享锁排它锁、行锁、表锁概念的理解
实验环境:mysql5.6存储引擎:innoDB我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突)<em>乐观锁</em><em>乐观锁</em>不是数据库自带的,需要我们自己去实现。<em>乐观锁</em>是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。通常实现是这样的:在表中的数据进行操作时(更新),先给...
乐观锁悲观锁共享锁以及排它锁的概念
<em>乐观锁</em> 乐观并发控制(又名”<em>乐观锁</em>”,Optimistic Concurrency Control,缩写”OCC”),它假设多用户并发的事务在处理时不会彼此互相影响,各事务能够在不产生锁的情况下处理各自影响的那部分数据。在提交数据更新之前,每个事务会先检查在该事务读取数据后,有没有其他事务又修改了该数据。如果其他事务有更新的话,正在提交的事务会进行回滚。简而言之,<em>乐观锁</em>总是认为不会产生并发问题,...
MySQL/InnoDB中,乐观锁悲观锁共享锁排它锁、行锁、表锁、死锁概念的理解
MySQL/InnoDB的加锁,一直是一个面试中常问的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?我在工作过程中,也会经常用到,<em>乐观锁</em>,<em>排它锁</em>,等。于是今天就对这几个概念进行学习,屡屡思路,记录一下。 注:MySQL是一个支持插件式存储引擎的数据库系统。本文下面的所有介绍,都是基于InnoDB存储引擎,其他引擎的表现,会有较大的<em>区别</em>。 存储引擎查看 M...
Mysql(行锁,表锁,共享锁,排他锁,乐观锁悲观锁
1.先看一张图 2.重点介绍存储引擎是InnoDB情况 <em>乐观锁</em> <em>乐观锁</em>不是数据库自带的,需要我们自己去实现。<em>乐观锁</em>是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。 通常实现是这样的:在表中的数据进行操作时(更新),先给数据表加一个版本(version)字段,每操作一...
MySQL表级锁、行级锁、页级锁、死锁、乐观锁悲观锁共享锁、排他锁的概念
锁的概念: 锁是在执行多线程时用于强行限制资源访问的同步机制,即用于在并发控制中保证对互斥要求的满足。在DBMS中,可以按照锁的粒度把数据库锁分为行级锁(INNODB引擎)、表级锁(MYISAM引擎)和页级锁(BDB引擎 )。 下面这张图可以比较直观地看出各种锁之间的关系: 表级锁: 表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部...
悲观锁乐观锁,行锁,表锁,页锁,共享锁,排他锁
<em>悲观锁</em>:  顾名思义,很悲观,就是每次拿数据的时候都认为别的线程会修改数据,所以在每次拿的时候都会给数据上锁。上锁之后,当别的线程想要拿数据时,就会阻塞,直到给数据上锁的线程将事务提交或者回滚。传统的关系型数据库里就用到了很多这种锁机制,比如行锁,表锁,<em>共享锁</em>,排他锁等,都是在做操作之前先上锁。    行锁:  下面演示行锁,打开两个mysql命令行界面,两个线程分别执行如下操作:(左边先执行)
数据库中乐观锁悲观锁共享锁排它锁的理解
mysql5.6 我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突) <em>乐观锁</em> <em>乐观锁</em>不是数据库自带的,需要我们自己去实现。<em>乐观锁</em>是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。 通常实现是这样的:在表中的数据进行操作时(更新),先给数据表加一个版本...
死锁,更新锁,共享锁排它锁,意向锁,乐观锁悲观锁等名词解释及案例详解
开发过程中一直听别人说死锁,可有不理解,今天看了一篇博文讲解的非常详细,简单易懂,所以,转载下来。 首先感谢原博主,转载地址:点击打开链接http://blog.csdn.net/samjustin1/article/details/52210125#reply 这里做个简明解释,为下面描述方便,这里用T1代表一个数据库执行请求,T2代表另一个请求,也可以理解为T1为一个线程,T2 为另一个线
数据库中的事务和锁(乐观、悲观锁,共享、排他锁,死锁)
并发控制: 事务和锁的存在都是为了更好的解决并发访问造成的数据不一致性的的问题 <em>乐观锁</em>和<em>悲观锁</em>都是为了解决并发控制问题, <em>乐观锁</em>可以认为是一种在最后提交的时候检测冲突的手段,而<em>悲观锁</em>则是一种避免冲突的手段。 <em>乐观锁</em>: 是应用系统层面和数据的业务逻辑层次上的(实际上并没有加锁,只不过大家一直这样叫而已),利用程序处理并发, 它假定当某一个用户去读取某一个数据的时候,其他的用户不会来访问修改这个数据
Atitit.软件与编程语言中的锁机制原理attilax总结 1. 用途 (Db,业务数据加锁,并发操作加锁。 2 2. 锁得类型 3 2.1. 排它锁 “互斥锁 共享锁 乐观锁悲观锁 乐观锁:
Atitit.软件与编程语言中的锁机制原理attilax总结   1. 用途 (Db,业务数据加锁,并发操作加锁。 2 2. 锁得类型 3 2.1. <em>排它锁</em> “互斥锁 <em>共享锁</em> <em>乐观锁</em>与<em>悲观锁</em> <em>乐观锁</em>: 3 2.2. 自旋锁还是信号量 3 2.3. -自动释放还是手动释放 3 2.4. 按照使用者 数据库锁  操作系统锁 3 2.5. 按照外观 u型锁 一字锁 月牙
MySQL/InnoDB中的锁、悲观锁共享锁排它锁、行锁、表锁、死锁与MySQL读写分离
  MySQL/InnoDB的加锁,一直是一个面试中常问的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?我在工作过程中,也会经常用到,<em>乐观锁</em>,<em>排它锁</em>,等。于是今天就对这几个概念进行学习,屡屡思路,记录一下。 注:MySQL是一个支持插件式存储引擎的数据库系统。本文下面的所有介绍,都是基于InnoDB存储引擎,其他引擎的表现,会有较大的<em>区别</em>。 存储引擎...
Java中的锁-悲观锁乐观锁,公平锁、非公平锁,互斥锁、读写锁
Java中的锁-<em>悲观锁</em>、<em>乐观锁</em>,公平锁、非公平锁,互斥锁...
最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁
最全Java锁详解:独享锁/<em>共享锁</em>+公平锁/非公平锁+<em>乐观锁</em>/<em>悲观锁</em><em>乐观锁</em> VS <em>悲观锁</em>1.<em>乐观锁</em>2.<em>悲观锁</em>3.总之公平锁 VS 非公平锁1.公平锁2.非公平锁3.典型应用独享锁 VS <em>共享锁</em>1.独享锁2.<em>共享锁</em>3.比较4.AQS分段锁Java线程锁多线程的缘由多线程并发面临的问题4种Java线程锁(线程同步)1.synchronized2.ReentrantLock3.Semaphore4.At...
悲观锁(排他锁)和乐观锁区别
https://blog.csdn.net/localhost01/article/details/78720727读的是时候用<em>乐观锁</em>写的时候用<em>悲观锁</em>
独占锁、共享锁、更新锁,乐观锁悲观锁
1、锁的两种分类方式(1)从数据库系统的角度来看,锁分为以下三种类型: 独占锁(Exclusive Lock)      独占锁锁定的资源只允许进行锁定操作的程序使用,其它任何对它的操作均不会被接受。执行数据更新命令,即INSERT、 UPDATE 或DELETE 命令时,SQL Server 会自动使用独占锁。但当对象上有其它锁存在时,无法对其加独占锁。独占锁一直到事务结束才能被释放。 <em>共享锁</em>(...
排它锁,共享锁,乐观锁,排它锁
1.<em>共享锁</em>只用于表级,排他锁用于行级。 2.加了<em>共享锁</em>的对象,可以继续加<em>共享锁</em>,不能再加排他锁。加了排他锁后,不能再加任何锁。 3.比如一个DML操作,就要对受影响的行加排他锁,这样就不允许再加别的锁,也就是说别的会话不能修改这些行。同时为了避免在做这个DML操作的时候,有别的会话执行DDL,修改表的定义,所以要在表上加<em>共享锁</em>,这样就阻止了DDL的操作。 4.当执行DDL操作时,就需要在全表
锁--自旋锁、阻塞锁、可重入锁、悲观锁乐观锁、读写锁、偏向所、轻量级锁、重量级锁、锁膨胀、对象锁和类锁
参考:http://blog.csdn.net/a314773862/article/details/54095819 自旋锁 自旋锁可以使线程在没有取得锁的时候,不被挂起,而转去执行一个空循环,(即所谓的自旋,就是自己执行空循环),若在若干个空循环后,线程如果可以获得锁,则继续执行。若线程依然不能获得锁,才会被挂起。 使用自旋锁后,线程被挂起的几率相对减少,线程执行的连贯性相对加强
事务隔离级别,脏读、不可重复读、幻读,乐观锁悲观锁共享锁排它锁
    数据库事务具有四个特征,分别是原子性(Atomicity)、一致性(Consistency)、隔离性(Isoation)、持久性(Durability),简称为事务的ACID特性。     事务的隔离性是指在并发环境中,并发的事务是相互隔离的。SQL标准中定义了四种数据库事务隔离级别,级别从低到高分别为:读未提交(Read Uncommitted)、读已提交(Read Committed...
各类锁(互斥锁,自旋锁,读写锁,乐观锁悲观锁,死锁)
互斥锁: 当有一个线程要访问共享资源(临界资源)之前会对线程访问的这段代码(临界区)进行加锁。如果在加锁之后没释放锁之前其他线程要对临界资源进行访问,则这些线程会被阻塞睡眠,直到解锁,如果解锁时有一个或者多个线程阻塞,那么这些锁上的线程就会变成就绪状态,然后第一个变为就绪状态的线程就会获取资源的使用权,并且再次加锁,其他线程继续阻塞等待。 读写锁: 也叫做共享互斥锁,读模式共享,写模式互斥。有点像...
数据库碎片学习:独占锁、共享锁、更新锁,乐观锁悲观锁
转自:http://blog.csdn.net/tuber727/article/details/12782247 <em>共享锁</em>(S锁):共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句。 如果事务T对数据A加上<em>共享锁</em>后,则其他事务只能对A再加<em>共享锁</em>,不能加排他锁。获准<em>共享锁</em>的事务只能读数据,不能修改数据。 排他锁(X锁):用于数据修改操作,例如 IN
Mysql数据库锁之---表级锁、行级锁、悲观锁乐观锁、间隙锁GAP、死锁等简单介绍
目录 一、数据库默认加的锁  二、表级锁与行级锁     表级锁     行级锁 三、<em>乐观锁</em>与<em>悲观锁</em>     <em>乐观锁</em>     <em>悲观锁</em> 四、间隙锁GAP 五、死锁 总结       在Mysql中有:<em>排它锁</em>,<em>共享锁</em>,表锁,页锁,间隙锁,意向<em>排它锁</em>,意向<em>共享锁</em>,行锁,读锁,写锁,<em>乐观锁</em>,<em>悲观锁</em>,死锁...等<em>关于</em>锁的名词我们是耳听目染,但这些锁名词是什么?怎么用?   本文,以...
悲观锁乐观锁,排他锁,行锁----MYSQL
&amp;#13; 在说具体的锁结构时,先思考一个问题,那就是为什么要上锁?然后我要如何选择锁?锁具体如何实现? 在文章得末尾我给出了我的个人答案。 一、什么是<em>悲观锁</em>?   1、<em>悲观锁</em>就是在操作数据时,认为此操作会出现数据冲突,所以在进行每次操作时都要通过获取锁才能进行对相同数据的操作,这点跟java中的synchronized很相似。   2、在MySQL中如何实现<em>悲观锁</em>。?   ...
共享锁悲观锁,与产生死锁的联系
<em>共享锁</em>(S):允许一个事务去读一行,阻止其他事务获得相同数据集的排他锁。一个用户①进行查询并加了lock in share mode,另一个用户②也可以进行查询并添加lock in share mode,但当用户①进行增改删操作时,需要获取所有的锁,所以会阻塞,当用户②进行增改删操作时,则会产生死锁,自动退出,此时阻塞的用户①将继续执行。<em>排它锁</em>(X):允许获得排他锁的事务更新数据,阻止其他事务取得...
乐观锁悲观锁共享锁排它锁
<em>共享锁</em> 称为S锁,又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。排他锁【X锁】 又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取
关于共享锁排它锁乐观锁悲观锁
转自:http://blog.csdn.net/yuwei19840916/article/details/3245107 <em>共享锁</em>【S锁】 又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 排他锁【X锁】 又称写锁。若事务T对数据对象A加上X...
36谈谈MySQL支持的事务隔离级别,以及悲观锁乐观锁的原理和应用场景?
36谈谈MySQL支持的事务隔离级别,以及<em>悲观锁</em>和<em>乐观锁</em>的原理和应用场景?
悲观锁乐观锁、行级锁、表级锁
更新丢失:新改的覆盖先改的,开发中有三种方法解决 1、将事务级别提高到最高级别TRANSACTION_SERIALIZABLE 操作双方都要提升级别;查询使用<em>共享锁</em>;更新使用更新锁;一方查询,一方更新,<em>共享锁</em>和更新锁会冲突;当双方更新锁,出现死锁,程序会自动回滚一方操作,从而避免更新丢失 2、<em>悲观锁</em>(加的是表级锁) 一方:查询语句加 for update;另一方:查询语句加 for upd
Java高效并发之乐观锁悲观锁、互斥同步、非互斥同步
<em>乐观锁</em>和<em>悲观锁</em> 首先我们理解下两种不同思路的锁,<em>乐观锁</em>和<em>悲观锁</em>。 这两种锁机制,是在多用户环境并发控制的两种所机制。下面看百度百科对<em>乐观锁</em>和<em>悲观锁</em>两种锁机制的定义: <em>乐观锁</em>( Optimistic Locking ) 相对<em>悲观锁</em>而言,<em>乐观锁</em>机制采取了更加宽松的加锁机制。<em>悲观锁</em>大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。但随之而来的就是数据库性能的大量开销,特别是对长事务而...
公平锁,非公平锁,乐观锁悲观锁、ReenTrantLock、synchronized
参考: 面试必备之<em>乐观锁</em>与<em>悲观锁</em> 公平锁,非公平锁,<em>乐观锁</em>,<em>悲观锁</em> ReenTrantLock可重入锁(和synchronized的<em>区别</em>)总结 <em>悲观锁</em>: 总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。 传统的关系型数据库里边就用到了很多这种...
详述 MySQL 中的共享锁和排他锁
在 MySQL 中的行级锁、表级锁和页级锁中,咱们介绍过,行级锁是 MySQL 中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为<em>共享锁</em>和排他锁两种,本文将详细介绍<em>共享锁</em>和排他锁的概念、使用方式及注意事项。<em>共享锁</em>(Share Lock)<em>共享锁</em>又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有<em>共享锁</em>。如果事务T
数据库锁分类总结汇总,包含乐观锁悲观锁、行锁、表锁、共享锁排它锁、更新锁、活锁、死锁
并发控制技术是实现事务隔离性以及不同隔离级别的关键,实现方式有很多,锁是常见的一种。 基于锁的并发控制流程: 事务根据自己对数据项进行的操作类型申请相应的锁(读申请<em>共享锁</em>,写申请排他锁) 申请锁的请求被发送给锁管理器。锁管理器根据当前数据项是否已经有锁以及申请的和持有的锁是否存在冲突,决定是否为该请求授予锁。 若锁被授予,则申请锁的事务可以继续执行;若被拒绝,则申请锁的事务将进行等待,直到锁被其...
为什么要加锁?行锁、读锁(共享锁)、写锁(排它锁)
#<em>排它锁</em> 要等待?#session1 会话1start transaction;   update feedback set title='10:20' where id =1;#<em>排它锁</em>COMMIT; #提交事务#session2 会话2start transaction;  select * from feedback where id=1;  update feedback set title
yii2乐观锁悲观锁代码示例
//商品表 CREATE TABLE `qg_goods` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '商品id', `good_name` varchar(64) NOT NULL DEFAULT '' COMMENT '商品名称', `count` tinyint(3) NOT NULL COMMENT '库存'...
共享锁排它锁区别
<em>共享锁</em>【S锁】 又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。 排他锁【X锁】 又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不
乐观锁悲观锁的使用场景?我们如何在 Rails 中使用它们?以及锁的作用范围区间?
丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。 脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取。例如:用户A,B看到的值都是6,用户B把值改为2,用户A读到的值仍为6。 <em>乐观锁</em>: 适用于资源争用不激烈(数据更新不频繁)的时候使用,<em>乐观锁</em>定允许多个用户访问并编辑同一记录,并假设数据发...
mysql乐观锁悲观锁共享锁排它锁
我们在操作数据库的时候,可能会由于并发问题而引起的数据的不一致性(数据冲突) <em>乐观锁</em> <em>乐观锁</em>不是数据库自带的,需要我们自己去实现。<em>乐观锁</em>是指操作数据库时(更新操作),想法很乐观,认为这次的操作不会导致冲突,在操作数据时,并不进行任何其他的特殊处理(也就是不加锁),而在进行更新后,再去判断是否有冲突了。 通常实现是这样的:在表中的数据进行操作时(更新),先给数据表加一个版本(version)字段...
Elasticsearch-对并发冲突的解决(乐观锁悲观锁
elasticsearch<em>乐观锁</em>与<em>悲观锁</em>
Redis分布式锁----悲观锁实现,以秒杀系统为例
    摘要:本文要实现的是一种使用redis来实现分布式锁。 本文源码请在这里下载:https://github.com/appleappleapple/DistributeLearning 1、分布式锁     分布式锁在是一种用来安全访问分式式机器上变量的安全方案,一般用在全局id生成,秒杀系统,全局变量共享、分布式事务等。一般会有两种实现方案,一种是<em>悲观锁</em>的实现,一种是<em>乐观锁</em>的实现。...
[转]排它锁&共享锁&乐观锁&悲观锁
1.<em>排它锁</em> 客户端1 set autocommit=0; BEGIN; SELECT * from bb_blog where id = 1 for update; update bb_blog set title = 5525 where id = 1; //这里没有提交事务 commit,因为提交之后就是解锁了 客户端1 SELECT * from bb_blog where id = 1 ...
Postgresql表排他锁
lock  table xxx in SHARE UPDATE EXCLUSIVE mode;  可以用于资源控制。
面试问题(乐观锁悲观锁区别
<em>悲观锁</em>(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 <em>乐观锁</em>(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人
共享锁排它锁(ReentrantReadWriteLock)
1、什么是<em>共享锁</em>和<em>排它锁</em>      <em>共享锁</em>就是允许多个线程同时获取一个锁,一个锁可以同时被多个线程拥有。      <em>排它锁</em>,也称作独占锁,一个锁在某一时刻只能被一个线程占有,其它线程必须等待锁被释放之后才可能获取到锁。 2、<em>排它锁</em>和<em>共享锁</em>实例      ReentrantLock就是一种<em>排它锁</em>。CountDownLatch是一种<em>共享锁</em>。这<em>两类</em>都是单纯的一类,即,要么
MySql乐观锁悲观锁
<em>悲观锁</em>与<em>乐观锁</em>是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念。本文将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍。<em>悲观锁</em>(Pessimistic Lock)<em>悲观锁</em>的特点是先获取锁,再进行业务操作,即“悲观”的认为获取锁是非常有可能失败的,因此要先确保获取锁成功再进行业务操作。通常所说的“一锁二查三更新”即指的是使用<em>悲观锁</em>。通常来讲在数据库上的<em>悲观锁</em>需要数据库本身提供...
Java面试--乐观锁悲观锁
面试题:<em>乐观锁</em>和<em>悲观锁</em>的<em>区别</em> 一、<em>乐观锁</em> 总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没有对数据进行修改,一般会使用版本号机制或CAS操作实现。 version方式: 一般是在数据表中加上一个数据版本号version字段,表示数据被修改的次数,当数据被修改时,version值会加一。当线程A要更...
Java乐观锁悲观锁区别
<em>悲观锁</em>(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。<em>乐观锁</em>(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上...
一分钟教你知道乐观锁悲观锁区别
<em>悲观锁</em>(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。
java--独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁
<em>乐观锁</em> VS <em>悲观锁</em> 1.<em>乐观锁</em> 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。 <em>乐观锁</em>适用于多读的应用类型,<em>乐观锁</em>在Java中是通过使用无锁编程来实现,最常采用的是CAS算法,Java原子类中的递增操作就通过CAS自旋实现的。 CAS全称 Compare And Swap(比较与...
YII2的乐观锁悲观锁
<em>乐观锁</em>与<em>悲观锁</em>¶ Web应用往往面临多用户环境,这种情况下的并发写入控制, 几乎成为每个开发人员都必须掌握的一项技能。 在并发环境下,有可能会出现脏读(Dirty Read)、不可重复读(Unrepeatable Read)、 幻读(Phantom Read)、更新丢失(Lost update)等情况。具体的表现可以自行搜索。 为了应对这些问题,主流数据库都提供了锁机制,并引入了
乐观锁和 MVCC 的区别
个人以为MVCC也是<em>乐观锁</em>的一种形式 https://www.zhihu.com/question/27876575
【hibernate框架】使用hibernate实现悲观锁乐观锁
四种隔离机制不要忘记:(1,2,4,8) 1.read-uncommitted:能够去读那些没有提交的数据(允许脏读的存在) 2.read-committed:不会出现脏读,因为只有另一个事务提交才会读取来 结果,但仍然会出现不可重复读和幻读现象。 4.repeatable read:MySQL默认。可重复读,读数据读出来之后给它加把锁, 其他人先别更新,等我用完了你再更新。你的事务没完
65_elasticSearch 基于document锁实现悲观锁并发控制
65_基于<em>共享锁</em>和排他锁实现<em>悲观锁</em>并发控制更多干货分布式实战(干货)spring cloud 实战(干货)mybatis 实战(干货)spring boot 实战(干货)React 入门实战(干货)构建中小型互联网企业架构(干货)python 学习持续更新ElasticSearch 笔记概述1、<em>共享锁</em>和排他锁的说明<em>共享锁</em><em>共享锁</em>:这份数据是共享的,然后多个线程过来,都可以获取同一个数据的<em>共享锁</em>,然后...
悲观锁乐观锁区别及应用场景
数据的锁定分为两种,第一种叫作<em>悲观锁</em>,第二种叫作<em>乐观锁</em>。 1、<em>悲观锁</em>,就是对数据的冲突采取一种悲观的态度,也就是说假设数据肯定会冲突,所以在数据开始读取的时候就把数据锁定住。【数据锁定:数据将暂时不会得到修改】 2、<em>乐观锁</em>,认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果发现冲突了,则让用户返回错误的信息。让用户决定如何去做。
php文件锁:共享锁和排他锁的理解
文件锁有两种:<em>共享锁</em>和排他锁,也就是读锁(LOCK_SH)和写锁(LOCK_EX)   文件的锁一般这么使用:   $fp = fopen("filename", "a");   flock($fp, LOCK_SH) or die("lock error")   $str = fread($fp, 1024);   flock($fp, LOCK_UN);  
Java编程:悲观锁乐观锁区别及使用场景
定义:<em>悲观锁</em>(Pessimistic Lock): 每次获取数据的时候,都会担心数据被修改,所以每次获取数据的时候都会进行加锁,确保在自己使用的过程中数据不会被别人修改,使用完成后进行数据解锁。由于数据进行加锁,期间对该数据进行读写的其他线程都会进行等待。<em>乐观锁</em>(Optimistic Lock): 每次获取数据的时候,都不会担心数据被修改,所以每次获取数据的时候都不会进行加锁,但是在更新数据的时
必必须掌握的悲观锁乐观锁知识点
乐观并发控制(<em>乐观锁</em>)和悲观并发控制(<em>悲观锁</em>)是并发控制主要采用的技术手段 无论是<em>悲观锁</em>还是<em>乐观锁</em>,都是人们定义出来的概念,可以认为是一种思想,<em>悲观锁</em>正是利用数据库本身提供的锁机制来实现的 详见:http://www.hollischuang.com/archives/934 简介 <em>悲观锁</em>(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以...
数据库中的共享锁和排他锁
在 MySQL 中的行级锁、表级锁和页级锁中,咱们介绍过,行级锁是 MySQL 中锁定粒度最细的一种锁,行级锁能大大减少数据库操作的冲突。行级锁分为<em>共享锁</em>和排他锁两种,本文将详细介绍<em>共享锁</em>和排他锁的概念、使用方式及注意事项。 <em>共享锁</em>(Share Lock) <em>共享锁</em>又称读锁,是读取操作创建的锁。其他用户可以并发读取数据,但任何事务都不能对数据进行修改(获取数据上的排他锁),直到已释放所有<em>共享锁</em>。...
MySQL系列-事务及乐观锁悲观锁
以下我们针对innoDB存储引擎进行分析,作为MySQL的默认存储引擎,innoDB越来越重要了。 1.什么是事务 数据库事务(Database Transaction),是指作为单个逻辑工作单元执行的一系列操作,要么完全执行,要么完全地不执行。 比如说简单的转账事务包含两个SQL语句,一条是给转账人减钱,另一条是给被转账人加钱,这俩条SQL要么都执行,要么读不执行,不允许中间因为停电或者出...
SQL--共享锁(S)和排它锁(X)之间不得不说的那些事!
        首先讲讲<em>共享锁</em>:小明和小胖是好朋友,有一天他们俩得到了一份纸质版且纸比较破武功秘籍,为了让这份武功秘籍不再丢失什么内容,于是就用一个玻璃盒子存储起来。        这时候小胖提议在盒子上加了一把锁,保护好里面的内容不被破坏。        加上锁之后,大家都能看,但是不能修改,难度增大了!大家都看到你们加锁了,并且这东西是免费的,所以我也要加锁,于是        这秘籍的外表框...
悲观锁乐观锁区别及使用场景
<em>悲观锁</em> 每次读取数据的时候,都会担心数据被修改,所以每次查询数据的时候都会加锁,确保自己在读取数据的时候不会被别人修改。使用完成后对数据经行解锁,由于数据经行加锁,期间对该数据进行读写的其他线程都会进行等待。 <em>乐观锁</em> 每次获取数据的时候,都不会担心数据被修改,所以每次获取数据的时候都不会进行加锁。但是在更新数据的时候需要判断该数据是否被别人修改过。如果数据被其他线程修改,则不进行...
Oracle的共享锁排它锁
oracle有两种模式的锁:排他锁(exclusive lock,即X锁)和<em>共享锁</em>(share lock,即S锁)。 <em>共享锁</em>:如果事务T对数据A加上<em>共享锁</em>后,则其他事务只能对A再加<em>共享锁</em>,不能加排他锁。获准<em>共享锁</em>的事务只能读数据,不能修改数据。 排他锁:如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据。 数据库利用这两种基本的锁
redis的 悲观锁乐观锁区别
<em>悲观锁</em>(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 <em>乐观锁</em>(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改
老司机带大家领略MySQL中的乐观锁悲观锁
为什么需要锁在并发环境下,如果多个客户端访问同一条数据,此时就会产生数据不一致的问题,如何解决,通过加锁的机制,常见的有两种锁,<em>乐观锁</em>和<em>悲观锁</em>,可以在一定程度上解决并发访问。<em>乐观锁</em><em>乐观锁</em>,顾名思义,对加锁持有一种乐观的态度,即先进行业务操作,不到最后一步不进行加锁,&quot;乐观&quot;的认为加锁一定会成功的,在最后一步更新数据的时候在进行加锁,<em>乐观锁</em>的实现方式一般为每一条数据加一个版本号,具体流程是这样的: ...
共享锁(S锁)和排它锁(X锁)
<em>共享锁</em>【S锁】又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。排他锁【X锁】又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A,其他事务不能再对A加任何锁,直到T释放A上的锁。这保证了其他事务在T释放A上的锁之前不能再读取和修
【知识积累】共享锁和排他锁
<em>共享锁</em>,又称为读锁,获得<em>共享锁</em>之后,可以查看但无法修改和删除数据。 排他锁,又称为写锁、独占锁。获准排他锁后,既能读数据,又能修改数据。 为什么要加锁 很多人都知道,锁,是用来解决并发问题的,那么什么是并发问题呢?并发情况下,不加锁会有什么问题呢? 拿日常生活中的洗手间举例子,每个洗手间都会有一个门,并且是可以上锁的,当我们进入洗手间之后会把门反锁,当我们出来之后再把锁打开。 当门被锁上的时候...
什么是公平锁,非公平锁,递归锁,独占锁(写锁),共享锁(读锁),自旋锁?
1.公平锁,非公平锁 公平锁:就是很公平,在并发环境中,每个线程在获取时会先查看此锁维护的队列,如果为空,或者当前线程是等待队列的第一个就占有锁,否则就会加入到队列中,以后会按照FIFO的规则从队列中取到自己。 非公平锁:非公平锁比较粗鲁,上来就直接尝试占有锁,如果尝试失败,就再采用类似公平锁那种方式。 // 非公平锁 Lock lock = new ReentrantLock(); /...
线程安全、乐观锁悲观锁那点事
线程安全的方案:保证线程安全无非就三种方式 1.<em>悲观锁</em>同步,多线程挨个访问共享数据; 2.<em>乐观锁</em>控制+重试机制确保在更新数据时预期值和实际值一致,不一致则执行重试; 3.无锁方式,有些场景比较适合采用无锁方案,每个线程持有一份数据副本,互不干涉 下面详细介绍每种方案: 同步方案:保证共享变量在某一时刻只能被一个线程访问 sychronzied:在其修饰的代码块被编译后,代码块前后会加上...
数据库共享锁排它锁
<em>共享锁</em>:如果事务T对数据A加上<em>共享锁</em>后,则其他事务只能对A再加<em>共享锁</em>,不能加排他锁。获准<em>共享锁</em>的事务只能读数据,不能修改数据。 排他锁:如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的封锁。获准排他锁的事务既能读数据,又能修改数据。 简要说明为什么会发生死锁?解决死锁的主要方法是什么? 若干事务相互等待释放封锁,就陷入无限期等待状态,系统就进入死锁 解决死锁的方法应从预防和解除的
共享锁排它锁
锁的出现 由于并发的存在导致数据的不一致性,而锁的出现就是在某一个操作的过程中禁止某些操作,在一段时间之内来避免这种数据的不一致性。 数据不一致 脏读: 脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效的。 丢失更新 丢失更新是指在数据库访问中,由于事务T1在提交、撤销时覆盖了事...
读写锁,乐观锁悲观锁
保证数据安全,处理多用户并发访问。 <em>悲观锁</em>,锁如其名,他对世界是悲观的,他认为别人访问正在改变的数据的概率是很高的,所以从数据开始更改时就将数据锁住,知道更改完成才释放。 <em>乐观锁</em>,他对世界比较乐观,认为别人访问正在改变的数据的概率是很低的,所以直到修改完成准备提交所做的的修改到数据库的时候才会将数据锁住。完成更改后释放。 <em>悲观锁</em>会造成访问数据库时间较长,并发性不好,特别是长事务。 读写锁特...
基于redis的悲观锁实现
参考:http://www.waydos.com/post/pessimism-lock-in-redis/ http://blog.csdn.net/buqutianya/article/details/50760759
Oracle学习之共享锁和排他锁
<em>共享锁</em>: 在执行DML命令时,Oracle将隐含的“锁定”受到影响的行,所以其他用户不能更改同一行,这是一个“表锁”。其他用户仍然可以查看存储在表中的数据,不过它禁止任何人更改表的结构或执行其他类型的DDL操作,因此这个锁是一个“<em>共享锁</em>”。 排他锁: 在执行DDL操作时,Oracle将在表中放置一个“排他锁”,这样其他用户就不能更改表,也不能尝试添加或更改新表的内容。如果一个表中存在
MySql悲观锁乐观锁的使用
    现在我有一个购买商品的需求,我们知道当我们购买商品时,后台会进行减库存和增加购买记录的操作。我们分别在无锁和<em>乐观锁</em>和<em>悲观锁</em>进行相应的代码演示来说明问题。    建表语句如下:CREATE TABLE `stock` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT...
经典问题之乐观锁悲观锁及使用场景
<em>悲观锁</em> <em>悲观锁</em>(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。 <em>悲观锁</em>:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。 Java synchronized 就属于<em>悲观锁</em>的一种实现,每次线程要修改数据时都先获得锁,保证同一时刻只有一个线程能操作数据,其他线程则...
乐观锁悲观锁详解
一、为什么需要锁(并发控制)?     1、在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突,这就是著名的并发性问题,为了解决并发性冲突问题,通常就会用到锁。典型的冲突有以下两种:         a)、丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。         b)、
浅谈乐观锁悲观锁
        在数据库中经常会遇到高并发下的数据更新冲突问题,一般数据库都采取锁机制来避免这种数据冲突,按照策略一般一般分为两种:1、<em>悲观锁</em>;2、<em>乐观锁</em>。下面即是这两种锁的概念。         <em>悲观锁</em>( Pessimistic Locking ) ,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自 外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处...
call 测试工具下载
做外挂的朋友都知道,最关键的不是写代码,而是找游戏关键call,这里有个招call工具,帮助大家快速找到关键call,首先生命,这是引用的别人的。不是我写的。 只为了大家方便。。。 相关下载链接:[url=//download.csdn.net/download/stabgever/2004392?utm_source=bbsseo]//download.csdn.net/download/stabgever/2004392?utm_source=bbsseo[/url]
水晶易表连接SqlServer数据库下载
水晶易表通过asp连接SqlServer数据库。英文版。很好很强大 相关下载链接:[url=//download.csdn.net/download/ZHANGDADA147/2132118?utm_source=bbsseo]//download.csdn.net/download/ZHANGDADA147/2132118?utm_source=bbsseo[/url]
Flex4 spring整合实例下载
Flex4 spring整合实例,采用了spring-flex-1.0.3.RELEASE-with-dependencies包 相关下载链接:[url=//download.csdn.net/download/qiangjishen/2183598?utm_source=bbsseo]//download.csdn.net/download/qiangjishen/2183598?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 关于大数据培训 关于云计算
我们是很有底线的