后端

设计模式之代理模式

1. 静态代理 Subject 抽象主题(接口) RealSubject 具体主题(目标对象) Proxy(代理对象) 缺点 目标对象和代理对象都实现接口的所有方法,随着接口方法的改变而改变 一个代理类只能代理一个目标对象 2. 动态代理 JDK动态代理 - 只能代理实现了接口的类 CGLIB 3. JDK 动态代理 需要实现 InvocationHandler public c

万字长文告诉你,B 站是怎样崩的

一年之后,B 站终于把故障复盘写了出来。 我简单看了一下,和我当初猜测的原因部分吻合,猜对了由于某接口负载过大导致雪崩效应,但没有猜对导致负载过大的原因。 很显然,这篇文章是从纯技术角度解读本次故障的。 B 站有 UP 主做了这方面的视频,但受篇幅所限,讲的还不够细致,我尽力做了补充,但最终还是决定单独写一篇文章讲讲这件事。 如果大家对技术有一定了解,比如你听说过微服务、负载均衡、集群、多活,并且

1700. 无法吃午餐的学生数量(难度:简单)

题目链接: 题目描述: 学校的自助午餐提供圆形和方形的三明治,分别用数字 0 和 1 表示。所有学生站在一个队列里,每个学生要么喜欢圆形的要么喜欢方形的。 餐厅里三明治的数量与学生的数量相同。所有三明治都放在一个 栈 里,每一轮: 如果队列最前面的学生 喜欢

SpringBoot异步任务获取HttpServletRequest

前言 在使用框架日常开发中需要在controller中进行一些异步操作减少请求时间,但是发现在使用@Anysc注解后会出现Request对象无法获取的情况,本文就此情况给出完整的解决方案 原因分析 @Anysc注解会开启一个新的线程,主线程的Request和子线程是不共享的,所以获取为null 在使用springboot的自定带的线程共享后,代码如下,Request不为null,但是偶发的其中b