温JZ
码龄5年
关注
提问 私信
  • 博客:130,671
    社区:8,549
    问答:18
    动态:90
    139,328
    总访问量
  • 62
    原创
  • 2,053,901
    排名
  • 19
    粉丝
  • 0
    铁粉

个人简介:记录个人成长学习过程

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2019-12-31
博客简介:

weixin_46120888的博客

查看详细资料
个人成就
  • 获得72次点赞
  • 内容获得79次评论
  • 获得454次收藏
  • 代码片获得267次分享
创作历程
  • 46篇
    2022年
  • 8篇
    2021年
  • 8篇
    2020年
成就勋章
TA的专栏
  • bug记录
    1篇
  • Netty
    4篇
  • rabbitMQ
    4篇
  • zookeeper
    6篇
  • redis大全
    8篇
  • 工作总结
    1篇
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

183人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Failed to execute goal ...:compile (default-compile)无效的目标发行版: 17

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project FtxServer: Fatal error compiling: 无效的目标发行版: 17 -> [Help 1]
原创
发布博客 2022.10.15 ·
1293 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

通过两种方式手写一个消息队列

文章目录1.基于多线程的方式实现MQ(极简纯享版)2.基于网络通讯的方式实现MQ参考每特教育蚂蚁课堂1.基于多线程的方式实现MQ(极简纯享版)MQ就是在消费者服务和生产者服务传递信息的通道,生产者向队列中投递消息,然后消费者过来取。所以我们可以这样设计,用一个队列作为中间件,然后开启两个线程,一个是生产者线程,一个是消费者线程,生产者线程向队列中插入json串,消费者线程过来取这个就是一个简单的MQ的实现。 private static LinkedBlockingDeque<JSONO
原创
发布博客 2022.05.28 ·
3213 阅读 ·
0 点赞 ·
1 评论 ·
4 收藏

同志们有会的吗,我一个学计算机的为啥要考这种东西

发布动态 2022.05.18

万字简析Netty启动流程源码

文章目录前言0.NIO中服务器是如何启动的1.Netty启动流程2.initAndRegister方法2.1 init2.2 Register3.启动流程阶段性总结4. NioEventLoop分析4.1NioEventLoop的组成4.2 selector的创建4.3 两个selector成员变量5. NioEventLoop线程何时启动6. eventLoop wakeup 方法7. EventLoop进入select分支7.1讨论什么时候进入select方法7.2进入select方法7.3 Netty
原创
发布博客 2022.05.14 ·
818 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

Netty协议的设计与解析

文章目录1.协议的引入2. HTTP协议的编解码实现3. 自定义协议3.1自定义协议的要素3.2 自定义协议通过Netty进行编解码4. 啥时候用@Sharable参考黑马程序员1.协议的引入协议就是客户端向服务端发送消息的时候,双方约定俗成的一套规矩,比如我在redis中创建一个key,value。按理说要用到这个命令,set key value。这个命令在发送的时候会被解析成redis服务器能看懂的形式。比如说set name zhangsan你看到的只是一条命令,实际上向服务端发送的是这样的
原创
发布博客 2022.05.06 ·
1095 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Netty应用之粘包半包问题

