摘要: Java改变生成随机数的平均值(改变生成随机数的概率)最近做普通商户微信发红包的接口,需求是可以发1-100元的红包,要求总红包金额的平均值为2按照Java的random函数生成红包金额:1+ (new Random().nextFloat() * (100- 1)),均值自然在50元左右怎么办?恩 阅读全文
posted @ 2020-06-05 20:31 沫小淘 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 简介网上说的有两种比较公平的算法,一种是二倍均值法,一种是线段切割法。下面我们介绍下两种算法的实现: 二倍均值法原理剩余红包金额M,剩余人数N,那么:每次抢到金额=随机(0,M/N*2)保证了每次随机金额的平均值是公平的假设10人,红包金额100元第一人:100/10*2=20,随机范围(0,20) 阅读全文
posted @ 2020-06-05 20:00 沫小淘 阅读(1387) 评论(0) 推荐(0) 编辑
摘要: 一、写在前面 现在面试,一般都会聊聊分布式系统这块的东西。通常面试官都会从服务框架(Spring Cloud、Dubbo)聊起,一路聊到分布式事务、分布式锁、ZooKeeper等知识。 所以咱们这篇文章就来聊聊分布式锁这块知识,具体的来看看Redis分布式锁的实现原理。 说实话,如果在公司里落地生产 阅读全文
posted @ 2020-06-05 19:54 沫小淘 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 概要 Redis不仅可作为缓存服务器,还可用作消息队列。它的列表类型天生支持用作消息队列。如下图所示: 由于Redis的列表是使用双向链表实现的,保存了头尾节点,所以在列表头尾两边插取元素都是非常快的。 普通队列实现 所以可以直接使用Redis的List实现消息队列,只需简单的两个指令lpush和r 阅读全文
posted @ 2020-06-05 10:39 沫小淘 阅读(249) 评论(0) 推荐(0) 编辑