自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xue的博客

记录学习过程

  • 博客(9)
  • 收藏
  • 关注

原创 Redis初识

对于简单的分布式实现,例如抢购商品,同时多个线程执行,利用SETNX product:10001,第一个抢到资源的,进行下步操作。INCRBY orderId 1000 //redis批量生成序列号提升性能,一次性多拿一些ID,在本机实现内存++SETNX product:10001 true //返回1代表获取锁成功。SETNX product:10001 true //返回0代表获取锁失败。Stack(栈) = LPUSH + LPOP = 特点先进后出(FILO)

2023-11-21 18:51:55 47

原创 深入理解并发、线程与等待通知机制

​ 为什么用户线程又被称为协程呢?我们知道,内核线程的切换开销是来自于 保护和恢复现场的成本, 那如果改为采用用户线程, 这部分开销就能够省略掉 吗?答案还是“不能”。但是,一旦把保护、恢复现场及调度的工作从操作系 统交到程序员手上,则可以通过很多手段来缩减这些开销。

2023-10-09 17:45:50 72

原创 JVM对象创建与内存分配深度剖析

对象头的另外一部分 是类型指针,即对象指向它的类元数据的指针,虚拟机通过这个指针来确定这个对象是哪个类的实例。如果Java堆中的内存并不是规整的,已使用的内存和空 闲的内存相互交错,那就没有办法简单地进行指针碰撞了,虚拟 机就必须维护一个列表,记 录上哪些内存块是可用的,在分配的时候从列表中找到一块足够大的空间划分给对象实例, 并更新列表上的记录。​ 初始化零值之后,虚拟机要对对象进行必要的设置,例如这个对象是哪个类的实例、如何才能找到类的元数据信息、对象的哈希码、对象的GC分代年龄等信息。

2023-10-03 17:38:37 42

原创 从JDK源码级别彻底剖析JVM类加载机制

Java 中的类加载器是由 JVM 运行时动态加载的,程序员通常无需直接操作类加载器。不过在一些特殊的情况下,我们可能需要使用自定义的类加载器来实现一些特殊的需求,比如实现热部署功能,从非标准的文件系统、数据库、网络等地方加载类文件。自定义 JVM 类加载器的一般步骤如下:1、定义自定义类加载器,一般需要继承 java.lang.ClassLoader 类,并实现 findClass() 方法来加载指定的类。2、在程序中通过自定义类加载器来加载指定的类。

2023-09-29 13:06:35 38

原创 Mysql锁机制以及MVCC底层原理

在数据库中,除了传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供需要用户共享的 资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库 并发访问性能的一个重要因素。

2023-09-18 19:19:55 26

原创 数据库事务概述

我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增 删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。这些问题的本质都是数据库的多事务并发问题,为了解决多事务并发问题,数据库设计了事 务隔离机制、锁机制、MVCC多版本并发控制隔离机制、日志机制,用一整套机制来解决多 事务并发问题。接下来的,我们会深入讲解这些机制,让大家彻底理解数据库内部的执行原理。把多条语句作为一个整体进行操作的功能,被称为数据库事务。

2023-09-18 02:48:37 106

原创 MySQL索引优化实战

Mysql如何选择合适的索引?对于不同SQL的执行结果,mysql最终是否选择走索引或者一张表涉及多个索引,mysql最终如何选择索引,我们可以用trace工具来一查究竟。开启 trace工具会影响mysql性能,所以只能临时分析sql使用,用完之后需要立即关闭-- 开启trace工具‐‐ 关闭trace工具"steps": ["join_preparation": { --第一阶段:SQL准备阶段,格式化sql"steps": [},

2023-09-12 16:20:25 157

原创 Explain工具详解-02

使用EXPLAIN关键字可以模拟优化器执行SQL语句

2023-09-09 16:35:50 61

原创 MySQL底层数据结构与算法-01

索引就是一种数据结构(排好序的数据结构),能帮助我们高效的获取数据,例如目录慢查询:在数据库当中执行时间较长的SQL语句,也称之为慢SQL创建索引的目的:为了减少磁盘I/O的次数,加快查询效率。

2023-09-06 23:06:28 137

空空如也

空空如也

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

TA关注的人

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