自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (2)
  • 问答 (4)
  • 收藏
  • 关注

原创 Netty学习(二)概述+EventLoop+Channel+ByteBuf

netty 不是 异步io ,只是调用时候的异步 ,有事件才处理。

2022-08-17 14:22:02 610 22

原创 zookeeper-常用命令,集成springboot,分布式锁实现和原理 ,dock集群zookeeper搭建,

核心思想: 当客户想要获得锁,先创建节点,使用完毕锁,删除该节点客户端获取锁时,再lock 节点下创建临时顺序节点临时:防止客户端宕机锁得不到释放,顺序:找最小节点为什么创建的是临时顺序节点: 假如创建的是默认持久的节点 ,然后Clint1获取锁便 宕机了 ,Clien1与zk 失去连接 ,但是/lock/1得不到释放。锁得不到释放!!!这种情况再redis中的解决方案是:设置TTL 过期时间。临时节点的作用:当客户端 异常跟zk断联, 临时节点会自动释放。其他节点就可以获得锁。...

2022-08-14 15:15:18 526 3

原创 docker学习 --Compose 容器编排,常用命令等.集成spring。mysql。redis

一切皆容器 处处云原生。

2022-08-12 10:19:45 138 5

原创 Redis做分布式锁,redission,rediscache,redis面试等.....

1)自动锁的时间续期 (2)TTL:time to live,自动设置过期时间 ,但是一旦自己设置了超时时间,会造成锁的时间不会自动续期,从而导致 当业务时间大于 锁的时间的时候,自己的锁被释放了,但是 业务还没有执行完毕,导致 其他线程占用锁而删除,可当第一个线程业务执行完毕时候删除锁的时候,删除的是第二个锁。漏洞:当1线程在 写入往redis写缓存之前卡住了,2号线程过来直接完成了双写模式,再切换1线程对缓存进行写,则2号线程是后发生的,但是缓存写进去的确是1号线程。需要指定过期时间(ttl)....

2022-08-07 11:06:37 551 6

原创 记录一下关于新增需求关于商品下架原因

很多方法会调用商品下架这个接口,调用链路错综复杂,需求是设计一个方法,当每次调用这个下架方法的时候记录一下下架原因。

2023-06-16 08:24:07 148

原创 对js的一些看法

js这门语言简单易学,但是却缺少了很多东西,例如java中的设计模式。感觉非常适合前端开发吧

2023-01-16 12:10:24 204 1

原创 莉可莉丝壁纸

124

2022-10-21 17:29:43 436 3

原创 kafka---springboot

/ 自定义分区策略 public class MyPartitioner implements Partitioner {@Override// 将value包含 hello 的消息发送 0 号分区 if(msgValue . contains("hello")) {System . out . println("消息发送 0 号分区 ");return 0;> map) {} }生产者配置分区器。

2022-09-16 19:49:23 1154 5

原创 正则表达式--文本处理神器

{3,7} : 会按照尽量匹配多的 ,例如 a{3,7} 匹配 aaaaaaa res:aaaaaaa 而不是 aaa。在匹配某个字符串的时候是选择性的,即:既可以匹配这个,又可以匹配那个,这时你需要用到哦 选择匹配符 |定位符,规定要匹配的字符串出现的位置,比如在字符串的开始还是在结束的位置,这个也是相当有用的,必须掌握。| : 匹配“|”之前或之后的表达式 ab|cd 匹配ab或者cd。i)b)c:表示只有b不区分大小写。i)bc:表示bc不区分大小写。符号 符号 示例 解释。

2022-09-15 13:58:10 318

原创 分布式锁之防止超卖 --mysql原子操作,乐观锁,redis事务,乐观锁

性能:一个sql > 悲观锁 > jvm锁 > 乐观锁如果追求极致性能、业务场景简单并且不需要记录数据前后变化的情况下。​ 优先选择:一个sql如果写并发量较低(多读),争抢不是很激烈的情况下优先选择:乐观锁如果写并发量较高,一般会经常冲突,此时选择乐观锁的话,会导致业务代码不间断的重试。​ 优先选择:mysql悲观锁不推荐jvm本地锁。

2022-09-07 10:45:27 1838 14

原创 springAOP 从源码角度通过注解实现 日志打印

1.指定切面类:一般通过注解进行2.指定切点:3.监听。

2022-09-06 13:46:15 1162 6

原创 mysql牛客网大厂面试刷题深度解析篇,每日一更(持续更新)

近一个月内的时间 此时将他建成一张表然后进行。

2022-09-05 16:56:00 525 3

原创 图书馆后记。

清晨的阳光,很明朗,陈宇跟往常一样去教室上课,今天学校里开了一门新课,关于考取法律学证书。“hi~,你是陈宇吗?”,妹子笑得很灿烂,阳光映射在她脸庞,却反射进了我的心里。陈宇迟疑了一下,努力回想眼前的女生到底是谁,“请问 ,你是?,那不是陈宇前几天在班级微信群里加的妹子吗,没想到在这里遇见了她。“叮叮叮,下课了”,陈宇准备回寝室,此刻,一个妹子挡在了他面前,老师上课讲的很认真,陈宇听课也是认真的做着笔记。“我是徐莹莹”,妹子爽朗的回答。来到班级,周围都是陌生的面孔。众所周知,时光是不可能回溯。

