- 博客(5)
- 收藏
- 关注
原创 Sentinel中冷启动限流原理WarmUpController
冷启动所谓冷启动,或预热是指,系统长时间处理低水平请求状态,当大量请求突然到来时,并非所有请求都放行,而是慢慢的增加请求,目的时防止大量请求冲垮应用,达到保护应用的目的。Sentinel中冷启动是采用令牌桶算法实现。令牌桶算法图例如下:预热模型Sentinel中的令牌桶算法,是参照Google Guava中的RateLimiter,在学习Sentinel中预热算法之前,先了解下整个预热模型,如下图:Guava中预热是通过控制令牌的生成时间,而Sentinel中实现不同:不控制每个请求通过的时间间
2021-08-06 14:47:24 1947
原创 Spring Cloud Gateway 调用Feign异步问题
Spring Cloud Gateway 调用Feign异步报错问题#HttpMessageConverters#异步调用问题#HttpMessageConverters#异步调用问题
2021-04-19 15:47:34 10530 18
原创 MAT进行JVM内存分析实例
背景描述公司小程序商城项目,服务器为阿里云。前段时间总是出现服务器CPU报警现象(设置的阈值为95%,CPU使用率大于95%会自动报警)。通过占用命令查看,迅速锁定当前运行的java进程。基础知识MAT简介Eclipse Memory Analyzer是一个快速且功能丰富的Java堆分析器,可帮助您查找内存泄漏并减少内存消耗。使用Memory Analyzer分析具有数亿个对象的高效堆转储,快速计算对象的保留大小,查看谁阻止垃圾收集器收集对象,运行报告以自动提取泄漏嫌疑者。Heap Dump首
2020-11-18 16:39:59 482
原创 Java Poi 在Excel中输出特殊符号
最近的工作围绕报表导出,并没有集成相应的报表插件,只是使用了Poi。其中有一个需求,Excel中导出特殊符号,如√、×等。在网上找寻了许久,没有相关资料,故记录分享一下。思考良久,走了不少弯路,最后受 System.out.println() 启发,实现方式真的超级简单。每一个特殊符号,都对应一个Unicode编码,我们只需要将特定的符号,转变成Unicode编码,进行输出即可。相应的代码输出:cell.setCellValue("\u221A");另附自己编写的Excel工具类,支持单表、主
2020-07-16 11:02:25 3946 4
原创 Java集合源码学习之HashMap
HashMap底层是通过动态数组+链表(或红黑树),具有以下特点:数组的动态扩容保证链表与红黑树的转化每一个存储的K-V对象都是一个Map.Entry<K,V>对象红黑树红黑树是一种特殊的平衡二叉树(AVL)。红黑树在插入和删除上比平衡二叉树效率高;在数据的查询上,由于可能存在的树的高度比AVL树高一层,查询性能略差。红黑树具有以下特点:每一个节点都有一个标志位标识,或者是黑色,或者是红色根节点一定是黑色每个叶子节点是黑色如果一个节点是黑色,它的子节点一定是红色从一个
2020-05-31 18:25:08 243
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人