自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高并发缓存实战RedisSon、性能优化

缓存击穿、缓存穿透、缓存雪崩、DCL、数据库双写不一致、读写锁、锁优化、分段锁多级缓存

2023-06-19 11:47:37 2039 5

原创 RedisSon高并发分布式锁实战RedisSon源码解读

redis redisson watchdog 锁续命 自旋 lua redLock

2023-06-15 16:53:55 1133

原创 【无标题】List去重常见方法效率比较

运行测试后,可以发现Set的效率最低,Map的效率中等,Stream的效率较高。但是这并不代表Set就不好用,因为在数据规模比较小的情况下,三种方法的差异会比较小,而且Set的代码量最少,易于书写和维护。使用Set集合是非常常见的方法,因为Set具有不允许元素重复的特性,当我们把List的元素存放到Set中时,就自动实现了去重。这种方式的原理是利用HashMap的key不重复的特性,遍历List时将List中的元素存放到HashMap中,这样重复的元素就自动被去掉了。Java8 Stream流去重。

2023-06-13 09:20:30 796

原创 Redis-Cluster集群架构

Redis-Cluster 集群架构 goosip、扩容、选举原理

2023-06-07 17:10:09 609

原创 redis 持久化 RDB + AOF

redis 持久化 RDB 、AOF 、混合模式、redis文件恢复

2023-05-05 09:44:14 988 1

原创 redis互联网真实应用场景

redis基本数据类型 以及使用场景

2023-05-01 18:35:24 120

原创 多线程与高并发cas问题

cas sync Long、AtomicLong、LongAdder

2023-03-08 20:26:11 78

原创 分布式框架RabbitMQ详解以及编程特性Base实现

分布式框架 消息队列 RabbitMQ 基础知识 搭建 实现

2023-03-03 16:15:36 896

原创 设计模式-七大原则

设计模式 七大原则 单一职责 接口隔离 依赖倒置 里氏替换 开闭原则 迪米特 合成复用

2023-01-17 11:41:17 311 1

原创 JVM进阶

JVM 字节码 类加载 jvm 参数

2022-12-19 00:46:11 256

原创 MySQL性能调优

explain、执行索引、优化策略

2022-10-08 14:16:38 1200 1

原创 多线程与高并发编程

volatile 懒汉模式 饿汉模式 饿汉模式完美实现(双重校验)volatile是否可以取代sync 锁优化、CAS、ABA问题

2022-08-27 22:35:13 261

原创 MySQL性能调优 一

索引数据结构,BTREE、B+TREE、聚簇、非聚簇、主键、联合

2022-08-21 19:11:55 558

原创 多线程与高并发编程

sync 锁升级 创建 生命周期

2022-08-12 00:04:49 463

原创 【面试算法】算法基础一

算法基础

2022-07-12 08:42:46 263

原创 抢票系统之高性能(CDN、缓存、读写分离)

抢票系统之高性能(CDN、缓存、读写分离)

2022-05-03 09:30:18 1296 1

原创 抢票系统之高可用(3)-存储高可用

存储高可用垂直切分水平切分分片hash哈希哈希环数据容灾流水型状态型

2022-04-15 14:00:17 2280

原创 抢票系统架构设计 测试设计于投产应急设计

类比12306火车抢票系统架构设计03

2022-04-05 13:12:20 461

原创 4.子查询

4.子查询4.1.IN4.2 对比IN和JOIN使用JOIN使用IN个人认为第一个比较简单ALLall (1,2,3)= > 3= ANY等价于 IN相关链接i的每一条记录和子查询中计算出来的avg进行比较,这样查询的次数很大,但是实际上非常重要,经常使用EXISTS使用IN也可以实现IN 和 EXISTS 相比 EXSTS 返回的是ture,IN是结果集,所以ECXSTS更节省性能的消耗位于select部分的子查询不易读...

2022-04-02 16:45:51 101

原创 3.聚合函数

3.聚合函数3.1 MAX()最大值3.2 GROUP BY 分组注意语句的顺序select --> from —> where ----> group by -----> order by​ 所以group by永远在 select from where 之后 order by 之前3.3 HAVING 数据筛选3.4 group by + with rollup 计算每一个分组的和...