文章目录1.粘包现象演示2.半包现象演示3.粘包半包现象分析3.1 粘包3.2 半包4.粘包半包解决方案4.1短连接4.2 定长解码器4.3 行解码器4.4 LengthFieldBasedFrameDecoder4.5 LengthFieldBasedFrameDecoder演示参考黑马程序员1.粘包现象演示我们通过一段代码演示一个这个粘包现象,首先我们来看服务端 void start() { NioEventLoopGroup boss = new NioEventLoop
原创
发布博客 2022.05.05 ·
2506 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

SpringBoot整合RabbitMQ

文章目录1.简介2.准备工作2.1生产者2.2邮件消费者参考蚂蚁课堂1.简介我们的生产者向消息队列中投递消息,不用非得把他转化成json格式,可以直接投递对象,因为SpringBoot已经帮你实现了序列化,你投递的对象只要实现Seralized接口就行了。同时SpringBoot还可以帮你自动创建交换机,队列这些组件,你不用SpringBoot的话你不创建他就会报错。SpringBoot就相当于一个小女友,十分的贴心处处为你着想。2.准备工作我们大概要实现一个这样的效果,一个生产者,通过fano
原创
发布博客 2022.05.04 ·
1453 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

消息队列(MQ)简介

1.引入——传统的Http请求的缺点Http请求是同步的,也就是说必须和服务端建立连接,当服务端接收的请求过大时,给客户端的响应就不够及时如下图所示每当客户端向tomcat服务器发送一个请求,tomcat服务器当中就会创建一个线程,而且这个线程不是无限的,有一个最大线程数。当我的请求数量大于这个最大线程数的时候,多余的请求就要缓存到队列里。这就有可能导致客户端长时间得不到响应。客户体验非常差。如果客户端一直等着没有收到服务端的响应的话那么可能引起超时重传,同一个请求传好几遍,有可能引发幂等性问题。2
原创
发布博客 2022.05.03 ·
1003 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

RabbitMQ简介及简单使用

文章目录1.RabbitMQ基本介绍2.RabbitMQ简单使用案例2.1在RabbitMQ平台上创建一个队列2.2编写生产者代码2.3编写消费者代码3.RabbitMQ如何保证消息不丢失4.RabbitMQ工作队列5.RabbitMQ交换机(exchange)5.1RabbitMQ Fanout 发布订阅5.2 Direct交换机5.3 Topic主题模式6.MQ如何获取消费者消费结果7.rabbitmq死信队列7.1原理7.2演示7.3应用场景8.RabbitMQ重试策略与幂等性问题8.1重试8.2幂等
原创
发布博客 2022.05.02 ·
2287 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Netty简介

文章目录1.什么是Netty?2.一个简单地Netty程序3.Netty执行流程简析3.1服务端准备工作3.2客户端准备工作3.3交互过程4.一些概念的再明确5. EventLoop组件5.1 EventLoop用法5.1.1执行普通任务5.1.2 执行定时任务5.2 eventLoop分工细化5.3源码分析——不同工人之间如何交接6.Channel6.1 ChannelFuture6.1.1 sync()同步处理结果6.1.2 addListener异步处理结果6.1.3 close存在的问题7.在net
原创
发布博客 2022.05.01 ·
1217 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

ThreadLocal底层原理

文章目录1.什么是ThreadLocal?2.ThreadLocal基本用法3.ThreadLocal的应用场景4.ThreadLocal底层原理5.强软弱引用之间的区别5.1强引用5.2软引用5.3弱引用5.4虚引用6.ThreadLocal内存泄漏问题7.如何防止ThreadLocal内存泄漏问题8.ThreadLocal采用的是弱引用9.ThreadLocal与Synchronized区别参考蚂蚁课堂1.什么是ThreadLocal?ThreadLocal提供了线程本地变量,它可以保证访问到的变
原创
发布博客 2022.04.13 ·
633 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

线程池常见的面试题

文章目录1.什么是线程池2.为什么使用线程池3.线程的作用4.如何创建线程池5.线程池底层是如何实现复用的6.手写一个简易线程池7.ThreadPoolExecutor构造函数原理8.线程池创建的线程会一直运行吗?9.线程池队列满了任务会丢失吗?参考蚂蚁课堂1.什么是线程池线程池和数据库连接池类似,可以统一管理维护线程,减少没有必要的开销,就是说你在需要启动线程的时候没有必要自己创建了,只需要从线程池拿就行了,如果用完了还回去就行了没必要创建一个新的,比如说我需要100个线程,我如果说直接创建100个
原创
发布博客 2022.04.11 ·
11568 阅读 ·
4 点赞 ·
2 评论 ·
87 收藏

Zookeeper集群的数据一致性问题

1.Zookeeper不同节点的作用?首先介绍一下zk集群中的leader节点和follower节点都是干啥的。每个follower节点都保存了leader节点的副本数据,全局保证了数据一致性,分布式读写分开,写的请求统一交给Leader实现,Follower或者是ObServer节点主要实现读的操作。如果你连接的是Follower节点或者ObServer节点然后你还要写的话,他会把这个写的请求转发给Leader节点,然后leader节点写完之后同步给Follower或ObServer节点。2.ZAB原
原创
发布博客 2022.04.10 ·
2106 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

zkObesever节点介绍

文章目录1.Zookeeper集群存在的问题2.Zookeeper节点类型3.在Zookeeper中配置ObServer节点参考蚂蚁课堂1.Zookeeper集群存在的问题假如说我现在有一个集群,里面原来有3个节点,1个Leader两个Follower,这个时候假如说Leader积劳成疾,死而后已,出师未捷身先死,那么这个团队需要一个新的领导者,这个领导者必须得从剩余的两个Follower里面选择。在假如说这个团队发展壮大了,有1个Leader和4个Follower,这个时候Leader英年早逝之后,
原创
发布博客 2022.04.10 ·
1467 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Zookeeper集群与分布式理论

文章目录1.分布式理论之强一致性概念2.分布式理论之最终一致性概念3. Zookeeper集群选举原理策略4.构建Zookeeper集群环境5.为什么zookeeper集群节点最好要是奇数参考蚂蚁课堂1.分布式理论之强一致性概念假如说有一个mysql集群,然后数据库表中有一个字段name。如图所示name原来的值都是张三,然后这个时候突然name被更改为李四。这个时候你查MySQL1一定会查到name值为李四,你查MySQL2,name值也为李四,这就是数据库强一致性。但是由于在数据同步的过程中网络
原创
发布博客 2022.04.08 ·
2591 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Zookeeper实现分布式锁

文章目录1.Zookeeper实现事件监听通知2.分布式锁的概念2.1分布式锁应用场景2.2实现方案2.3基于zookeeper实现分布式锁的思路2.3.1创建分布式锁的原理2.3.2释放锁的原理3. zk分布式锁的实现4.如何防止死锁问题参考蚂蚁课堂1.Zookeeper实现事件监听通知zookeeper可以实现对节点不同行为进行监听比如说之前payment-service下面有两个节点一个是8080一个是8081。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-k9
原创
发布博客 2022.04.07 ·
1107 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Zookeeper作为服务注册中心

文章目录1.服务注册的简单介绍2.使用zookeeper注册服务3.服务发现4.Eureka与Zookeeper作为注册中心的区别参考蚂蚁课堂1.服务注册的简单介绍这个微服务之间的相互调用和上面的图类似,首先会有一个注册中心,生产者把自己的IP地址与端口号注册到注册中心上,然后消费者从注册中心获取生产者的IP地址和端口号,然后通过本地RPC远程调用生产者服务。如果我们用zookeeper实现服务注册的话那就是在zookeeper下面创建节点比如说/payment-service(服务名称),如果是
原创
发布博客 2022.04.05 ·
1798 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

Zookeeper简介

文章目录1. Zookeeper的应用场景有哪些?2. Zookeeper用Java语言连接3.通过CountDownLatch优化上述代码4.zookeeper的四种节点类型5.ACL权限控制参考蚂蚁课堂1. Zookeeper的应用场景有哪些?Zookeeper 简称zk相当于分布式领域的协调者。主要应用场景:1.分布式锁2.Dubbo服务注册3.分布式配置中心4.分布式消息中间件5.发布订阅(事件通知)6.Master选举zookeeper类似于文件系统,zookeeper把文件定
原创
发布博客 2022.04.04 ·
1439 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

手把手教你搭Redis Cluster集群——Redis Cluster的搭建与原理解析

本文介绍了RedisCluster的原理,较为详细的介绍了搭建的完整过程,同时还演示了扩容和缩容操作
原创
发布博客 2022.03.28 ·
2672 阅读 ·
1 点赞 ·
2 评论 ·
13 收藏

手把手教你搭哨兵——哨兵的概念搭建原理解析

Redis哨兵机制实现原理1.Redis主从机制1.1主从复制的概念我们在实际应用中不可能只有一台redis服务器,因为如果这一台redis服务器宕机了,那么就可能导致redis不可用,同时还有可能发生数据丢失。所以这时候我们必须要有从redis做备份。Redis主机既能读又能写,而Redis的从机只能读不能写,当向Redis主机写入数据时必须将数据同步到Redis从服务器上,从而保证数据的一致性。这里要注意一下,保证数据一致性一定是弱一致性,不是强一致性。强一致性要求我向主机写入数据之后数据必须
原创
发布博客 2022.03.28 ·
3757 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏
加载更多