上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 35 下一页

2022年1月11日

排序--基数排序

摘要: 基数排序的介绍 基数排序也是非比较的排序算法,对每一位进行排序,从最低位开始排序,复杂度为O(kn),为数组长度,k为数组中的数的最大的位数; ​ 基数排序是按照低位先排序,然后收集;再按照高位排序,然后再收集;依次类推,直到最高位。有时候有些属性是有优先级顺序的,先按低优先级排序,再按高优先级排序 阅读全文

posted @ 2022-01-11 22:25 胡子就不刮 阅读(60) 评论(0) 推荐(0) 编辑

排序--希尔排序

摘要: 希尔排序的介绍 希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名 ​ 希尔排序是把记录按下标的一定增量 阅读全文

posted @ 2022-01-11 22:21 胡子就不刮 阅读(42) 评论(0) 推荐(0) 编辑

2022年1月10日

Sentinel 限流

摘要: 限流分为单机和分布式两种,单机限流是指限定当前进程里面的某个代码片段的 QPS 或者 并发线程数 或者 整个机器负载指数,一旦超出规则配置的数值就会抛出异常或者返回 false。我把这里的被限流的代码片段称为「临界区」 而分布式则需要另启一个集中的发票服务器,这个服务器针对每个指定的资源每秒只会生成 阅读全文

posted @ 2022-01-10 20:36 胡子就不刮 阅读(1177) 评论(0) 推荐(0) 编辑

2022年1月9日

限流算法

摘要: 限流算法--Google的Guava令牌桶 pom依赖 <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>29.0-jre</version> </dependency> 阅读全文

posted @ 2022-01-09 23:38 胡子就不刮 阅读(66) 评论(0) 推荐(0) 编辑

2022年1月7日

4种延时任务实现方案

摘要: 业务场景 我们买火车票或者叫外卖的时候,下完单之后会跳转到支付页面,页面里通常会有一个计时器,要求在指定时间内完成支付,否则订单就会被自动取消。这就是延时任务的一个典型业务场景。分析这个场景,其实最关键的就是如何在订单超时的时候立即触发取消订单的动作。 那么如何实现这种延时业务呢?通常有以下4种方案 阅读全文

posted @ 2022-01-07 17:34 胡子就不刮 阅读(590) 评论(0) 推荐(0) 编辑

RocketMQ Namesrv

摘要: RocketMQ 技术架构 整体由几大部分组成:生产者、消费者、namesrv、broker、zookeeper 生产端: 生产端集群化部署,通过Namesrv进行路由,将消息发送到broker。 消费端: 消费端集群化部署,通过Namesrv进行路由,从broker拉取消息进行消费。 broker 阅读全文

posted @ 2022-01-07 16:33 胡子就不刮 阅读(606) 评论(0) 推荐(0) 编辑

2021年12月31日

一个由“ YYYY-MM-dd ”引发的惨案 !元旦来临前的警惕

摘要: # 前言 在元旦假期到来之际,我刚好准备出去飘几天,然而在使用一些 App 的时候,竟然被我发现了一个应该是由于前端粗心而导致的 bug,在 2019.12.30 出发,结果 App 上显示的是 2020.12.30(吓得我以为我的订单下错了,此处是不是该把程序员拉去祭天了) 鉴于可能会有程序员因此 阅读全文

posted @ 2021-12-31 09:42 胡子就不刮 阅读(70) 评论(0) 推荐(0) 编辑

2021年12月28日

java 分布式id

摘要: 分布式id总体思想:全局唯一 + 局部唯一 1 基于UUID UUID的核心思想是使用「机器的网卡、当地时间、一个随机数」来生成UUID UUID.randomUUID().toString()就可以生成 2 基于DB数据库多种模式 数据库自增ID 指定主键auto_increment(自增) 数据 阅读全文

posted @ 2021-12-28 16:42 胡子就不刮 阅读(465) 评论(0) 推荐(0) 编辑

java 生成GUID

摘要: 全局唯一标识符(GUID,Globally Unique Identifier)是一种由算法生成的二进制长度为128位的数字标识符,一般用16进制表示。在理想情况下,任何计算机和计算机集群都不会生成两个相同的GUID。算法的核心思想是结合机器的网卡、当地时间、一个随机数来生成GUID。从理论上讲,如 阅读全文

posted @ 2021-12-28 16:16 胡子就不刮 阅读(8889) 评论(0) 推荐(0) 编辑

2021年12月26日

java ArrayList和LinkedList的区别

摘要: 通常情况下,ArrayList和LinkedList的区别有以下几点: 1. ArrayList是实现了基于动态数组的数据结构,而LinkedList是基于链表的数据结构 2. 对于随机访问get和set,ArrayList要优于LinkedList,因为LinkedList要移动指针 3. 对于添 阅读全文

posted @ 2021-12-26 22:27 胡子就不刮 阅读(1647) 评论(0) 推荐(0) 编辑

上一页 1 ··· 3 4 5 6 7 8 9 10 11 ··· 35 下一页

导航