2022-04-01 14:51:06 118

原创 线程、进程、异步计算与线程池

线程、进程、异步计算与线程池

2022-03-29 22:52:37 664

原创 抢票系统之架构设计

抢票系统之架构设计

2022-03-24 21:37:17 1320

原创 xxl-job集成feign调用外部接口报错:org.springframework.beans.factory.BeanCreationException: Error creating bean

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopedTarget.oauth2ClientContext': Scope 'request' is not active for the current thread; consider defining a scoped proxy for this bean if you intend to refer to it fro

2022-03-08 14:08:15 2929 5

原创 SQL MASTERY 运算符

SQL MASTERY 运算符DISTINCT 去除重复LIKE2.2.1 B开头的 不区分大小写SELECT * DISTINCTfrom customersWHERE last_name like 'B%'2.2.2 中间有b2.2.3 结尾有b2.2.4 _表示一个字符REGEPX2.3.1 字符串包含2.3.2 字符串开头包含目标字段2.3.3 字符串结尾包含目标字段2.3.4包含多个目标字符串2.3.5 [abc]d ad bd cd /[a-

2022-03-02 13:48:14 355

原创 SQL MASTERY what is SQL

SQL MASTERY1.what is SQL数据库是一个可以轻易获取形式来存储的数据的集合原理:数据库可以通过数据库管理系统或者DBMS来管理数据库,我们连接到一个DBMS来下达查询修改的指令,DBMS就会执行我们的指令,并返回结果我们将现有的数据库主要分为两种:关系型数据库和非关系型数据库(NoSQL)每一个表都代表一种对象,eg:用户,产品,供应商DBMS的数据库有:MySql、SQL Server、OraclesequelSQL...

2022-03-02 11:25:18 301

原创 count(*)、count(1)、count(列)、count(主键)区别

count(*)、count(1)、count(列)、count(主键)

2022-02-23 11:20:38 503

原创 JVM调优-字节码文件结构-垃圾回收器-Arthus的调优实战

JVM调优jvm​ java语言的优势,有jvm虚拟机,通过字节码文件,可以在任意的环境运行,其他语言都需要根据不同的操作系统(win、macos、linux)形成各自的机器码文件,在jdk1.8的源码中有根据不同的环境形成了不同的指令集,所以java通过jvm这个适配器,去适配各个系统。java ---------> 字节码 --------------> 不同的操作系统对接jvm后对接一个字节码文件其他语言-------------> 机器码 ------------&gt

2022-01-27 09:24:43 1262

原创 mybaits如何控制台输出sql语句

mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

2022-01-07 08:20:39 590

原创 BaseEntity

设计一个合理的适合自己项目的BaseEntity可以大幅度的减少代码的行数,使得代码更加优雅package com.**.t31.core.common;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.fasterx

2022-01-04 09:14:20 261

原创 The directory /renren-generator is registered as a Git root, but no Git repositories were found ther

The directory /renren-generator is registered as a Git root, but no Git repositories were found there.git上下载的开源项目或者之前的项目已经被git管理过pull就会出现问题去掉该目录即可

2022-01-02 22:55:51 354

原创 Calendar的相关参数使用

Calendar设置固定的时间@Testpublic void lonngTest(){ //获取当天的某个时间 //System.out.println( client.getLock("longtest")); Calendar calendar = Calendar.getInstance(); //System.out.println(calendar); System.out.println("直接获取的"+calendar.getTime());

2021-12-23 10:41:42 852

原创 mac 出现 Failed to create parent directories for [/data/applogs/xxl-job/xxl-job-admin.log]

mac 出现 Failed to create parent directories for [/data/applogs/xxl-job/xxl-job-admin.log]问题的原因就是mac的保护机制,没有权限的话不能再/目录创建首先尝试是否开启权限cd /sudo mkdir datacd datasudo mkdir applogscd applogssudo mkdir xxl-job则说明没有没有相关的权限csrutil status 输入csrutil sta

2021-12-14 08:39:07 4810

原创 MySQL海量数据设计实践

MySQL海量数据设计实践MySQL存储引擎原理拆解以及设计深度剖析页结构页头:记录页面的控制信息,共占56字节,包括页的左右兄弟页面指针(双向链表)、页面空间使用情况等。最小最大虚记录:比页内最大小主键还大小确定一个范围,即一个页的空间,查看时,根据和最大最小虚记录的比较结果判定是否在这个空间内。记录堆:行记录存储区,分为有效记录和已删除记录自由空间链表:存储记录堆中,存储的过程中可定有被删除的记录,自由空间链表的作用就是吧删除的记录链起来,方便被删除的记录有什么,找到这些被删除的空间的目的

2021-12-02 15:52:27 259

原创 mysql基础数据类型、索引

sql1.常用的数据类型(全部在最后)int 4 -2147483648-2147483647 0-4294967295decimal 16char 1~255 固定长度varchar 1~255 根据内容调整空间,可节省空间datetimedatetimetext

2021-11-29 00:30:08 245

原创 Mac解决Typora图片不能查看问题的图片上云方案

Mac解决Typora图片不能查看问题的图片上云方案Typora的文件的存储是在电脑本地的,如果吧文件发送给别人,或者希望把写好的md文件上传到博客,图片就会看不见,可以使用Picgo解决这个问题一下是mac系统的解决过程。使用gitee(安全差)1.在gitee建立imgae仓库存储图片一定要有master分支点击初始化readme文件https://gitee.com/*************/image生成令牌https://gitee.com/profile/personal

2021-11-26 11:34:06 602

原创 系统健壮性设计

系统健壮性设计1.entity作为传入的参数,不单要进行非空校验,而且要进行具体参数的校验,2.根据id查询获得users对象,要判断users是否为空3.注释//生成用户列表 很模糊,要注释成为 生成属于这个角色的用户列表4.1,3,4是错误的1.魔法数字应该定义为常量2.log的时候出错奥带上messageVo否则不知到什么地方出错3.直接使用toString输出日志F5 龙卷风的最高等级软件负载同机房,同单元优先 1ms一下跨机房 5ms左右跨区域

2021-11-26 09:41:03 667

原创 分布式锁 redis Redisson

1.购票占座​ 11车 7D的一位只能被一个人使用java可以使用sync实现,但是占座服务可能多个jvm同时抢座位,sync只能给一个jvm中的资源加锁。分布式锁 redisRedis统一管理一把锁抢到锁的再进行统一的操作setnx 判断加锁成功和锁的互斥expire 设置锁的过期时间这样客户端中断30s 锁会释放单纯这俩命令不完美解决方案:1. Set lock “1234” EX 1000NX/PX s/ms​ 要么都成功.

2021-11-23 15:30:10 2379

原创 用户系用实现

1.jwtJson web token (JWT), 是为了在⽹络应⽤环境间传递声明⽽执⾏的⼀种基于JSON的开放标准((RFC 7519).定义了⼀种简洁的,⾃包含的⽅法⽤于通信双⽅之间以JSON对象的形式安全的传递信息。因为数 字签名的存在,这些信息是可信的,JWT可以使⽤HMAC算法或者是RSA的公私秘钥对进⾏签名。2.jwt组成头部包含了两部分,token 类型和采⽤的加密算法:{ "alg": "HS256", "typ": "JWT" } 1234它会使⽤ Base64 编码组成.

2021-11-20 16:34:35 66

原创 leecode027移除元素

package com.***;/** * @Author: * @Date: 2021/11/18/08:16 * @Description: **/public class leecode027 { /** * 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 * <p> * 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 * &

2021-11-18 14:50:24 51

原创 单元测试与系统安全的规约

单元测试规约需要单元测试的原因:是否能够交付产品级别的项目根据项目的不同需求,进行性能测试和稳定性测试单元测试保证接口能够正常使用越早发现成本越低,单元测试的提早发现,对于软件的质量有显著的保障,也可以,提高软件质量优化代码,提高代码质量,找到潜在的问题,可以在重构的时候注意到更好的解决方案同样的一个代码,晚一轮发现,所用的时间会翻倍单元测试没有发现的bug,会导致集成测试时产生问题,需要返回啦单元测试系统测试的时候找bug会非常困难单元测试的air原则单元测试的代码框架不会对.

2021-11-18 14:02:37 3336

空空如也

空空如也

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

TA关注的人

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