后端

分布式限流 redission RRateLimiter 的使用及原理

前提 最近公司在做有需求在做分布式限流,调研的限流框架大概有 1、spring cloud gateway集成redis限流,但属于网关层限流 2、阿里Sentinel,功能强大、带监控平台 3、srping cloud hystrix,属于接口层限流,提供线程池与信号量两种方式 4、其他:redission、手撸代码 实际需求情况属于业务端限流,redission更加方便,使用更加灵活,下面介绍

Android FrameWork--SytemServer进程fork

1、Linux的fork 在Linux平台我们可以通过fork系统调用来创建一个新的进程,这个新的进程将会拥有原始进程的一份副本,包括代码、数据、内存等等。唯一的区别是新的进程拥有一个新的ID,使得它成为一个独立的进程,运行自己的代码。 fork()系统调用会返回两次,在原始进程中会返回进程ID,在新的进程中会返回0。两个进程可以执行相同的任务,也可以按照需要执行不同的代码。 fork的例子 #i

leetcode数据结构题集 - 草稿

题目1:     给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。     你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。     你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因

Android不要通过Application来保存数据或其他其他变量

在我们的应用程序中,很多地方可能用到同一个数据。很多时候我们可能不想通过Intent在Activity之间传递数据或者持久化的存放这些数据。 我们可能会将这些数据存在在Application中,这样我们就可以在所有的Activity中访问了,这个方法简单,但是实际上是错误的。你的程序很可能会因为报空指针错误。 我们在MainActivity中获取Ap

LeetCode 周赛 335,纯纯手速场!

大家好,我是小彭。 昨晚是 LeetCode 第 335 场周赛,你参加了吗?这场周赛整体难度不高,有两道模板题,第三题和第四题应该调换一下位置。 2582. 递枕头(Easy) 题目地址 题目描述 n 个人站成一排,按从 1 到 n 编号。 最初,排在队首的第一个人拿着一个枕头。每秒钟,拿

Spring 核心技术解析【纯干货版】- XIX:Spring 日志模块 Spring-Jcl 模块精讲

在现代 Java 开发中,日志是调试、监控和维护应用程序的重要工具。Spring 作为企业级框架,提供了 Spring-Jcl 作为日志抽象层,使开发者可以灵活切换不同的日志实现,而无需修改业务代码。本篇文章将深入解析 Spring-Jcl 模块,并通过一个 案例,展示如何集成 Log4j 进行日志管理&#x

nginx一个端口代理多个前后端服务

1、代理多个前端服务: 必须使用alias----(这我很不理解为什么,都用root就会404,有知道的大神请告知下!) 使用alias和root区别:在于资源路径的匹配解读上! 访问root定义的资源路径,会带着location后的uri和root指定的资源路径组合在一起去访问服务器资源;alias是忽略localtion后的uri,直接访问alias指定的资源路径; 假设访问的域名:www.

JAVA基础扩展

java配置环境 (1)当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还应到path中指定的路径去找。用户通过设置环境变量,来更好的运行进程。 (2)字节码是不能修改的,若要修改类的结果,需要修改类的源代码,然后将源代码重新编译成字节码 (3)环境变量中classpath的lib和.的作用 配置lib,是Java命令执行时,去lib中找到Java自带的

运行 hello 程序

前面简单描述了系统的硬件组成和操作,现在开始介绍当我们运行示例程序时到底发生了什么。在这里必须省略很多细节,稍后会做补充,但是现在我们将很满意于这种整体上的描述。 初始时,shell 程序执行它的指令,等待我们输入一个命令。假设我们现在要运行一段 hello 程序,当我们在键盘上输入字符串 “./hello” 后,shell 程序将字符逐一读入寄存器,再把它存放到内存中。 当我们在键盘上敲回车键时