<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_49281137的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_49281137</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_49281137]]></copyright><item><title><![CDATA[自定义业务异常]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/121101543</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/121101543</guid><author>qq_49281137</author><pubDate>Tue, 02 Nov 2021 15:44:06 +0800</pubDate><description><![CDATA[文章目录一、继承RuntimeException二、自定义异常常量测试总结


在开发项目的工程中，经常需要定义属于自己系统的业务异常,所以这里做一个记录分享。
一、继承RuntimeException
maven依赖：
   &lt;parent&gt;
        &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;
        &lt;artifactId&gt;spring-boot-starter-parent&lt;/artifa]]></description><category></category></item><item><title><![CDATA[RabbitMQ快速入门]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/120668562</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/120668562</guid><author>qq_49281137</author><pubDate>Wed, 13 Oct 2021 12:52:01 +0800</pubDate><description><![CDATA[文章目录MQ的基本概念1.1 MQ概述1.2 MQ优势1.2.1 应用解耦1.2.2 异步提速二、使用步骤1.引入库2.读入数据
MQ的基本概念
1.1 MQ概述
MQ全称 Message Queue（消息队列），是在消息的传输过程中保存消息的容器。多用于分布式系统之间进行通信
我们从A系统调用B系统直接远程调用，这样虽然简单调用但也有局限性，例如系统过度耦合、同步请求过慢、流量的高峰因此MQ也顺应而生。


1.2 MQ优势
MQ的三大主要作用： 应用解耦、异步提速、流量削锋
1.2.1 应用解耦
系统的]]></description><category></category></item><item><title><![CDATA[zookeeper详解]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/119927787</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/119927787</guid><author>qq_49281137</author><pubDate>Mon, 30 Aug 2021 16:18:07 +0800</pubDate><description><![CDATA[学习了zookeeper的特性与节点的数据类型，这里记录一下学习笔记，有错误，还望指出。
文章目录前言一、pandas是什么？二、使用步骤1.引入库2.读入数据总结


前言
提示：这里可以添加本文要记录的大概内容：
例如：随着人工智能的不断发展，机器学习这门技术也越来越重要，很多人都开启了学习机器学习，本文就介绍了机器学习的基础内容。

提示：以下是本篇文章正文内容，下面案例可供参考
一、pandas是什么？
示例：pandas 是基于NumPy 的一种工具，该工具是为了解决数据分析任务而创建的。
二、使]]></description><category></category></item><item><title><![CDATA[Redis核心数据结构与高性能原因]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/115670189</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/115670189</guid><author>qq_49281137</author><pubDate>Wed, 25 Aug 2021 16:40:31 +0800</pubDate><description><![CDATA[学习了Redis的五大核心数据结构及它高性能的原理，这里记录一下学习笔记，有错误，还望指出。
文章目录Redis的单线程和高性能Redis是单线程吗？Redis 单线程为什么还能这么快？Redis 单线程如何处理那么多的并发客户端连接？Redis核心数据结构String 结构Hash结构List结构Set结构Zset结构

Redis的单线程和高性能

Redis是单线程吗？
Redis 的单线程主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的，这也是 Redis 对外提供键值存储服务的]]></description><category></category></item><item><title><![CDATA[ScheduledThreadPoolExecutor原理分析]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/114148748</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/114148748</guid><author>qq_49281137</author><pubDate>Mon, 08 Mar 2021 03:53:15 +0800</pubDate><description><![CDATA[今天学习了cheduledThreadPoolExecutor线程池，这里记录一下学习笔记，有错误，还望指出。
文章目录ScheduledThreadPoolExecutor类分析提交任务的方式SchduledFutureTaskSchduledFutureTask之run方法实现reExecutePeriodic方法线程池任务的提交任务提交方法二、使用步骤1.引入库2.读入数据
ScheduledThreadPoolExecutor类分析
定时线程池类的类结构图

它用来处理延时任务或定时任务。

提交任]]></description><category></category></item><item><title><![CDATA[HashMap原理分析]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/114323974</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/114323974</guid><author>qq_49281137</author><pubDate>Wed, 03 Mar 2021 17:08:54 +0800</pubDate><description><![CDATA[今天学习了HashMap数据结构，这里记录一下学习笔记，有错误，还望指出。
文章目录前言HashMap重要成员变量为什么说默认初始容量必须是2的指数幂？为什么一定要转成2的指数次幂？Hash计算index采用位运算hash扩容，有个加载因子？loadfactor = 0.75为什么是0.75容量&gt;=64才会链表转红黑树，否则优先扩容。为什么链表长度&gt;8,链表9的时候转红黑树？扩容死锁问题分析Jdk7-扩容Jdk8-扩容


前言
大家都知道HashMap在JDK1.7和1.8中数据结构发生了比较]]></description><category></category></item><item><title><![CDATA[Executor线程池原理分析]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/113992941</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/113992941</guid><author>qq_49281137</author><pubDate>Wed, 24 Feb 2021 02:41:10 +0800</pubDate><description><![CDATA[今天学习了Executor线程池，这里记录一下学习笔记，有错误，还望指出。
文章目录线程协程线程池线程池介绍线程池优势线程的实现方式Executor框架线程池重点属性ctl相关方法线程池存在5种状态ThreadPoolExecutor参数解释线程池监控线程池原理流程分析execute方法addWorker方法Worker类runWorker方法getTask方法processWorkerExit方法总结

线程
线程是调度CPU资源的最小单位，线程模型分为KLT模型与ULT模型，JVM使用的KLT模型，在操]]></description><category></category></item><item><title><![CDATA[CopyOnWrite机制]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/113959076</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/113959076</guid><author>qq_49281137</author><pubDate>Tue, 23 Feb 2021 01:11:24 +0800</pubDate><description><![CDATA[前言
CopyOnWrite机制它的核心思想：读写分离，空间换时间，避免为保证并发安全导致的激烈的锁竞争。
划关键点：

CopyOnWrite适用于读多写少的情况，最大程度的提高读的效率；
CopyOnWrite是最终一致性，在写的过程中，原有的读的数据是不会发生更新的，只有新的读 才能读到最新数据；
如何使其他线程能够及时读到新的数据，需要使用volatile变量；
写的时候不能并发写，需要对写操作进行加锁；


二、使用步骤
/**
     * Appends the]]></description><category></category></item><item><title><![CDATA[ConcurrentHashMap原理分析]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/113926852</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/113926852</guid><author>qq_49281137</author><pubDate>Mon, 22 Feb 2021 22:03:22 +0800</pubDate><description><![CDATA[学习了ConcurrentHashMap数据结构，这里记录一下学习笔记，有错误，还望指出。
文章目录前言数据结构重要成员变量并发安全控制协助扩容helpTransfer扩容transfer总结


前言
之前讲了HashMap在jdk1.7和1.8的区别，那么ConcurrentHashMap在两个版本下也同样有着区别和优化的地方。
数据结构
ConcurrentHashMap的数据结构与HashMap基本类似，区别在于有两点：

内部在数据 写入时加了同步机制(分段锁)保证线程安全，读操作是无锁操作；
扩]]></description><category></category></item><item><title><![CDATA[Atomic类和Unsafe魔法类]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/113525830</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/113525830</guid><author>qq_49281137</author><pubDate>Thu, 18 Feb 2021 21:22:27 +0800</pubDate><description><![CDATA[今天学习了Atomic类和Unsafe魔法类，这里记录一下学习笔记，有错误，还望指出。

文章目录原子操作CPU如何实现原子操作处理器自动保证基本内存操作的原子性1. 使用总线锁保证原子性2. 使用总线锁保证原子性Java当中如何实现原子操作Atomic1、原子更新基本类型类2、原子更新数组类3、原子更新引用类型4、原子更新字段类Unsafe应用解析Unsafe功能介绍1、内存操作2、CAS相关3、线程调度4、内存屏障总结


原子操作
原子（atom）本意是“不能被进一步分割的最小粒子”，而原子操作（at]]></description><category></category></item><item><title><![CDATA[JVM内置锁synchronized]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/112211273</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/112211273</guid><author>qq_49281137</author><pubDate>Wed, 06 Jan 2021 00:42:30 +0800</pubDate><description><![CDATA[今天学习了CPU缓存一致性协议MESI,这里记录一下学习笔记，有错误，还望指出。

文章目录设计同步器的意义如何解决线程并发安全问题？synchronized原理synchronized底层原理Monitor监视器锁什么是monitor？对象的内存布局对象头对象头分析工具锁的膨胀升级过程偏向锁轻量级锁自旋锁锁消除逃逸分析
设计同步器的意义
多线程编程中，有可能会出现多个线程同时访问同一个共享、可变资源的情况，这个资源我们称之其为临界资源；这种资源可能是： 对象、变量、文件等。

共享：资源可以由多个线程同时]]></description><category></category></item><item><title><![CDATA[CPU缓存一致性协议MESI]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/112166322</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/112166322</guid><author>qq_49281137</author><pubDate>Tue, 05 Jan 2021 00:48:37 +0800</pubDate><description><![CDATA[今天学习了CPU缓存一致性协议MESI,这里记录一下学习笔记，有错误，还望指出。

提示：写完文章后，目录可以自动生成，如何生成可参考右边的帮助文档
文章目录前言一、pandas是什么？二、使用步骤1.引入库2.读入数据总结


前言
提示：这里可以添加本文要记录的大概内容：
例如：随着人工智能的不断发展，机器学习这门技术也越来越重要，很多人都开启了学习机器学习，本文就介绍了机器学习的基础内容。

提示：以下是本篇文章正文内容，下面案例可供参考
一、pandas是什么？
示例：pandas 是基于NumPy]]></description><category></category></item><item><title><![CDATA[操作系统底层工作的认识]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/111475462</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/111475462</guid><author>qq_49281137</author><pubDate>Tue, 22 Dec 2020 13:34:41 +0800</pubDate><description><![CDATA[冯诺依曼计算机模型计算机五大核心组成部分CPU指令结构CPU缓存结构CPU读取存储器数据过程CPU高速缓存CPU运行安全等级内存管理执行空间保护进程与线程虚拟机指令集架构栈指令集架构寄存器指令集架构


冯诺依曼计算机模型
计算机发展至今它最初的样子就是如此吗，并不是它是正式基于-冯诺依曼计算机模型发展而来的。
计算机在运行时，先从内存中取出第一条指令，通过控制器的译码，按指令的要求，从存储器中取出数据进行指定的运算和逻辑操作等加工，然后再按地址把结果送到内存中去。接下来，再取出第二条指令，在控制器]]></description><category></category></item><item><title><![CDATA[MVCC与BufferPool缓存机制]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/110870612</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/110870612</guid><author>qq_49281137</author><pubDate>Tue, 08 Dec 2020 20:14:50 +0800</pubDate><description><![CDATA[今天学习了MVCC与BufferPool缓存机制，这里记录一下学习笔记，有错误，还望指出。
文章目录系列文章目录MVCC多版本并发控制机制undo日志版本链与read view机制Innodb引擎SQL执行的BufferPool缓存


MVCC多版本并发控制机制
Mysql在可重复读隔离级别下如何保证事务较高的隔离性，我们上节课给大家演示过，同样的sql查询语句在一个事务 里多次执行查询结果相同，就算其它事务对数据有修改也不会影响当前事务sql语句的查询结果。 这个隔离性就是靠MVCC(Mu]]></description><category></category></item><item><title><![CDATA[Mysql锁与事务隔离级别]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/110789426</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/110789426</guid><author>qq_49281137</author><pubDate>Mon, 07 Dec 2020 02:05:33 +0800</pubDate><description><![CDATA[今天学习了Mysql锁与事务隔离级别，这里记录一下学习笔记，有错误，还望指出。
文章目录概述事务及其ACID属性并发事务处理带来的问题事务隔离级别锁详解锁分类表锁行锁行锁与事务隔离级别分析读未提交读已提交可重复读


概述
我们的数据库一般都会并发执行多个事务，多个事务可能会并发的对相同的一批数据进行增删改查操作，可能 就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。
这些问题的本质都是数据库的多事务并发问题，为了解决多事务并发问题，数据库设计了事务隔离机制、锁机制、MVCC多版本并发控制隔离机制，用]]></description><category></category></item><item><title><![CDATA[Mysql索引优化（二）]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/110476363</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/110476363</guid><author>qq_49281137</author><pubDate>Thu, 03 Dec 2020 11:51:03 +0800</pubDate><description><![CDATA[今天学习了Mysql索引的优化这是第二篇，这里记录一下学习笔记，有错误，还望指出。

文章目录分页查询优化1、根据自增且连续的主键排序的分页查询2、根据非主键字段排序的分页查询Join关联查询优化1、 嵌套循环连接 Nested-Loop Join(NLJ) 算法2、 基于块的嵌套循环连接 Block Nested-Loop Join(BNL)算法count(*)查询优化MySQL数据类型选择1、数值类型2、日期和时间3、字符串
提示：这里可以添加本文要记录的大概内容：
例如：随着人工智能的不断发展，机器学]]></description><category></category></item><item><title><![CDATA[Mysql索引优化（一）]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/110441250</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/110441250</guid><author>qq_49281137</author><pubDate>Wed, 02 Dec 2020 02:04:52 +0800</pubDate><description><![CDATA[今天学习了Mysql索引的优化这是第一篇后续还有第二篇，这里记录一下学习笔记，有错误，还望指出。
文章目录前言综合例子1、联合索引第一个字段用范围不会走索引2、强制走索引3、覆盖索引优化4、in和or在表数据量比较大的情况会走索引，在表记录不多的情况下会选择全表扫描5、like KK% 一般情况都会走索引什么是索引下推了？为什么范围查找Mysql没有用索引下推优化？Mysql如何选择合适的索引trace工具常见sql深入优化Order by与Group by优化优化总结：Using filesort文件排序]]></description><category></category></item><item><title><![CDATA[一条SQL在MySQL中是如何执行的]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/110228034</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/110228034</guid><author>qq_49281137</author><pubDate>Mon, 30 Nov 2020 00:23:10 +0800</pubDate><description><![CDATA[今天学习了sql语句在mysql中的执行流程，包括sql的查询在mysql内部会怎么流转，sql语句的更新是怎么完成的，这里记录一下学习笔记，有错误，还望指出。
文章目录前言一、pandas是什么？二、使用步骤1.引入库2.读入数据总结


前言
提示：这里可以添加本文要记录的大概内容：
例如：随着人工智能的不断发展，机器学习这门技术也越来越重要，很多人都开启了学习机器学习，本文就介绍了机器学习的基础内容。

提示：以下是本篇文章正文内容，下面案例可供参考
一、pandas是什么？
示例：pandas 是基]]></description><category></category></item><item><title><![CDATA[Explain详解与索引最佳实践]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/110137838</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/110137838</guid><author>qq_49281137</author><pubDate>Wed, 25 Nov 2020 23:09:07 +0800</pubDate><description><![CDATA[文章目录前言Explain是什么？Explain 两个变种Explain中的列总结


前言
在日常工作中，我们会有时会开慢查询去记录一些执行时间比较久的SQL语句，找出这些SQL语句并不意味着完事了，些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划，查看该SQL语句有没有使用上了索引，有没有做全表扫描，这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器，还可以获得很多可能被优化器考虑到的访问策略的细节，以及当运行SQL语句时哪种策略预计会被优化器采用]]></description><category></category></item><item><title><![CDATA[Mysql索引底层数据结构与算法]]></title><link>https://blog.youkuaiyun.com/qq_49281137/article/details/109918315</link><guid>https://blog.youkuaiyun.com/qq_49281137/article/details/109918315</guid><author>qq_49281137</author><pubDate>Mon, 23 Nov 2020 17:04:39 +0800</pubDate><description><![CDATA[学习了Mysql的索引底层数据结构与算法为大家分享一下，现在把学习笔记总结记录一下，如果记录有些错误，还望指出。
文章目录首先为提出一个问题并引入几个概念：Mysql底层是采用的什么索引结构？什么是索引？什么是I/O？什么是数据页？聚簇索引（聚集索引）？非聚簇索引（非聚集索引）？索引数据结构1.二叉树2.红黑树3.Hash表4.B-Tree5.B+Tree(B-Tree变种)存储引擎的区别？为什么建议InnoDB表必须建主键，并且推荐使用整型的自增主键？联合索引


首先为提出一个问题并引入几个概念：
My]]></description><category></category></item></channel></rss>