会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
SHAN_CODE_NOTE
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2023年8月21日
【RocketMQ】消息的存储
摘要: 当Broker收到生产者的消息发送请求时,会对请求进行处理,从请求中解析发送的消息数据,接下来以单个消息的接收为例,看一下消息的接收过程。 数据校验 封装消息 首先Broker会创建一个MessageExtBrokerInner对象封装从请求中解析到的消息数据,它会将Topic信息、队列ID、消息内
阅读全文
posted @ 2023-08-21 22:38 shanml
阅读(788)
评论(0)
推荐(1)
2023年8月16日
【RocketMQ】MQ消息发送
摘要: RocketMQ是通过DefaultMQProducer进行消息发送的,它实现了MQProducer接口,MQProducer接口中定义了消息发送的方法,方法主要分为三大类: send同步进行消息发送,向Broker发送消息之后等待响应结果; send异步进行消息发送,向Broker发送消息之后立刻
阅读全文
posted @ 2023-08-16 21:51 shanml
阅读(340)
评论(0)
推荐(3)
2023年8月2日
【面试题】多线程面试题总结
摘要: 最近在看面试题,所以想用自己的理解总结一下,便于加深印象。 为什么使用多线程 使用多线程可以充分利用CPU,提高CPU的使用率。 提高系统的运行效率,对于一些复杂或者耗时的功能,可以对其进行拆分,比如将某个任务拆分了A、B、C三个子任务,如果子任务之间没有依赖关系,那么就可以使用多线程同时运行A、B
阅读全文
posted @ 2023-08-02 23:38 shanml
阅读(122)
评论(0)
推荐(0)
2023年7月29日
【Java】使用fastjson进行序列化时出现空指针异常问题研究
摘要: 最近在使用fastjson的`JSONObject.toJSONString()`方法将bean对象转为字符串的时候报如下错误: com.alibaba.fastjson.JSONException: write javaBean error, fastjson version 1.2.58, class com.sun.proxy.$Proxy395, fieldName : 0 Caused by: java.lang.NullPointerException: null
阅读全文
posted @ 2023-07-29 22:32 shanml
阅读(3318)
评论(0)
推荐(0)
2023年7月21日
【Spring】@RequestBody的实现原理
摘要: @RequestBody注解可以用于POST请求接收请求体中的参数,使用方式如下: ``` java @Controller public class IndexController { @PostMapping(value = "/submit", produces = MediaType.APP
阅读全文
posted @ 2023-07-21 23:16 shanml
阅读(1545)
评论(0)
推荐(2)
2023年5月25日
【RocketMQ】NameServer
摘要: NameServer是一个注册中心,提供服务注册和服务发现的功能。NameServer可以集群部署,集群中每个节点都是对等的关系(没有像ZooKeeper那样在集群中选举出一个Master节点),节点之间互不通信。 服务注册 Broker启动的时候会向所有的NameServer节点进行注册,注意这里
阅读全文
posted @ 2023-05-25 23:29 shanml
阅读(680)
评论(0)
推荐(1)
2023年4月9日
机械硬盘与固态硬盘的适用场景
摘要: 之前一直以为固态硬盘各方面都比机械硬盘性能高,所以首选固态硬盘,直到看了极客时间-深入浅出计算机组成原理中硬盘相关章节的内容,才发现固态硬盘原来是有缺点的,所以这里来做一个总结。 机械硬盘(HDD) 机械硬盘由以下几个部分组成: 盘面:盘面(盘片)上有一层磁性涂层,数据就是存储在这个磁性的涂层上,一
阅读全文
posted @ 2023-04-09 21:51 shanml
阅读(1064)
评论(0)
推荐(0)
2023年2月26日
【RocketMQ】【源码】Dledger日志复制源码分析
摘要: 消息存储 在 【RocketMQ】消息的存储一文中提到,Broker收到消息后会调用CommitLog的asyncPutMessage方法写入消息,在DLedger模式下使用的是DLedgerCommitLog,进入asyncPutMessages方法,主要处理逻辑如下: 调用serialize方法
阅读全文
posted @ 2023-02-26 22:23 shanml
阅读(468)
评论(1)
推荐(1)
2023年2月25日
【MySQL】MVVC机制
摘要: MySQL隔离级别 读未提交(Read Uncommitted):某个事务读到了其他还未提交的事务对数据所作的修改,也就是某个事务只要修改了数据,其他事务就可以看到所作的修改。 这种隔离级别下会发生脏读、不可重复读、幻读。 读提交(Read Committed):某个事务提交之后,才可以被其他事务看
阅读全文
posted @ 2023-02-25 10:57 shanml
阅读(937)
评论(0)
推荐(0)
2023年2月15日
【RocketMQ】【源码】DLedger选主源码分析
摘要: RocketMQ 4.5版本之前,可以采用主从架构进行集群部署,但是如果master节点挂掉,不能自动在集群中选举出新的Master节点,需要人工介入,在4.5版本之后提供了DLedger模式,使用Raft算法,如果Master节点出现故障,可以自动选举出新的Master进行切换。 Raft协议 R
阅读全文
posted @ 2023-02-15 22:35 shanml
阅读(646)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页
公告