计数器法 计数器法是限流算法里最简单也是最容易实现的一种算法。比如我们规定,对于A接口来说,我们1分钟的访问次数不能超过100个。那么我们可以这么做:在一开始的时候,我们可以...
计数器法 计数器法是限流算法里最简单也是最容易实现的一种算法。比如我们规定,对于A接口来说,我们1分钟的访问次数不能超过100个。那么我们可以这么做:在一开始的时候,我们可以...
设计模式概述 产生背景 “设计模式”最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard...
NIO基础 non-blocking io 非阻塞 IO 三大组件 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的双向通道,可...
RocketMQ高级功能 消息存储 分布式队列因为有高可靠性的要求,所以数据要进行持久化存储。 消息生成者发送消息 MQ收到消息,将消息进行持久化,在存储中新增一条记录 返回...
消息发送样例 导入MQ客户端依赖 2、* 消息发送者步骤分析 消息消费者步骤分析 基本样例 消息发送 发送同步消息 这种可靠性同步地发送方式使用的比较广泛,比如:重要的消息通...
RocketMQ集群搭建 各角色介绍 Producer:消息的发送者;举例:发信者 Consumer:消息接收者;举例:收信者 Broker:暂存和传输消息;举例:邮局 Na...
RocketMQ快速入门 RocketMQ是阿里巴巴2016年MQ中间件,使用Java语言开发,在阿里内部,RocketMQ承接了例如“双11”等高并发场景的消息流转,能够处...
MQ介绍 为什么要用MQ 消息队列是一种“先进先出”的数据结构 其应用场景主要包含以下3个方面 应用解耦系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦...
第五部分 高效并发 第13章 线程安全与锁优化 概述 线程安全 当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者...
并发编程 Java线程 创建和运行线程 查看线程 线程API 线程状态 创建和运行线程 方法一,直接使用new Thread 方法二,使用Runnable配置Thread 把...
并发编程 进程与线程 进程与线程 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至cpu,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设...
并发编程 概述 这门课讲什么 这门课中的【并发】一词涵盖了在Java平台上的 进程 线程 并发 并行 以及Java并发工具、并发问题以及解决方案 为什么学这门课 在实际工作中...
概述 线程安全 当多个线程同时访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行...
第12章 Java内存模型与线程 概述 衡量一个服务性能的高低好坏,每秒事务处理数(Transactions Per Second, TPS)是重要的指标之一,它代表着一秒内...
第11章 后端编译与优化 概述 如果把字节码看作是程序语言的一种中间表示形式(Intermediate Representation,IR)的话, 那编译器无论在何时、在何种...
Redis过期策略 概述 Redis所有的数据结构都可以设置过期时间。Redis会将每个设置了过期时间的key放入一个独立的字典中,会定时遍历这个字典来删除到期的key。除了...
目的 当系统处理能力有限时,控制流量,限流还有一个应用目的是控制用户行为,避免垃圾请求。系统要限定用户的某个行为在指定的时间里只能允许发生N次。 解决方案 设定滑动时间窗口 ...
概述 前端编译器:把.java文件转变成.class文件的过程例如:JDK的Javac、Eclipse JDT中的增量式编译器(ECJ) 即时编译器(常称JIT编译器,Jus...
会的,持续更新😄
5、第三部分 虚拟机执行子系统-第7章 虚拟机类加载机制概述 Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制...
概述 虚拟机与物理机的执行引擎区别: 物理机执行引擎:直接建立在处理器、缓存、指令集和操作系统层面上的,可以近似理解为基于硬件的 虚拟机执行引擎:由软件自行实现,因此可以不受...