杂项
文章平均质量分 65
未整理
坚持每天学习一点
找一个程序员学习搭子 杭州有没有帮我内推的大佬?
展开
-
threadlocal - 黑马程序员
}* }* . . . 从Java官方文档中的描述:ThreadLocal类用来提供线程内部的局部变量。这种变量在多线程环境下访问(通过get和set方法访问)时能保证各个线程的变量相对独立于其他线程内的变量。ThreadLocal实例通常来说都是private static类型的,用于关联线程和线程上下文。原创 2023-12-03 10:13:47 · 675 阅读 · 0 评论 -
JSR303参数校验中BindException、MethodArgumentNotValidException、ConstraintViolationException区别
MethodArgumentNotValidException 异常同样也有两种处理方式继承org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler 类,重写 handleMethodArgumentNotValid() 方法通过 @ExceptionHandler 注解指定要处理的异常,并在处理方法中处理不同的参数校验方式会产生不同的异常。原创 2022-09-13 19:38:46 · 3300 阅读 · 1 评论 -
JSR303的使用
1、JSR303是什么?JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指 :向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation,Hibernate Validator 是 Bean Validation 的参考实现.原创 2021-09-21 21:25:00 · 718 阅读 · 0 评论 -
AntPathMatcher路径匹配器,Ant风格的URL
在描述路径时有个常见叫法:Ant风格的URL,那么什么是Ant风格?AntPathMatcher的描述中有这么一句话:这是从Apache Ant借用的一个概念。“年轻”的朋友可能从没用过甚至没听过Ant,它是一个构建工具,在2010年之前发挥着大作用,但之后逐渐被Maven/Gradle取代,现已几乎销声匿迹。虽然Ant“已死”,但Ant风格似乎要千古。借助Spring强大的号召力,该概念似乎已是规范一样的存在,大家在不成文的约定着、交流着、书写着。原创 2022-09-14 21:28:24 · 718 阅读 · 0 评论 -
Java正则表达式
一、为什么要学习正则表达式1、为了解决上述问题。Java提供了正则表达式技术,专门来处理类似于文本问题2、简单来说:正则表达式是对字符串进行模式匹配的技术3、正则表达式:regular expression => regexp二、正则表达式语法1、元字符-转义号 \\ 在我们使用正则表达式去检索某些特殊字符的时候,需要用到转义符号,否则检索不到结果,甚至会报错例如 用$去匹配...原创 2021-12-24 21:04:00 · 1312 阅读 · 0 评论 -
@Order和@DependsOn的区别
在Spring中创建A对象的时候加上DependsOn(“b”) 注解,可以看到Bean创建的顺序发生了改变。没有加 @order的时候,可以看到 bean的注入顺序就等于 bean的创建顺序。可以看到Bean的创建顺序没有改变,但是iList中Bean的注入顺序改变了。类 A B 都实现了接口 I ,且 A B都由Spring容器创建并且管理。在 controller中对 List。list进行依赖注入。添加 @Order注解。原创 2024-04-04 15:55:27 · 370 阅读 · 0 评论 -
线上问题定位 - Linux上定位线上CPU飙高
【模拟场景】 写一个java main函数,死循环打印 System.out.println(“111111”) , 将其打成jar包放在linux中执行。原创 2023-07-30 14:52:17 · 335 阅读 · 0 评论 -
限流 - 固定窗口算法
从时间0秒开始,每当有新的请求到来,系统都会检查当前秒内已接收的请求总数是否已经达到100个。如果已达到100个,则新的请求会被拒绝,直到下一秒开始,计数器清零,系统再次开始接收新的请求。固定窗口算法是一种常见的限流策略,用于控制访问某资源或服务的速率,确保系统的稳定性。它通过设定一个固定大小的时间窗口(例如1秒、1分钟等),在这个时间窗口内允许的最大请求数是固定的。在窗口切换的瞬间,请求流量可能会出现两倍的峰值,因为前一个窗口的末尾和下一个窗口的开始,理论上可以允许两倍于设定阈值的请求通过。原创 2023-12-26 16:47:48 · 425 阅读 · 0 评论 -
限流 - 滑动窗口算法
一、工作原理二、优缺点三、应用场景四、滑动窗口算法实现Java demo滑动窗口算法是一种动态的限流策略,它相比固定窗口算法提供了更加平滑和精确的流量控制。滑动窗口通过将时间窗口划分为更小的单位,能够更灵活地响应流量的变化,减少因固定窗口切换时可能出现的流量峰值。原创 2024-03-18 14:20:30 · 1026 阅读 · 0 评论 -
限流 -- 令牌桶算法
一、什么是令牌桶算法?三、单个Jvm应用的限流框架四、分布式的限流框架令牌桶算法是一种流量控制策略,用于限制请求数。它通过维护一个固定容量的“令牌桶”,并以恒定速率向其中添加令牌。当请求到达时,需要从桶中取出一个令牌才能被处理;如果没有可用的令牌,则请求将被拒绝或等待。原创 2023-12-26 15:43:54 · 816 阅读 · 0 评论 -
限流算法 - 漏桶算法
111。原创 2023-12-26 16:46:38 · 358 阅读 · 0 评论 -
接口幂等性
1、什么是接口幂等性接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用;比如说支付场景,用户购买了商品支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额返发现多扣钱了,流水记录也变成了两条...,这就没有保证接口的幂等性2、什么情况下需要幂等用户多次点击按钮用户页面回退再次提交微服务互相调用,由于网络问题,导致请求失败。feign 触发重试机制3、幂等性举例.原创 2022-02-12 21:28:00 · 4293 阅读 · 0 评论 -
什么是伪共享,如何避免?
目录1、cpu的三级缓存2、什么是伪共享?3、如果解决伪共享?1、cpu的三级缓存2、什么是伪共享?3、如果解决伪共享?原创 2024-03-13 20:11:43 · 344 阅读 · 0 评论 -
布隆过滤器
检索的时候,使用同样的方式去映射,只要看到每个映射的位置的值是不是 1,就可以大概知道该元素是否存在集合中了。但是如果我们有几千万甚至上亿的数据的时候{如图},虽然可以通过不同的数据结构来优化数据检索的时间复杂度,但是整体的效率依然很慢,而且会占用非常多的内存空间。BitMap 的基本原理就是用一个 bit 位来存储当前数据是否存在的状态值,也就是把一个数据通过 hash 运算取模后落在。这种方式适用于大规模数据,但数据状态又不是很多的情况,通常是用来判断某个数据存不存在的。这个时候,位图就派上了用场。原创 2023-07-01 15:34:12 · 141 阅读 · 0 评论 -
HttpClient和OkHttp
今天看到Spring的RestTemplate底层既可以使用HttpClient,也可以使用OkHttp。不由想到两者之间有什么区别呢,什么情况下选择HttpClient,什么情况下选择OkHttp。果然又涉及到我的知识盲区了,所以晚上赶紧补一下课。HttpClient和OkHttp都是用来远程调用提供http接口的服务。原创 2022-09-23 07:22:41 · 4661 阅读 · 0 评论 -
有用的官网地址
https://www.elastic.co/guide/en/logstash/7.11/introduction.htmllhttps://www.kancloud.cn/aiyinsi-tan/logstash/870166(logstash6.x中文翻译)原创 2022-07-19 19:12:39 · 181 阅读 · 0 评论 -
跨域 & options请求
一、什么是options请求在正式发起跨域http请求之前,浏览器会根据需要发起一次预检(option请求),用来让服务端返回请求允许的方法(如get、post),orgin(来源|域名),以及是否需要Credentials(认证信息)等。二、什么情况下浏览器将CORS请求分为两类:简单请求(simple request)和非简单请求(not-simple-request),简单请求浏览器不会预检,而非简单请求会预检。这两种方式怎么区分?同时满足下列三大条件,就属于简单请求,否则属于非简单请求请原创 2022-05-21 15:48:56 · 2636 阅读 · 0 评论