自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RabbitMQ快速实战与集群架构详解

Netty1. MQ介绍1.1 什么是MQ?为什么要用MQ?1.2 MQ的优缺点1.3 几大MQ产品特点比较2. Rabbitmq安装2.1 实验环境2.2 版本选择2.3 安装Erlang语言包2.4 安装RabbitMQ:3. RabbitMQ集群搭建3.1 搭建普通集群3.2 搭建镜像集群3.3 RabbitMQ基础使用本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。课程内容:1. MQ介绍1.1 什么是MQ?为什么要用MQ?MQ: MessageQueue,

2023-07-03 23:09:34 776 1

原创 1. Netty核心功能与线程模型详解

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。课程内容:01、Netty核心组件快速了解03、深入理解Channel、EventLoop(Group)04、深入理解EventLoop和EventLoopGroup05、ChannelHandler和它的适配器06、ChannelPipeline辨析07、ChannelHandlerContext辨析08、用Netty解决TCP粘包/半包09、Netty中的编解码器。

2023-07-01 22:24:53 326

原创 MySQL生产环境高可用架构实战

随着现在互联网的应用越来越大,数据库会频繁的成为整个应用的性能瓶颈。我们经常使用的MySQL数据库,也会不断面临数据量太大、数据访问太频繁、数据读写速度太快等一系2iP在增加MQ进行流量削峰等等。但定,o数据库,例如添加Redis缓存,增加MQ进行流量削峰等等。但是,数据库本身如果不能得到提升,这就相当于是水桶理论中的最短板。而要提升数据库的性能,一种思路,当然是对数据库本身进行优化,例如对MySQL进行优化配置,或者干脆换成ClickHouse这一类的针对大数据的产品。

2023-06-28 23:10:45 431

原创 2. MongoDB分片集群架构实战-----MongoDB分片集群和多文档事务详解

分片(shard)是指在将数据进行水平切分之后,将其存储到多个不同的服务器节点上的一种扩展方式。分片在概念上非常类似于应用开发中的“水平分表"。不同的点在于,MongoDB本身就自带了分片管理的能力,对于开发者来说可以做到开箱即用。为什么要使用分片?MongoDB复制集实现了数据的多副本复制及高可用,但是一个复制集能承载的容量和负载是有限的。在你遇到下面的场景时,就需要考虑使用分片了∶存储容量需求超出单机的磁盘容量。活跃的数据集超出单机内存容量,导致很多请求都要从磁盘读取数据,影响性能。

2023-06-28 12:27:11 1983

原创 centos7 安装Python3.9

【代码】centos7 安装Python3.9。

2023-06-28 12:10:47 291

原创 1. MongoDB快速实战与基本原理

MongoDB是一个文档数据库(以JSON为数据模型),由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。文档来自于“JSON Document”,并非我们一般理解的PDF,WORD文档。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,数据格式是BSON,一种类似JSON的二进制形式的存储格式,简称Binary JSON,和JSON一样支持内嵌的文档对象和数组对象,因此可以存储比较复杂的数据类型。

2023-06-26 11:44:33 1008

原创 7. Redis队列的实现方式与Redis Stream详解

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。8、面试灵魂8问:Redis 6为什么要改用多线程?5、解决Redis Stream的生产实践问题。2、什么是Redis Stream?7、Redis中的线程和IO模型详解。1、Redis中的消息队列那些事。3、操作Redis Stream。4、总结比较Redis队列的实现。6、网络通信中的线程和IO模型。

2023-06-25 20:16:50 769

原创 6. Redis缓存设计与性能优化

以上我们针对的都是读多写少的情况加入缓存提高性能,如果写多读多的情况又不能容忍缓存数据不一致,那就没必要加缓存了,可以直接操作数据库。当然,如果数据库抗不住压力,还可以把缓存作为数据读写的主存储,异步将数据同步到数据库,数据库只是作为数据的备份。放入缓存的数据应该是对实时性、一致性要求不是很高的数据。切记不要为了用缓存,同时又要保证绝对的一致性做大量的过度设计和控制,增加系统复杂性!

2023-06-25 12:04:03 396

