自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Xiaoqiu的博客

学无止境,刻苦奋斗

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

原创 给你一份Spring Boot核心知识清单

springboot各种注解的使用和优化:超级给力https://zhuanlan.zhihu.com/p/78104880

2021-04-15 17:31:58 87

原创 100条数据秒杀,如何避免超卖【待补充更细的资料】

DECR。

2024-03-03 09:12:14 376

原创 10万条数据同时命中redis的一个key,导致缓存崩掉,怎么解决

数据分片:将大量的数据分散到不同的key中,可以使用哈希标签或者一致性哈希算法来实现数据的均匀分布,避免单个key承载过多数据。 设置过期时间:为key设置合理的过期时间,避免数据无限期地占用内存。根据业务需求和数据访问频率来调整过期时间,以减少内存压力。 使用分布式缓存:当单个Redis实例无法承受如此大的数据量时,可以考虑使用分布式缓存解决方案,如Redis Cluster,将数据分布在多个Redis节点上。 优化数据结构:评估当前使用的数据结构是否最优化,比如使用更节省空间的数据结构(如压缩列表

2024-03-03 09:07:06 414

原创 RocketMQ秘籍:如何保障消息顺序性?什么情况会被重复消费,并且重复消费怎么解决?

解锁RocketMQ秘籍:如何保障消息顺序性? - 哔哩哔哩

2024-01-02 15:36:54 366

原创 mysql性能调优方向(laoqi)

索引及mysql性能的优化:1、删除冗余索引,通过工具linux环境下可以查到冗余索引并且可以给出索引的建议2、order by的时候对索引的影响,order by的字段尽量是索引字段,并且字段顺序和索引顺序保持一致,排序顺序和索引顺序保持一致3、释放表空间 执行语句:optimize table t_content(表名),会锁表,必须在项目维护期间执行,否则会造成IO阻塞索引重新统计 执行语句: analyze table t_content(表名)

2023-05-08 16:29:53 699

原创 mysql表结构设计规则(1对1,1对多,多对多)

多对多:(建立中间关联表,命名为学生课程关联表,持有学生表的外键,持有课程表的外键,映射起来)比如学生和学籍,一个学生只能有一个学籍,一个学籍也只能被一个学生拥有,就是1对1。比如学生和课程,一个学生可以学习多门课程,一个课程可以被多个学生学习,就是多对多。比如学生和班级,一个学生只能在一个班级,一个班级可以有多个学生,就是一对多。1对多:(学生表持有班级表的外键id),多的那个表持有少的表的外键id。1对1还是1对多还是多对多的关系。1对1:(可互相为外键)

2023-04-14 15:49:02 351

原创 Varchar(20)中的20代表的是字符还是字节

如果你存储utf8汉字,你只能存储16个(每个汉字3个字节)5.0以上的版本,varchar(50)指的是50个字其实,最好的办法就是在自己的数据库里建一个表,试试能放多少个汉字。Varchar(50)可以存储50个汉字,取决于版本:4.0以下,Varchar(100)表示存储utf8汉字时的100字节,5.0或以上版本只能存储33个(每个汉字3字节)。Varchar不管什么版本最大长度都是按字节定义的,但是在5.0版本之前括号中的数字是字节,在5.0版本之后括号中的数字是字符。

2023-04-14 15:46:34 474

原创 Elasticsearch解决不能修改索引、字段问题解决方案

2、重建索引,数据迁移,默认是同步执行大数据量太慢,可以设置为异步执行(url新增参数 wait_for_completion = false),[reindex方法 source来源index1 -> dest目标index2,这块不是别名,是索引名]基于kibanna的dev Tools执行参数,淘汰postman,kibanna会有提示。3、删除原来索引别名为job,重建新索引命名为job。1、原来索引起别名job。

2023-04-11 16:03:53 1131

原创 es倒排索引原理

底层基于Lucene jar开发。正排索引:用key找value。倒排索引:用value找key。

2023-04-10 15:24:13 50

原创 生产排查jvm内存溢出问题的实战方式(具体到定位某个方法)

8、排查完成后,再用VisualVM监控下当前应用,看看Sampler样例的Memory内存的Heap堆的列表图里内存实时的使用情况,执行一次GC,看看内存是否可以回收。3、执行jar包命令后会出现服务器上所有的jar包,选择1或者2等选择需要查看的应用jar包,然后enter回车就会进入arthas用户下查看具体的jvm。7、主要看哪个类在占用的内存最大,找到最大的的类右键在新的标签页打开,会出现很多节点,只需要随机取第一个节点选中,点击按钮GC Root,查看根节点。

2023-03-30 17:36:12 728

原创 RocketMq阿里连环11问

阿里二面MQ夺命连环11问

2023-03-30 17:30:19 49

原创 线程池的深入理解

线程池的深入理解

2022-11-17 19:41:07 122

原创 lock接口lock和tryLock的区别

https://www.cnblogs.com/wenbochang/p/11317571.html推荐优先使用trylock

2022-01-29 14:39:03 1337

原创 有事物的A方法调用私有B方法事物处理

有事物的A方法调用私有B方法事物处理_Warm_Blood的博客-CSDN博客_事务方法调用private方法

2022-01-28 09:36:01 692

原创 springboot 实现异步多线程定时任务

SpringBoot使用Schedule实现异步执行定时任务(多线程)_AlbenXie的博客-CSDN博客_springboot 定时器异步执行

2021-12-29 11:02:59 518

原创 JVM线上排查和解决

jdk自带监控程序jvisualvm的使用_宇宙的博客-CSDN博客_jvisualvm

2021-12-10 10:38:24 93

原创 RabbitMq与Kafka的使用场景和区别(学习)

https://blog.csdn.net/qq_40021015/article/details/115920988

2021-12-07 17:57:05 123

原创 linux中查看docker内存占用情况

https://www.cnblogs.com/pangjianxin/p/12706252.html1:进入docker容器docker exec -it 容器ID /bin/basheg:docker exec -it azb_business_server-t1 /bin/bash2:直接查看总内存和剩余内存top命令,查询的结果,第四行是docker总内存大小,jvm的堆栈大小基于这个总物理内存配置查询正在运行的docker jar包的进程ps -ef|grep .jar 或者ps -.

2021-04-15 13:51:55 1791

原创 Redis持久化的两种方式 备份恢复策略

https://blog.csdn.net/Anenan/article/details/91868130

2021-04-15 09:51:40 115

原创 MySQL explain简介

https://blog.csdn.net/Anenan/article/details/114525818

2021-04-15 09:50:52 54

原创 MySQL的四种事务隔离级别

https://www.cnblogs.com/wyaokai/p/10921323.html

2021-04-14 11:26:11 117 1

原创 SpringMVC工作原理深度好文

SpringMVC的工作原理图:https://www.cnblogs.com/fengquan-blog/p/11161084.html

2021-04-13 18:02:48 69

原创 实例解读什么是Redis缓存穿透、缓存雪崩和缓存击穿

redis深度好文链接如下:https://baijiahao.baidu.com/s?id=1619572269435584821&wfr=spider&for=pc

2021-04-13 10:23:22 67

原创 mysql索引最左原则和索引什么时候会失效的场景测试

-- mysql 建表语句CREATE TABLE tb_test_qiu (id INT PRIMARY KEY,a TINYINT (1),b TINYINT (1),c TINYINT (1))-- tb_test_qiu表 插入联合索引ALTER TABLE `tb_test_qiu` ADD INDEX `testabc` (`a`, `b`, `c`) ;-- 索引最左原则和索引什么时候会失效的场景测试:-- 实际上创建了 a,ab,abc索引,其中ab,abc的字母调换.

2021-04-12 10:51:27 191

原创 SpringBoot 核心注解及启动过程

https://blog.csdn.net/TJH54/article/details/104420738

2021-04-08 14:48:02 117

原创 Java 抽象类和普通类、接口的区别——看完你就顿悟了

https://blog.csdn.net/u012092924/article/details/78342193

2021-04-07 09:55:44 91

原创 interface里可以定义属性吗?(全局常量,全局变量,属性区别)

全局常量:public static final 常量名(string a)全局变量:public static 变量名(string a)属性:(属于某个类或对象)private String ainterface里可以定义属性吗?本质上不可以。如果强行在interface里加一个属性,则该属性自动变成public static。显然,这不算是个属性。例如,public interface Listener{ int number;}虽然number没加static,但..

2021-04-07 09:19:29 1460

原创 微服务网关Zuul和Gateway的区别

https://www.cnblogs.com/lgg20/p/12507845.html

2021-04-06 17:15:39 216

原创 mybatis和hibernate本质区别和应用场景

mybatis和hibernate本质区别和应用场景hibernate:是一个标准ORM框架(对象关系映射)。入门门槛较高的,不需要程序写sql,sql语句自动生成了。对sql语句进行优化、修改比较困难的。应用场景:适用与需求变化不多的中小型项目,比如:后台管理系统,erp、orm、oa。。mybatis:专注是sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。mybatis是一个不完全 的ORM框架,虽然程序员自己写sql,mybati...

2021-04-06 16:25:10 106

原创 单例模式(饿汉式和懒汉式)

https://www.cnblogs.com/cdlyy/p/12846098.html

2021-04-06 15:10:22 66

原创 Rsa + Aes 加解密合作流程以及区别

1.简单来说,两种都是加密算法,不同的是AES是对称加密算法,RSA是非对称算法。先简单说下概念对称加密算法:简单来说,使用一个密钥可以加密,也可以解密,所以这样对称被成对称加密。非对称加密算法:加密之后不可逆,使用配对的公钥,私钥,使用了公钥加密之后,只能私钥才能解密。RSA最基本的原理:也就是几个数学函数,通俗一点,就是正向axb=y 很好计算y的值,但是通过y的值很难计算出是a、b。比如:666666X7777777=5185179481482正向很好计算结果5185179481482

2021-04-06 14:42:36 325

原创 分布式锁的3种方式,简单汇总

分布式锁:一:基于数据库方式(乐观锁(修改 版本号加一),悲观锁(查询 for update),唯一索引(插入,抛出异常回滚))二:redis setnx方式 设置过期时间 (适用于高并发场景)https://www.cnblogs.com/happy4java/p/11205993.html三:zk方式(使用curator封装的InterProcessMutex)区别:Redis,使用redisson封装的RedLockZk,使用curator封装的InterProcessMutexhtt

2021-04-06 11:29:14 99

原创 抽象工厂模式的个人理解

工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类只能创建一个具体产品类的实例。抽象工厂模式:多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。 一个抽象工厂类,可以派生出多个具体工厂类。 每个具体工厂类可以创建多个具体产品类的实例。 区别:工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。 工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。...

2021-04-01 15:30:14 112

原创 Mysql int和tinyint的比较

Mysql int和tinyint的比较http://blog.sina.com.cn/s/blog_e4bd46a00102xqga.htmlMySQL创建无符号整数(int)及取值范围https://blog.csdn.net/COCO56/article/details/107153414/int(4)代表显示4位int每位占4个字节,而tinyint占1个字节...

2021-03-30 15:27:52 378

原创 mysql常用函数和视图和函数的总结

mysql常用的函数:IFNULL 判断是否非空IF 判断条件CONCAT 用简单字符连接字符串CONCAT_AS 用简单字符连接多个字符串DATE_FORMAT 格式化日期GROUP BY 分组,也可以理解为去重,distinct 去重MAX 最大MIN 最小AVG 平均count 总数CAST eg : cast(1 as char) 类型转换CASE WHEN 多条件判断赋值sum 求和order by 排序limit 分页substrin...

2021-03-29 10:40:14 135 1

原创 深入理解restful里post和put区别

深入理解restful里post和put区别:https://blog.csdn.net/xulong5000/article/details/103176492

2021-01-27 09:08:54 840

原创 java性能调优经典博客

随手写下一手漂亮高效的代码:https://www.jb51.net/article/102831.htm

2020-12-22 18:30:23 76

原创 mybatis一级缓存和二级缓存的理解

一级缓存:基于sqlsession级别的缓存,默认是开启状态,基本可以理解为namespace空间下的同一条sql语句,分别的执行了2次(在spring同一个事物中,不在同一事物会失效),然后命中后,一级缓存生效。二级缓存:同一个namesapce(Mapper)空间下,相对于一级缓存而言,范围更广,多个执行结果相同的sql,就会命中。二级缓存手动配置,如下:https://www.cnblogs.com/viewts/p/13215346.html提出问题:既然有二级缓存和一级

2020-12-21 16:09:30 329

原创 final修饰类 方法 变量的作用

1. final修饰的类,为最终类,该类不能被继承。如String 类2. final修饰的方法可以被继承和重载,但不能被重写3. final修饰的变量不能被修改,是个常量通俗易懂理的博客如下:https://www.cnblogs.com/chhyan-dream/p/10685878.html...

2020-12-18 15:26:33 463 1

原创 idea配置注释模板:亲测可用

idea配置注释模板:亲测可用https://blog.csdn.net/x541211190/article/details/105816444

2020-11-13 18:31:43 86

空空如也

空空如也

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

TA关注的人

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