自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (4)
  • 收藏
  • 关注

原创 Reactor3 源码解析六: FluxPublishOn源码剖析(1)

Flux.create(emitter -> { for (int i = 0; i <= 5; i++) { if (emitter.isCancelled()) { return; } System.out.println(Thread.currentThread().getName() + ":Source created " + i); emitter.next(i); } }).doOnNext(s -&...

2020-12-31 10:23:13 768 1

原创 Reactor3 源码解析五: FluxGenerate源码剖析

Flux.generate((synchronousSink) -> { synchronousSink.next(1); //不支持多个next操作 //synchronousSink.next(2); }) .subscribe(System.out::println);执行结果: System.out.println(1)被执行无数次

2020-12-30 16:00:55 702

原创 Reactor3 源码解析四: FluxCreate源码剖析

FluxCreate与FluxArray一样implements SourceProducer,都是最底层的生产者(非中间层)。与FluxArray最明显的不同是,FluxCreate实现背压backpressure的功能(背压是响应式编程的一个亮点)。调用方式 Flux.create(sink -> { //向下游发布元素 for (int i = 0; i <= 100; i++) { sink.next(i);

2020-12-30 11:21:40 1158 1

原创 Reactor3 源码解析三: FluxPeek源码剖析

FluxPeek是一个中间操作,peek译义为"偷窥",简单的理解就是对上下游的onSubscribe,onNext,onError,onComplete,request等进行增强操作,类似实现了spring aop的功能。Flux.just("tom", "jack", "allen") .filter(s -> s.length() > 3) .map(s -> s.concat("@qq.com")) .doOnNext(s -> { ...

2020-12-30 10:47:31 608 1

原创 Reactor3 源码解析二: 一个简单的例子(2)

Flux.just("tom", "jack", "allen") .filter(s -> s.length() > 3) .map(s -> s.concat("@qq.com")) .subscribe(System.out::println);上篇文章主要针对此代码的源码全程跟踪了一遍,下面将对整个调用(主过程)进行一个总结:生产者链式构建1.FluxArray2. FluxFilter(FluxArray)3. Fl...

2020-12-29 17:32:43 494 1

原创 Reactor3 源码解析一: 一个简单的例子(1)

拆解源码之前,可以先参阅入门文章Project Reactor 核心原理解析及Reactive响应式流入门。实例: Flux.just("tom", "jack", "allen") .filter(s -> s.length() > 3) .map(s -> s.concat("@qq.com")) .subscribe(System.out::println);1. 通过静态方法Flux.just生成一个FluxArray对象...

2020-12-29 14:19:43 997

转载 rocketmq为什么要把nameserver与broker master分开部署

“我们不生产水,我们只是大自然的搬运工”. 分享传播优秀的技术类文章,当然偶尔也来篇原创,哈哈。从年末生产故障解锁RocketMQ集群部署的最佳实践1、故障描述RocketMQ 集群采取的部署架构为2主2从,其部署架构如下图所示:其部署架构中一个非常明显的特点是一台物理机上分别部署了 nameserver,broker 两个进程。其中一台机器(192.168.3.100)的内存出现故障,导致机器重启,但Linux操作系统由于重启需要自检等因素,整个重启过程竟然持续了...

2020-12-28 11:21:58 1196

原创 网约车派单之筛选司机

乘客通过网约车下单,以订单上车点为中心,筛选周围满足条件的司机。筛选条件主要有如下维度:1. 位置筛选 考虑到导航距离筛选,需要结合路况,成本较高,一般先直接距离筛选,以订单起始点坐标为中心画圆,查询半径 radius内的司机2. 司机基本信息筛选 如司机状态、车辆车型、司机心跳、服务城市等3. 复杂信息筛选 如限行策略、合规策略、特定区域满足特定条件的司机筛选等复杂信息筛选,这里使用责任链接模式,每个节点调用相关的第三方服务,做好timeout设置及降级策略。下文主要讨论...

2020-12-24 19:25:39 988

原创 21. SqSentinel使用陷阱

SqSentinel基于Spring AOP使用注解@SqSentinelResource的方式对请求进行限流和降级处理, 使用方式可参见SqSentinel接入指南, 在使用过程中需慎入如下陷阱。陷阱1: Spring AOP仅对Spring管理的bean进行增强操作。NewOrderArrivalHallRunnable是内部类,非ApplicationContext管理的类,因此即使使用@SqSentinelResource注解,限流降级功能也不会生效。eclipse 警告fallbackE...

2020-12-24 16:12:56 200

转载 泛型中? super T和? extends T的区别

原文链接经常发现有List<? super T>、Set<? extends T>的声明,是什么意思呢?<? super T>表示包括T在内的任何T的父类,<? extends T>表示包括T在内的任何T的子类,下面我们详细分析一下两种通配符具体的区别。extendsList<? extends Number> foo3的通配符声明,意味着以下的赋值是合法的:// Number "extends" Number (in th.

2020-12-18 17:12:01 252 1

转载 通俗易懂,TCP为啥要三次握手?

偶然的机会,看到一篇朋友圈里推荐的文章老生常谈,TCP为啥要三次握手?感觉这应该是看过的"TCP三次握手"中最通俗易懂的啦。猛然想到了大学里讲编译原理的孙悦红老师,"没有听不懂的课程,只有讲的不清楚的课程"...

2020-12-14 11:22:02 86

原创 计算时间差的正确姿势

第一步先摆出结论,第二步摆出证据证明结论来自阿里开发手册:获取当前毫秒数System.currentTimeMillis(),而不是new Date().getTime();注意:如果想要获取更加精确的纳秒级时间值,使用System.nanoTime()的方式。在jdk8中,针对统计时间等场景,推荐使用Instant类。直白点就是: 当想获取当前毫秒数时,System.currentTimeMillis()优于new Date().getTime()。 如果你想获取到的时间值更精..

2020-12-14 11:01:48 536

原创 redis性能指标数据

基础:单机 4G内存 1000M带宽 redis版本:5.0.7测试: 单机redis命令avg rt维度: 100000request,200客户端并发,value字节数分别为20000|2000|200|20结论: 1. string类型get请求单机qps 10W,set|list|zset|hash 6K上下 2. string类型的value值大小会影响到avg rt,2000字节以下影响很小, 2000以上影响较明显(这个影响其实并非redis本身的性能...

2020-12-04 18:46:29 1294

一份详尽的jdbc教材

一份非常详尽的jdbc教材,入门和提高必备。JAVA程序员

2018-06-27

JAVA单点登录

单点登录实例、JAR包及相关说明、常见异常等.非常不错的资源。

2013-04-26

lucene in action第二版(word版)

这是公认的最优秀的讲解lucene的书。书中详细讲解了lucene 2.9 API的使用,并指明了使用lucene构建搜索引擎的经验,包括:内存溢出、分页技巧、分词、结果打分、update索引注意事项等等。

2010-04-02

"四人帮"设计模式(达内串讲)

介绍了"四人帮模式"中最常见的十九种,很值的收藏一下

2009-05-13

空空如也

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

TA关注的人

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