原创 5. 一线大厂高并发缓存架构实战与性能优化

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。9、Redis分布式锁解决缓存与数据库双写不一致问题实战。12、利用多级缓存架构解决Redis线上集群缓存雪崩问题。3、实战解决大规模缓存击穿导致线上数据库压力暴增。6、一次大V直播带货导致线上商品系统崩溃原因分析。7、突发性热点缓存重建导致系统压力暴增问题分析。8、基于DCL机制解决热点缓存并发重建问题实战。4、黑客攻击导致缓存穿透线上数据库宕机Bug。5、一行代码解决线上缓存穿透问题。

2023-06-24 12:29:24 978 5

原创 4. Redis高并发分布式锁实战---大厂生产级Redis高并发分布式锁实战

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。7、从CAP角度剖析Redis与Zookeeper分布式锁区别。8、Redlock分布式锁原理与存在的问题分析。2、秒杀抢购场景下实战JVM级别锁与分布式锁。9、大促场景如何将分布式锁性能提升100倍。1、高并发场景秒杀抢购超卖Bug实战重现。3、大厂分布式锁Redisson框架实战。4、Lua脚本语言快速入门与使用注意事项。5、Redisson分布式锁源码剖析。6、Redis主从架构锁失效问题解析。

2023-06-19 23:16:36 896

原创 3. redis cluster集群运维与核心原理剖析

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。1、哨兵集群与Redis Cluster架构异同。4、Redis集群Master选举原理剖析。5、Redis集群脑裂问题剖析与解决。6、Redis集群水平扩缩容运维实战。3、Redis集群数据分片算法剖析。2、Redis高可用集群快速实战。

2023-06-14 23:13:28 717

原创 2. Redis持久化、主从哨兵架构详解

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。课程内容:1、RDB、AOF及混合持久化详解2、并行持久化之写时复制机制详解3、Redis主从架构原理详解4、Redis管道及lua脚本详解5、Redis哨兵高可用架构详解。

2023-06-09 22:31:35 678

原创 1. redis核心数据结构实战与高性能原理剖析

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。课程内容:1、Redis核心数据结构精讲2、微博与微信消息流Redis实现4、微博与微信朋友关注模型基于Redis实现5、电商购物车如何用Redis实现6、电商推荐系统如何用Redis实现7、Redis高性能核心原理剖析、Redis 6.0多线程模型初探redis安装步骤:https://blog.csdn.net/Ding_JunXia/article/details/131112871。

2023-06-08 23:15:24 146

原创 centos7换源

【代码】centos7换源。

2023-06-08 22:42:31 1628

原创 centos的7.0安装Redis

其实我之前是在ubuntu与windows都进行安装学习过,但是这次复习一下用centos进行安装一下。这个我尝试了很久没有下载下来,所以建议直接在windows下下载好,然后复制过去即可。我们是在centos的7.0以上版本。安装的是redis5.0版本。

2023-06-08 22:37:15 454

原创 9. GraalVM.云原生时代的Java虚拟机

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。课程内容:1、Java在云原生时代的困境及解决方案2、GraalIVM安装及入门3、使用GraalVM实战演练AOT4、惊现C2编译器BUG5、GraalVM编译器性能对比实战6、GraalVM与Spring6。

2023-06-07 21:41:35 737

原创 8. 让java性能提升的JIT深度解剖

所以JVM其实跟语言是解耦的,也就是没有直接关联,JVM运行不是翻译Java文件,而是识别class文件,这个一般称之为字节码。还有像Groovy 、Kotlin、Scala等等语言,它们其实也是编译成字节码,所以它们也可以在JVM上面跑,这个就是JVM的跨语言特征。Java程序在运行的时候,主要就是执行字节码指令,一般这些指令会按照顺序解释执行,这种就是解释执行。本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。6、JIT优化技术之标量替换与栈上分配。

2023-06-06 23:16:23 1289

原创 7. JVM调优实战及常量池详解

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。课程内容:1、阿里巴巴Arthas调优工具详解2、GC日志详解与调优分析3、Class常量池与运行时常量池详解4、字符串常量池与基本类型常量池详解。

