
编程
踏雪无痕丶
个人博客 http://www.wuwenliang.net
优快云只是拿来消遣的,拷贝党太多了,嘻嘻
展开
-
c++大数计算
不会的迟早要补回来的!下面是C++大数操作。放这里纪念一下,水平不高,大家别取笑~[cpp] view plaincopyprint?#include #include #include #include #include using namespace std; #define MAX 1000 string intToStrin转载 2014-08-21 22:58:44 · 695 阅读 · 0 评论 -
跟我学RocketMQ之消息消费源码解析(1)
本文我们接着分析一下RocektMQ实现消息消费的源码细节,这部分的内容较多,因此拆分为几个章节分别进行讲解。 本章节重点讲解DefaultMQPushConsumer的代码逻辑。 DefaultMQPushConsumer使用样例 按照惯例还是先看一下DefaultMQPushConsumer的使用样例。 @PostConstruct public void i...原创 2019-08-15 17:17:05 · 1584 阅读 · 0 评论 -
跟我学RocketMQ之批量消息发送源码解析
上篇文章 跟我学RocketMQ之消息发送源码解析 中,我们已经对普通消息的发送流程进行了详细的解释,但是由于篇幅问题没有展开讲解批量消息的发送。本文中,我们就一起来集中分析一下批量消息的发送是怎样的逻辑。 DefaultProducer.send RocketMQ提供了批量发送消息的API,同样在DefaultProducer.java中 @Override pub...原创 2019-08-15 17:13:59 · 1247 阅读 · 0 评论 -
手写JDK组件之阻塞队列BlockedQueue
研究了一段时间框架,有点审美疲劳,今天讲点轻松的,手写一个阻塞队列,实践一把lock+condition。 “等待通知”机制 首先复习一下经典的 “等待通知”机制。 线程首先获取互斥锁,当线程要求的条件不满足时,释放互斥锁,进入等待状态;当要求的条件满足时,通知等待的线程,重新获取互斥锁 --《极客时间-Java并发编程实战》 在Java中实现 “等待通知” ...原创 2019-08-20 11:21:46 · 1576 阅读 · 0 评论 -
跟我学RocketMQ之消息发送源码解析
本文我将带领读者朋友对RocketMQ生产者如何发送消息这一流程进行源码层面的解析。内容偏干,请自备白开水。 生产者初始化 进行消息发送的前提是先对生产者进行初始化,一段较为常规的生产者初始化示例代码如下 @Value("${rocketmq.nameServer}") String nameSrvAddr; @PostConstruct publ...原创 2019-08-07 16:30:32 · 659 阅读 · 0 评论 -
跟我学RocketMQ之消息幂等
在上篇中,我们了解了RocketMQ中的消息重试机制以及如何在Producer、Consumer两端对重试消息进行处理。 RocketMQ会在消息消费时,按照一定规则推送消息到消费者端进行消息重试。这里涉及到了消息幂等的概念。 首先我们了解一下什么是幂等,以及何为消息幂等。 什么是幂等 百度对 “幂等” 解释如下 设f为一由X映射至X的一元运算,则f为幂等的,当对于所...原创 2019-08-05 09:40:41 · 1553 阅读 · 1 评论 -
SpringBoot2.x直接整合Feign实现远程接口调用[尝鲜]
SpringBoot2.x直接整合Feign实现远程接口调用[尝鲜]原创 2019-07-24 19:14:05 · 6494 阅读 · 0 评论 -
自己写分布式锁-基于redission
自己写分布式锁-基于redission原创 2019-07-24 11:24:25 · 1221 阅读 · 2 评论 -
再谈分布式锁之剖析Redis实现
再谈分布式锁之剖析Redis实现原创 2019-07-24 11:07:08 · 1007 阅读 · 0 评论 -
俄罗斯方块开发小结
学习Java半年有余,总想做点什么出来,而不是只纠结与语法和各种类包不可自拔。 于是我想,何不搞一个小游戏出来。 俄罗斯方块?脑海里浮现出这个名字,就它了,逻辑简单,对于我而言更可控, 在网上查找相关的规则之后,经过五天的编码和设计,终于做了出来。我也不多说废话了,直接贴代码,注释很详细了,希望可以帮到大家~1. 主逻辑的实现:游戏流程控制 //package 俄罗斯原创 2014-12-07 20:58:12 · 1730 阅读 · 0 评论 -
设置cl环境变量
vc2008 cl命令环境变量设置由于执行C:\Program Files\Microsoft Visual Studio 9.0\VC\bin下的vcvars32.bat每次只是在当前命令行窗口起作用,设置环境变量后就更方便操作了首先是cl命令行目录:C:\Program Files\Microsoft Visual Studio 9.0\VC\bin,将它加到path环境变量下原创 2014-09-19 22:20:56 · 1754 阅读 · 0 评论 -
跟我学RocketMQ之消息消费源码解析(2)
本文我们接着分析RocketMQ消息消费的逻辑。 接上文,DefaultMQPushConsumerImpl启动过程中,启动了consumeMessageService消息消费线程。 if (this.getMessageListenerInner() instanceof MessageListenerOrderly) { ...原创 2019-08-15 17:20:12 · 560 阅读 · 0 评论