自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 mysql中的锁类型(全)

mysql中的锁类型行锁记录锁:标准的行锁间隙锁:在RR这个级别下,为了避免幻读,引入了间隙锁,他锁定的是记录范围,不包含记录本身,也就是不允许在范围内插入数据。第一步把teacher表的id的4改成8事务一:begin;select * from teacher where id < 6 lock in share mode;事务二:begin;insert into teacher values (5,'zhangnan','T888888');发现卡住了,因为他

2022-04-13 17:31:40 890

原创 令牌桶和漏牌桶

参考:https://www.cnblogs.com/xuwc/p/9123078.html令牌桶令牌桶算法(Token Bucket):是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的一种算法。典型情况下,令牌桶算法用来控制发送到网络上的数据的数目,并允许突发数据的发送。**算法思路:**令牌桶会以一定的速率生产令牌,直至装满。请求过来时先获取令牌,获取到的请求后台会接收并处理。没有获取到的请求会被抛弃,并返回429错误。漏牌桶漏桶算法(Le

2022-03-23 20:14:19 2747

原创 try-catch-finally-return的执行优先级

try-catch-finally-return的执行优先级有异常时try { System.out.println(1); int i = 1/0; return 1;} catch (Exception e) { e.printStackTrace(); System.out.println(2); return 2;} finally { System.out.println(3); return 3;}return 4;

2021-12-17 20:58:54 330

原创 synchronized锁升级过程

synchronized锁升级过程线程在获取锁的时候,实际上就是获得一个监视器对象(monitor) ,monitor 可以认为是一个同步对象,所有的Java 对象是天生携带monitor。synchronized同步块使用了monitorenter和monitorexit指令实现同步,这两个指令,本质上都是对一个对象的监视器(monitor)进行获取,这个过程是【排他】的,也就是说同一时刻只能有一个线程获取到由synchronized所保护对象的监视器。接下来我们从对象头信息中发现一些锁的信息对

2021-12-14 09:56:44 310

原创 HashMap的源码解读

HashMap 的一种数据集合类型,它存储的是键值对,jdk1.8前后hashmap是有所改变的,1.8之前用的数据结构是数组 + 链表,1.8之后用的数据结构是数组 + 链表 + 红黑树,红黑树的引入是为了提高它的查询效率,链表的查询效率是O(n),而红黑树的查询效率是O(logn),1.8之前如果发生哈希碰撞采用的是头插法,1.8之后发生哈希碰撞采用尾插法,因为头插法在多线程的情况下会出现循环链表。由于HashMap线程不安全的,一般在多线程的情况下一般采用线程安全的 CurrentHashMap

2021-11-03 10:36:00 162 1

原创 十大排序方法

十大排序方法1、冒泡排序/** * @author Honey * @date 2021/8/8 */public class BubbleSort { public static void main(String[] args) { int[] a = {1, 6, 5, 3, 13, 7, 11, 9}; // 接下来三个方法任选一个来进行排序,要注掉两个 sort(a); sortArray(a,a.length-

2021-09-20 23:47:12 210 2

原创 mysql的存储引擎

mysql的存储引擎一、MySQL常用存储引擎及特点1、InnoDB存储引擎从MySQL5.5版本之后,MySQL的默认内置存储引擎已经是InnoDB了,他的主要特点有:(1)支持事务。默认的事务隔离级别为可重复度,通过MVCC(并发版本控制)来实现的。(2)使用的锁粒度为行级锁,可以支持更高的并发;(3)支持外键;(4)在InnoDB中存在着缓冲管理,通过缓冲池,将索引和数据全部缓存起来,加快查询的速度;(5)对于InnoDB类型的表,其数据的物理组织形式是聚簇表。所有的数据按照主键来组织

2021-07-30 15:08:42 105

原创 mysql锁机制

mysql锁机制数据库锁机制简单来说,就是数据库为了保证数据的一致性,使各种共享资源在被访问时变得有序而设计的一种规则。MysQL的锁机制比较简单最著的特点是不同的存储引擎支持不同的锁机制。 InoDB支持行锁,(有时也会升级为表锁)MyISAM只支持表锁。表锁的特点就是开销小、加锁快,不会出现死锁。锁粒度大,发生锁冲突的概率小,并发度相对低。行锁的特点就是开销大、加锁慢,会出现死锁。锁粒度小,发生锁冲突的概率高,并发度搞。1、InnoDB行锁的种类(1)记录锁不加索引,两个事务修改同一

2021-07-30 14:46:25 119

原创 事务的总结

事务的总结1、事务简介在mysql中只有使用InnoDB数据库引擎的的数据库才支持事务。事务是用来管理可以改变数据库数据的语句,增删改的语句。2、事务的四大特性(1)原子性一个事物的所有操作,要么全部完成,要么全部不完成。如果一个事物在执行过程中发生错误,钙食物会被回滚到事务开始状态。(2)一致性写入数据库的数据必须完全符合所有的预设规则。(3)隔离性数据库允许多个事务同时对其数据进行读写和修改的能力,他可以防止多个事务并发执行时有交叉执行而导致数据不一致。有四个级别,见下面。(4

2021-07-30 11:40:06 106

原创 mysql索引总结

mysql索引总结一、mysql数据结构选型在数据库文件存储在磁盘时,为了提升查询效率,一定会选用合适的数据结构进行文件的存储1、数组和链表肯定不能选,这种最基本的数据结构,各自的劣势太明显。2、hash类似与咱们的hashmap, 速度快,但是只要是hash就会产生无序的问题,所以不常用但也有。3、树看来看去也就是树这种结构比较合理了。二叉查找树可以吗?在查找一个数据时,二叉树是读取根节点,小则从左找,大则从右找,每次读取一个数据。没有办法合理的利用局部性原理与磁盘预读,IO次数太多

2021-07-29 21:37:35 252

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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