2023-06-05 18:57:16 475

原创 6. JVM调优工具详解及调优实战

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。课程内容:1、Jmap,Jstack,Jinfo命令详解2、Jvisualvm调优工具实战3、JVM内存或CPU飙高如何快速定位4、Jstat命令预估JⅣVM运行情况5、系统频繁Full GC导致系统卡顿实战调优6、内存泄露到底是怎么回事。

2023-06-03 23:21:00 324

原创 5. 垃圾收集器G1&ZGC详解

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。2、每秒几十万并发的系统JVM级别如何优化。3、ZGC垃圾收集器详解。4、颜色指针与读屏障解读。5、安全点与安全区域详解。1、G1垃圾收集器详解。

2023-06-01 21:50:23 565

原创 4. 垃圾收集器ParNew&CMS底层三色标记算法详解

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。课程内容:1、垃圾收集算法详解2、垃圾收集器Serial&Parallel&ParNew&CMS详解3、亿级流量电商系统如何设置合适的垃圾收集器4、垃圾收集底层三色标记算法实现原理5、CMS并发清理阶段会误删新生成的对象吗6、从Hotspot源码级别讲透读写屏障彻底理解三色标记。

2023-05-31 23:04:29 586

原创 3. JVM对象创建与内存分配机制深度剖析

jdk1.6 update14开始,在64bit操作系统中,JVM支持指针压缩jvm配置参数:UseCompressedOops, compressed–压缩、 oop(ordinary object pointer)–对象指针启用指针压缩;默认开启),禁止指针压缩:-XX:-UseCompressedOops-XX:+UseCompressedOops 默认开启的压缩所有的指针。

2023-05-30 23:05:50 513

原创 2. JVM内存模型深度剖析与优化

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。1、JDK体系结构与跨平台特性介绍2、JVM内存模型深度剖析3、从jvisualvm来研究下对象内存流转模型4、讲透Gc Root与STW机制5、日均百万级订单交易系统JVM参数如何设置6、JVM参数设置通用模型。

2023-05-29 23:12:22 344

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

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。课程内容:1、从java.exe开始讲透Java类加载运行全过程2、从JDK源码级别剖析JVM核心类加载器3、从JDK源码级别剖析类加载双亲委派机制4、手写自定义类加载器打破双亲委派机制5、Tomcat类加载机制深度剖析6、手写Tomcat类加载器实现多版本代码共存隔离。

2023-05-27 22:42:33 683 4

原创 1. Tomcat整体架构及其设计精髓分析

tomcat:应用服务器+servlet容器server.xml开源的Java Web 应用服务器,实现了 Java EE(Java Platform Enterprise Edition)的部 分技术规范,比如 Java Servlet、JavaServer Pages、Java Expression Language、Java WebSocket等。Tomcat核心: Http服务器+Servlet容器Servlet规范:Servlet接口+Servlet容器。

2023-05-24 23:12:37 813

原创 13. InnoDB引擎底层原理及Mysql 8.0 新增特性详解

Log sequence number: 代表系统中的 Isn值,也就是当前系统已经写入的redo日志量,包括写入log buffer中的日志。Log flushed up to: 代表flushed_to_disk_Isn的值,也就是当前系统已经写入磁盘的redo日志量。在这个里面C是最重要的,一致性是目的。本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。04.innodb_flush_log_at_trx _commit辨析。06.增删改的undo日志的格式辨析。

2023-05-23 23:06:39 590

原创 12. InnoDB引擎底层存储和缓存原理

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。

2023-05-22 23:14:54 445

原创 11.Mysql内核语句优化规则详解

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。7.ANY/ALL子查询优化和[NOT]EXISTS子查询的执行。5.MySQL对IN子查询的优化之物化表、物化表转连接。6.MySQL如何将子查询转换为semi-join。4.MySQL标量子查询、行子查询执行方式。2.MySQL的查询优化器之外连接消除。1.MySQL的查询优化器之条件化简。3.MySQL子查询语法与分类。

2023-05-19 17:40:55 302

