摘要:
堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示: 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生带即方法区 阅读全文
posted @ 2021-05-12 20:56
白露~
阅读(698)
评论(0)
推荐(0)
|
摘要:
堆内存划分为 Eden、Survivor 和 Tenured/Old 空间,如下图所示: 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC,对老年代GC称为Major GC,而Full GC是对整个堆来说的,在最近几个版本的JDK里默认包括了对永生带即方法区 阅读全文
posted @ 2021-05-12 20:56
白露~
阅读(698)
评论(0)
推荐(0)
摘要:
题目:有两个有序数组a[]和b[],将它们合并成数组c[],需要c[]也是有序数组。 思路:新建一个以两个集合长度之和为长度的新数组,从两数组最左边开始比起,把小的放入新集合,并用变量标记后一位置, public class MyClass { public static void main(Str 阅读全文
posted @ 2021-05-12 20:34
白露~
阅读(590)
评论(0)
推荐(0)
摘要:
最近用java抓取数据的时候,遇到了需要对拿到的List集合按照多个字段进行排序。首先得让排序的实体类实现Comparable类并且重写它的compareTo方法,在compareTo中你可以自定义排序的规则。如果前者大于后者,则返回1,若果相等则返回0,若果前者小于后者,则返回-1;String字 阅读全文
posted @ 2021-05-12 19:43
白露~
阅读(2424)
评论(0)
推荐(0)
摘要:
目录 21_合并两个有序链表 描述 解法一:迭代 思路 Java 实现 Python 实现 解法二:递归 思路 Java 实现 Python 实现 描述 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出 阅读全文
posted @ 2021-05-12 19:36
白露~
阅读(126)
评论(0)
推荐(0)
摘要:
题目: 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4看到这个题,让我想起上次写的博客,合并两个有序的数组。这个题,是链表的合并,这就比较好移动,可以用递归实现链表的 阅读全文
posted @ 2021-05-12 19:23
白露~
阅读(772)
评论(0)
推荐(0)
摘要:
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例: 输入:1->2->4, 1->3->4输出:1->1->2->3->4->412思想: 从两个有序链表的第一个结点开始比较,val值小的结点尾插入结果链表。具体实现: 定义变量(1)定义变量 cur1 阅读全文
posted @ 2021-05-12 19:08
白露~
阅读(547)
评论(0)
推荐(0)
摘要:
这边博文介绍Rocketmq的延迟消息的实现管理。文章直接将不会介绍RocketMq的组件,后续将会补上。 首先上图: 定义用户topic为study_rocketmq_topic。流程如下: 1.消息消费者将message投递到broker的commitLog服务 2.commitLog服务判断m 阅读全文
posted @ 2021-05-12 18:36
白露~
阅读(2305)
评论(0)
推荐(0)
摘要:
RocketMQ简介 RocketMQ是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠、万亿级容量、灵活可伸缩的消息发布与订阅服务。 它前身是MetaQ,是阿里基于Kafka的设计使用Java进行自主研发的。在2012年,阿里将其开源, 在2016年,阿里将其捐献给Apac 阅读全文
posted @ 2021-05-12 18:34
白露~
阅读(670)
评论(0)
推荐(0)
摘要:
Sentinel 是阿里中间件团队研发的面向分布式服务架构的轻量级高可用流量控制组件,于 2018 年 7 月正式开源。Sentinel 主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户提升服务的稳定性。大家可能会问:Sentinel 和之前经常用到的熔断降级库 Netfl 阅读全文
posted @ 2021-05-12 18:01
白露~
阅读(114)
评论(0)
推荐(0)
摘要:
小灰的答题策略,是遇到难题不断思考、不断思考,一直到考试结束为止。可以用下面这张图流程图来表示: 大黄的答题策略,是遇到难题先尝试几次思考,如果尝试一定次数不成功,则果断放弃,继续回答别的题目。等别的题目回答完毕,再回过头来重新思考那道难题。可以用下面这张图流程图来表示: 什么是服务熔断? 熔断这一 阅读全文
posted @ 2021-05-12 17:56
白露~
阅读(316)
评论(0)
推荐(0)
摘要:
1. 熔断1.1 熔断来源我们家用电闸上都有保险丝模块,当电压出现短路问题时,自动跳闸,此刻电路主动断开,我们的电器就会收到保护。否则,不能断开,后果不堪设想。保险丝就是一个自我保护装置,保护整个电路。1.2 分布式系统中的熔断在分布式系统中,我们往往需要依赖下游服务,不管是内部系统还是第三方服务, 阅读全文
posted @ 2021-05-12 17:52
白露~
阅读(1168)
评论(0)
推荐(0)
摘要:
常用限流算法的应用场景和实现原理 降级-熔断-限流-傻傻分不清楚 什么是服务熔断? 阅读全文
posted @ 2021-05-12 17:43
白露~
阅读(385)
评论(0)
推荐(0)
摘要:
在高并发业务场景下,保护系统时,常用的"三板斧"有:"熔断、降级和限流"。今天和大家谈谈常用的限流算法的几种实现方式,这里所说的限流并非是网关层面的限流,而是业务代码中的逻辑限流。 限流算法常用的几种实现方式有如下四种: 计数器 滑动窗口 漏桶 令牌桶 下面会展开说每种算法的实现原理和他们自身的缺陷 阅读全文
posted @ 2021-05-12 17:23
白露~
阅读(453)
评论(0)
推荐(0)
摘要:
Redis实现分布式锁 最近看分布式锁的过程中看到一篇不错的文章,特地的加工一番自己的理解: Redis分布式锁实现的三个核心要素: 1.加锁 最简单的方法是使用setnx命令。key是锁的唯一标识,按业务来决定命名,value为当前线程的线程ID。 比如想要给一种商品的秒杀活动加锁,可以给key命 阅读全文
posted @ 2021-05-12 15:23
白露~
阅读(320)
评论(0)
推荐(0)
摘要:
1.限流2.限流算法 2.1计数器 2.2 漏桶算法 2.3 令牌桶算法 2.4、滑动时间窗 2.5、三色速率标记法三、限流实现 3.1 RateLimiter简介(guava的令牌桶实现) 3.2 基于 redis 的分布式限流 3.3 Spring Cloud GateWay整合redis内置R 阅读全文
posted @ 2021-05-12 14:23
白露~
阅读(2527)
评论(0)
推荐(0)
摘要:
我们知道,布隆过滤器是不可变的,但如果布隆过滤器容量确实不够了,该怎么办呢?或者如果要每个月都删除几个月前的去重数据,该如何处理呢?这边要记录一种布隆过滤器的巧用,多个布隆过滤器组成的循环布隆过滤器。 布隆过滤器 布隆过滤器的细节这边不做赘述,他在创建的时候就确定了容量以及错误率(false pos 阅读全文
posted @ 2021-05-12 13:59
白露~
阅读(1065)
评论(0)
推荐(0)
摘要:
《玩转Redis》系列文章主要讲述Redis的基础及中高级应用。本文是《玩转Redis》系列第【11】篇,最新系列文章请前往公众号“zxiaofan”查看,或百度搜索“玩转Redis zxiaofan”即可。 往期精选:《玩转Redis-HyperLogLog原理探索》 本文关键字:玩转Redis、 阅读全文
posted @ 2021-05-12 13:45
白露~
阅读(1463)
评论(0)
推荐(0)
摘要:
如何查看一个东西是否在有大量数据的池子里面? Bloom Filter(布隆过滤器)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素 阅读全文
posted @ 2021-05-12 13:32
白露~
阅读(1007)
评论(0)
推荐(0)
|