加载中
为监控而生的多级缓存框架 layering-cache

简介 layering-cache是一个支持分布式环境的多级缓存框架,使用方式和spring-cache类似。一级缓存使用Caffeine作为本地缓存,二级缓存使用redis作为集中式缓存。一级缓存和二级缓存的数据一致...

2018/10/15 10:01
9.1K
Kafka 架构设计

Kafka 总体架构 kafka的总体架构还是遵循消息中间件的架构,即产生消息->存储消息->消费消息。 Kafka 生产者设计 Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉...

昨天 11:11
14
Hystrix核心原理和断路器源码解析

Hystrix运行原理 构造一个HystrixCommand或HystrixObservableCommand对象 执行命令。 检查是否已命中缓存,如果命中直接返回。 检查断路器开关是否打开,如果打开,直接熔断,走fallback逻辑...

Alibaba Sentinel 骨架源码阅读

Sentinel 的核心骨架,将不同的 Slot 按照顺序串在一起(责任链模式),从而将不同的功能(限流、降级、系统保护)组合在一起。slot chain 其实可以分为两部分:统计数据构建部分(statistic...

08/14 10:34
74
Alibaba Sentinel LeapArray 源码阅读

最近在使用Alibaba Sentinel来做服务的限流、熔断和降级。一直有一个比较好奇的点,Sentinel是如果做到高效的数据统计的。通过官方文档介绍: StatisticSlot: 则用于记录、统计不同纬度的 ru...

08/11 16:07
2.6K
线上问题排查常用命令

内存瓶颈 free free是查看内存使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。 free -h -s 3表示每隔三秒输出一次内存情况,命令如下 [1014154@cc69dd4c5-4tdb5 ~]$ free total ...

05/02 10:43
353
GitFlowPlus插件

简介 MrtfGitFlow4Idea插件是一款基于mrtf-git-flow分支管理流程的Idea插件,它最主要的作用是用来简化分支管理流程,最大限度的防止误操作。 在初始化插件之前必须先保证仓库中具有origin/...

深入理解JVM - 系统性能优化

系统性能优化并不是一上来就是JVM优化,相反JVM优化几乎是最后的手段了。影响一个系统的性能的因素非常多,如图: 从服务本身来看,影响服务性能的主要包扣: 我们写代码时所选择的数据结构和...

03/04 17:40
988
深入理解JVM - JVM编译器

编译器类型 编译器最终的目的是将我们写的源代码编译成机器能识别的机器码。 在JVM 中有三个非常重要的编译器,它们分别是:前端编译器、JIT 编译器和AOT编译器。 前端编译器 将源代码转化成...

03/04 14:47
230
在RedisTemplate中使用scan代替keys指令

SCAN 简介 SCAN 命令及其相关的 SSCAN 命令、 HSCAN 命令和 ZSCAN 命令都用于增量地迭代(incrementally iterate)一集元素(a collection of elements): SCAN 命令用于迭代当前数据库中的...

02/22 12:16
8.1K
深入理解JVM - 方法调用

方法调用并不等同于方法中的代码被执行,方法调用阶段唯一的任务就是确定被调用方法的版本(即调用哪一个方法),暂时还未涉及方法内部的具体运行过程。一切方法调用在Class文件里面存储的都...

02/19 16:55
2.2W
深入理解JVM - 类加载机制

类加载过程 一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期将会经历加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(...

01/20 17:26
1K
深入理解JVM - Class类文件的结构

Class文件是Java虚拟机执行引擎的数据入口,也是Java技术体系的基础支柱之一。 Class文件本质 Class文件本质上是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在C...

01/18 17:46
429
深入理解JVM - 虚拟机字节码指令集

Java虚拟机的指令由一个字节长度的、代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需的参数(称为操作数,Operand)构成。因为只有一个字节的长度...

01/18 14:45
365
深入理解JVM - JVM常用命令

jps(JVM Process Status Tool):显示指定系统内所有的HotSpot虚拟机进程 jstat(JVM Statistics Monitoring Tool):用户收集HotSpot虚拟机各方面的运行数据 jinfo(Configuration Info fo...

01/15 11:02
289
Spring 源码(十二)Spring 中核心的后置处理器

BeanFactory BeanFactoryPostProcessor:BeanFactory后置处理器 ConfigurationClassPostProcessor:解析配置类的BeanFactory后置处理器 Bean BeanPostProcessors:Bean 初始化前后执行的后置...

深入理解JVM - ZGC垃圾收集器

如果下面的一些概念有些不清楚的可以先看深入理解JVM - 垃圾收集器和深入理解JVM - Shenandoah垃圾收集器。 ZGC(Z Garbage Collector)是一款由Oracle公司研发的,以低延迟为首要目标的一款...

01/14 09:37
2.6W
深入理解JVM - Shenandoah垃圾收集器

如果下面的一些概念有些不清楚的可以先看深入理解JVM - 垃圾收集器。 Shenandoah是一款只有OpenJDK才会包含的收集器,最开始由RedHat公司独立发展后来贡献给了OpenJDK,相比G1主要改进点在于...

01/11 12:58
3.2K
深入理解JVM - 内存分配策略

对象优先在Eden分配 对象优先在Eden分配,如果说Eden内存空间不足,就会发生Minor GC 大对象直接进入老年代 大对象:需要大量连续内存空间的Java对象,比如:很长的字符串和大型数组。 大对象...

01/10 09:23
282
深入理解JVM - 垃圾收集器

垃圾回收主要是要解决3件事情: 那些内存需要回收? 如何回收? 什么时候回收? 术语解释 并行/并发 并行(Parallel):指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。 并发...

01/10 09:22
5.5K

没有更多内容

加载失败,请刷新页面

返回顶部
顶部