原创 11. Mysql执行原理之索引合并详解

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。课程内容1.什么是Intersection合并?2.什么情况下产生Intersection合并?3.什么是Union合并?4.什么情况下产生Union合并?5.什么是Sort-Union合并?6.联合索引替代Intersection索引合并。

2023-05-19 13:28:44 948

原创 10.从架构师角度理解MySQL性能优化和索引合并

慢查询日志,顾名思义,就是查询慢的日志,是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助,默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。优化数据访问方法论业务层-请求了不需要的数据?查询不需要的记录总是取出全部列重复查询相同的数据执行层-是否在扫描额外的记录?响应时间扫描的行数和返回的行数扫描的行数和访问类型。

2023-05-17 23:04:20 764

原创 9. 三星索引和Mysql内核查询成本计算实战

MySQL执行一个查询可以有不同的执行方案,它会选择其中成本最低,或者说代价最低的那种方案去真正的执行查询。什么是执行成本呢?I/O成本我们的表经常使用的MyISAM、InnoDB存储引擎都是将数据和索引都存储到磁盘上的,当我们想查询表中的记录时,需要先把数据或者索引加载到内存中然后再操作。这个从磁盘到内存这个加载的过程损耗的时间称之为I/O成本。CPU成本读取以及检测记录是否满足对应的搜索条件、对结果集进行排序等这些操作损耗的时间称之为CPU成本。

2023-05-16 23:15:07 400

原创 8. 高性能业务表结构设计和索引知识深化

范式来自英文Normal Form,简称NF。MySQL是关系型数据库,但是要想设计—个好的关系,必须使关系满足一定的约束条件,此约束已经形成了规范,分成几个等级,一级比一级要求得严格。满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。

2023-05-15 22:03:15 425

原创 7. 深入理解MVCC与BufferPool缓存机制

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。本节课内容:1、Undo日志版本链与Read View机制详解2、MVCC多版本并发控制机制详解3、Innodb引擎BufferPool缓存机制详解4、Redo与Undo日志详解。

2023-05-15 15:18:14 492

原创 6.深入理解Mysql事务隔离级别与锁机制

Mysql事务及ACID特性详解。Mysql事务隔离级别详解。Mysql锁机制详解。Mysql锁优化建议。

2023-05-11 15:52:54 293

原创 5. Mysql索引优化实战二

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。本节课内容:1、分页查询优化详解2、表JOIN关联原理详解及优化3、表COUNT查询优化4、阿里巴巴MYSQL规范解读5、MYSQL数据类型选择分析。

2023-05-10 21:43:04 481

原创 4. Mysql索引优化实战一

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。

2023-05-09 23:06:55 521

原创 3. SQL底层执行原理详解

本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。

2023-05-06 23:28:05 804

原创 2. Explain详解与索引最佳实战

使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈在select语句之前增加explain关键字,MySQL会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL.注意:如果from中包含子查询,仍会执行该子查询,将结果放入临时表中。

2023-05-04 22:39:36 339

原创 1. 深入理解Mysql索引底层数据库与算法

索引是帮助MySQL高效获取数据的排好序的数据结构。“排好序” 这三个字其实就是对索引最好的形容和体现。我们可以简单把索引比喻成为书本的目录页,当然这么说太过于抽象,并没有把索引的底层特性说明白。索引数据结构包括二叉树红黑树Hash表B-Tree下面我们将依次分析 二叉树、红黑树、Hash表、B树、B+树。

2023-05-04 22:13:54 286

原创 Spring之依赖注入源码解析(下)

在这个1.7里面没有这个反射的api拿到方法的参数的,我们可以很容易拿到这个参数的类型,但是我们想拿到这个a方法里面的abc就比较难。回到最开始看的哪个方法,如果拿到的时String,首先进行占位符的填充,加入写的时@Value(“${ding}”),在spring中有一个Environment,这个包括了properties的内容,首先就要通过注解引进来。这个发现器里面包含两种方法,一个是基于反射的方法一个是就是基于更底层的字节码层面的方法,还是可以基于更底层的方法拿到的。看这个接口的实现类。

2023-04-25 23:22:37 154

空空如也

空空如也

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

TA关注的人

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