Hexo


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

redis相关问题剖析

发表于 2020-07-05 | 分类于 redis
字数统计: 16.4k | 阅读时长 ≈ 59
[TOC] Redis 学习笔记初识 RedisRedis 是一种基于键值对的 NoSQL 数据库,Redis 中的值可以是由 string、hash、list、set、zset 等多种数据结构和算法组成,因此 Redis 可以满足很多应用场景。Redis 将所有数据都存放在内存中,所以它的读写能力 ...
阅读全文 »

跳跃表

发表于 2020-07-05 | 分类于 redis
字数统计: 551 | 阅读时长 ≈ 1
[TOC] [TOC] 跳跃表跳跃表是基于多指针有序链表实现的,可以看成多个有序链表。上层结点都有指向下层结点的指针,从上往下每一层链表节点数递减。比如第一层有两个,第二层有四个,以此类推。 插入看懂了跳跃表的数据结构,那么就很容易理解节点的插入操作了,基本上两步操作就可以实现:在最底层的数据链表 ...
阅读全文 »

sql相关

发表于 2020-07-05 | 分类于 mysql
字数统计: 261 | 阅读时长 ≈ 1
[TOC] 左连接和内联的区别左连接:左边有的,右边没有的为null 右连接:左边没有的,右边有的为null 内连接:显示左边右边共有的 左连接 内连接 右连接 like和in关键字LIKE: 当无法确切知道所要查找的值,而是知道所要查找的数据符合的模式时,可以使用LIKE 子句进行匹配。 ...
阅读全文 »

一条SQL查询语句的执行过程

发表于 2020-07-05 | 分类于 mysql
字数统计: 2.6k | 阅读时长 ≈ 9
[TOC] 输入下面一条SQL语句,我们来分析下这条语句在MySQL内部的执行过程。 1mysql> select * from T where ID=10; 体来说,MySQL 可以分为 Server 层和存储引擎两部分。 Server 层包括:连接器、查询缓存、分析器、优化器、执行器等 ...
阅读全文 »

隔离级别serilizable

发表于 2020-07-05 | 分类于 mysql
字数统计: 80 | 阅读时长 ≈ 1
[TOC] 如何实现的在SERIALIZABLE级别下,不会使用mysql的mvcc机制,而是在每一个select请求下获得读锁,在每一个update操作下尝试获得写锁。 对于insert、update、delete,InnoDB会自动给涉及的数据加写锁;对于一般的Select语句,InnoDB不会 ...
阅读全文 »

分布式锁

发表于 2020-07-04 | 分类于 分布式
字数统计: 590 | 阅读时长 ≈ 2
[TOC] 1.使用互斥锁(mutex key)业界比较常用的做法,是使用mutex。简单地来说。 SETNX,是「SET if Not eXists」的缩写,也就是只有不存在的时候才设置,可以利用它来实现锁的效果。 1234567891011121314151617181920public Str ...
阅读全文 »

ZGC和Shenandoah

发表于 2020-07-04 | 分类于 Java虚拟机
字数统计: 635 | 阅读时长 ≈ 2
[TOC] ZGCZGC几乎在所有地方并发执行的,除了初始标记的是STW的。所以停顿时间几乎就耗费在初始标记上,这部分的实际是非常少的。那么其他阶段是怎么做到可以并发执行的呢? ZGC主要新增了两项技术,一个是着色指针Colored Pointer,另一个是读屏障Load Barrier。 着色指针 ...
阅读全文 »

IO多路复用

发表于 2020-07-04 | 分类于 Java基础
字数统计: 3.5k | 阅读时长 ≈ 12
[TOC] 定义对于socket流而言,数据的流向经历两个阶段: 第一步通常涉及等待网络上的数据分组到达,然后被复制到内核的某个缓冲区。 第二步把数据从内核缓冲区复制到应用进程缓冲区。 recvfrom() 用于接收 Socket 传来的数据,并复制到应用进程的缓冲区 buf 中 阻塞IO应用进 ...
阅读全文 »

公平锁和非公平锁

发表于 2020-07-04 | 分类于 Java基础
字数统计: 263 | 阅读时长 ≈ 1
[TOC] 公平锁:多个线程按照申请锁的顺序去获得锁,线程会直接进入队列去排队,永远都是队列的第一位才能得到锁。 优点:所有的线程都能得到资源,不会饿死在队列中。 缺点:吞吐量会下降很多,队列里面除了第一个线程,其他的线程都会阻塞,cpu唤醒阻塞线程的开销会很大。 非公平锁:多个线程去获取锁的时 ...
阅读全文 »

对象头由什么构成

发表于 2020-07-04 | 分类于 Java基础
字数统计: 239 | 阅读时长 ≈ 1
[TOC] 对象布局 在JVM中,对象在内存中的布局分为3块: 对象头Mark Word主要用于储存对象自身的运行时数据,例如对象的hashCode、GC分代年龄、锁状态标志、线程持有的锁、偏向线程的ID、偏向时间戳 类型指针而类型指针用于标识JVM通过这个指针来确定这个对象是哪个类的实例。 实例 ...
阅读全文 »
<i class="fa fa-angle-left"></i>1…242526…32<i class="fa fa-angle-right"></i>
John Doe

John Doe

313 日志
43 分类
5 标签
© 2022 John Doe
博客全站共676.6k字