2022-09-05 11:08:27 200 2

原创 MySQL8高级优化,持续更新......

索引可以高效获取数据,避免对数据进行全盘扫描(查询速度很慢),索引就是一种数据结构(树)MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。如下面的所示 :此时的索引树是一个平衡二叉树,上图的索引树的建立就是平衡二叉树的建立。此时 查找数据就像二分查找一样了。

2022-09-05 10:44:13 1876

原创 未来:spring响应式编程 Hands-On Reactive Programming in Spring 5(三),spring事件监听

事件发送者接收到消息之后 以一个 Controller (mvc 三层架构中的controller 层)发送给 人 ,让人知道现在的温度。Temperature类 将有一个 double 属性 ,他仅仅是一个事件对象(观察者模式中的事件对象)为了模仿传感器 ,让我们实现温度传感器类 并且 注册进spring 中成为一个bean对象我们模拟的 温度计 只依赖于 ApplicationEventPublisher这个类 ,...

2022-08-31 08:58:17 1473

原创 未来:spring响应式编程 Hands-On Reactive Programming in Spring 5(二)------Basic Concepts

看完这篇文章你会有很大收获!好学近乎知,力行近乎仁,知耻而后勇.这一章节我们要来谈谈.spring响应式编程了。

2022-08-23 18:16:12 687 5

原创 RocketMq最强总结 带你rocket从入门到入土为安

消息最大重试次数的设置对相同 Group ID 下的所有 Consumer 实例有效。如果只对相同 Group ID 下两个 Consumer 实例中的其中一个设置了 MaxReconsumeTimes,那么该配置对两个 Consumer 实例均生效。配置采用覆盖的方式生效,即最后启动的 Consumer 实例会覆盖之前的启动实例的配置。...

2022-08-23 14:50:58 672 1

原创 redisson究极爽文-手把手带你实现redisson的发布订阅,消息队列,延迟队列(死信队列),(模仿)分布式线程池

基于Redis的分布式队列Queue是Redisson提供的又一个功能组件,按照不同的特性,分布式队列Queue还可以分为双端队列Deque、阻塞队列Blocking Queue、有界阻塞队列(Bounded Blocking Queue)、阻塞双端队列(Blocking Deque)、阻塞公平队列(Blocking Fair Queue)、阻塞公平双端队列(Blocking Fair Deque)等功能组件,不同的功能组件其作用不尽相同,适用的业务场景也是不一样的。>在实际业务场景中,不管是采用哪一种功

2022-08-23 12:05:56 3018 11

原创 Elasticsearch分组--- java api 实现

这篇文章 将已实战的方式带你 实现es 的各种分组操作。

2022-08-21 11:52:48 1592 3

原创 Elasticsearch(三)高级搜索DSL

hits.max_score:score的含义,就是document对于一个search的相关度的匹配分数,越相关,就越匹配,分数也高。filter,不需要计算相关度分数,不需要按照相关度分数进行排序,同时还有内置的自动cache最常使用filter的数据。避免用户一直等待查询结果,过了超时时间可以返回已经查询完毕的数据 ,有几条给几条。query,相反,要计算相关度分数,按照分数进行排序,而且无法cache结果。_shards:到几个分片搜索,成功几个,跳过几个,失败几个。took:耗费了几毫秒。

2022-08-19 15:00:22 413

原创 Mysql性能优化-----持续更新

1.查询快2. 对索引进行排序,可以降低数据排序的成本,降低cpu消耗的性能。

2022-08-18 20:56:28 203

原创 Netty(三)---黏包半包,滑动窗口

这种并不好 设定接收长度为十 ,每次空余的也会被填满。虽然能解决黏包问题,但是还是不能避免半包问题。浏览器访问8080端口。

2022-08-18 20:20:30 286

原创 Elasicsearch(三)---mapping,index,分词器,数据类型等

1)往es里面直接插入数据,es会自动建立索引,同时建立对应的mapping。(2)mapping中就自动定义了每个field的数据类型(3)不同的数据类型(比如说text和date),可能有的是exact value,有的是full text(4)exact value,在建立倒排索引的时候,分词的时候,是将整个值一起作为一个关键词建立到倒排索引中的;full text,会经历各种各样的处理,分词,normaliztion(时态转换,同义词转换,大小写转换),才会建立到倒排索引中。...

2022-08-18 11:20:43 411

原创 ELK ----elasticsearch笔记增删改查等

mysql 利用乐观锁加版本号解决并发读写问题,很容易造成用户数据修改不成功。修改时external version要大于当前文档的_version。防止吞吐量大的索引影响吞吐量小的索引。索引都是在一个个分片上的。基于乐观锁和悲观锁进行解释,和java中的乐观锁悲观锁差不多。es增删改都是基于版本号的。...

2022-08-18 10:55:28 190

原创 elassearch(一)----java api操作elassearch---简单的增删改查

1.添加依赖2.编写yml。

2022-08-17 19:53:03 565

原创 未来:spring响应式编程 Hands-On Reactive Programming in Spring 5 ,为啥需要响应式编程

为什么 使用响应式 的spring。

2022-08-16 09:35:01 472

原创 Elastcisearch 读书笔记

表在数据库中 是独立不同的, 然而 fields 拥有相同的名字 ,字段(fields )在相同的索引里面 不同的映射类型里 是相同的假设在数据库(elsticsearch )中 你定义了一个老师(mapping) 有name(field)属性 ,定义 了学生 有name 属性 ,然后 你删了老师 name字段 ,学 生的也跟着删除了。...

2022-08-15 14:19:42 128

原创 netty(二)基础 多线程情况下的selector

客户端。

2022-08-13 17:37:56 469

原创 Netty(一)基础socketchannel,Buffer,selector黏包 半包解决 实战

non-blockiong io:非阻塞阻塞vs非阻塞。> selector 就是用来监听事件的 > selector 何时不阻塞 > 1. 客户端发起请求触发 accept> 2.客户端发送数据,客户端正常 异常关闭 ,都会触发read事件,如果数据大于buffer缓冲区 会触发多次读取事件> 3.channel 可写,会触发write事件> 4.在linux发生nio bug时也会> 调用selector.wakeup> 调用seletor.close> selector所在线程in

2022-08-12 14:54:15 771 1

原创 Mongodb固定集合,实现

固定集合(capped collection)是一种限定大小的集合,其中capped是覆盖、限额的意思。跟普通的集合相比,数据在写入这种集合时遵循FIFO原则。可以将这种集合想象为一个环状的队列,新文档在写入时会被插入队列的末尾,如果队列已满,那么之前的文档就会被新写入的文档所覆盖类似于环形队列,只不过 新来的元素会覆盖之前的元素。...

2022-08-09 21:50:20 356

原创 docker学习(八)深入浅出理解 dockerFille

一条条指令参数构成的文件是构建镜像的新方法dockerFile(原材料):面向开发 -》 docker(交付品)镜像为交付标准-》 docker容器(运行态)设计部署和运维 三者不可或缺。

2022-08-09 14:40:10 566

原创 com.mongodb.mongosh.result.CommandException: unrecognized update options field: multi

在使用mongoDB批量更新文档的时候报错。一次更新多条数据updateMany。

2022-08-08 21:03:38 383

原创 docker学习(七)redis集群三主三从

这是由于hash槽算法 ,将 key 算一个数值,分配到hash槽里面去 , 但是redsi-node1 所管理的hash‘槽是有范围的,k1,算的hash槽的值不归redsi-node1 管理。redis-cli --cluster del-node ip:端口号 id。redis-cli --cluster check ip+: + 端口号。步骤: 下线奴隶节点 -》 释放他主人的槽片给别的主人-》删除他。不能使用单机版的命令,应该使用集群的命令启动reids控制台。启动两台机器 ,一主一丛。...

2022-08-08 10:05:02 222

原创 docker(六)分布式哈希取余

优点:简单,负载均衡 分而治之缺点:加入一台挂掉,里面的数据会直接消失没有备份。

2022-08-07 12:12:51 141

原创 mysql 日期类函数和案例,可当手册使用超全

mysql 日期类函数和案例,可当手册使用超全。

2022-08-06 19:21:57 106

原创 spring 定时任务,解决定时任务阻塞

spring 定时任务,解决定时任务阻塞

2022-08-06 17:19:48 489

原创 docker mysql8.0 集群主从建立

​修改配置文件mysql-master (主)在/mydata/mysql-master/conf 下建立my.conf文件并改写文件建立从mysql从配置文件进入从机mysql控制台配置主从同步数据库库配置:主库配置:创建账号:create user ‘slave1’@‘%’ identified by ‘slave1’;授权:grant all privileges ON . TO ‘slave1’@‘%’;验证方式修改为上一版的:ALTER USER slave1@‘%

2022-08-06 11:52:23 271

原创 商城订单设计流程(微服务版本)

3.订单支付一定改为支付状态 ,订单只有再订单未创建状态或是 已取消状态才能解锁库存。此处的消息队列就相当于一个定时任务器。2.解锁库存一定再订单超时未支付 之后。1.解锁库存时刻注意订单状态。......

2022-08-05 20:43:08 340

原创 docker(四)docker——mysql 8解决中文乱码,设置utf-8

代码】docker(四)docker——mysql 8解决中文乱码,设置utf-8。

2022-08-05 11:18:00 1336

原创 docker学习(三)容器数据卷挂载

容器数据卷完成保存容器数据 ,容器内的数据备份持久化。类似于一个u盘中的数据docker run - it -- privileged=true - v / 宿主机绝对路径目录: / 容器内目录 镜像名将docker 中的数据 映射到主机外面。(宿主机绝对路径目录)中的数据怎么改 ,(容器内目录) 中的数据怎么改。...

2022-08-05 10:16:37 351

html标签例如img,div,span等基本标签的使用

html标签例如img,div,span等基本标签的使用

2022-01-07

html的简单介绍和一些基本框架 .

html的简单介绍和一些基本框架 .

2022-01-07

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

TA关注的人

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