自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (3)
  • 收藏
  • 关注

原创 RocketMQ的Consumer源码分析

rocket mq的consumer启动流程分析

2022-07-24 16:34:00 478 1

原创 RocketMQ的Producer源码分析

rocket mq producer的启动和消息发送流程

2022-07-24 16:32:28 159

原创 配置文件对比工具

配置文件对比工具

2022-07-10 23:33:42 2121

原创 RocketMQ核心概念

RockerMQ核心概念简述,包括Queue、Message、ConsumerGrooup等。

2022-07-10 23:28:30 198

原创 RocketMQ架构分析

RocketMQ架构分析,NameServer、Broker、Producer、Consumer之间的关系梳理。

2022-07-10 23:26:26 193

原创 JVM GC日志分析

JVM GC日志分析文章目录JVM GC日志分析GC相关的JVM参数设置GC日志的含义GC时间分析参考文献GC日志是处理JVM相关问题的重要根据,所以看懂并分析GC日志是一项必须可少的技能。GC相关的JVM参数设置-XX:PrintGC 输出GC日志-XX:PrintGCDetails 输出GC的详细日志-XX:PrintGCTimeStamps 输出GC的时间戳-XX:PrintGCDateStamps 输出GC的详细时间信息(格式为2021-04-26T23:00:18.288+0

2021-04-27 01:24:08 112

原创 线程安全与锁优化

线程安全与锁优化文章目录线程安全与锁优化Java中的线程安全线程安全的实现方法互斥同步非阻塞同步无同步方案锁优化自旋锁与自适应自旋锁消除锁粗化轻量级锁偏向锁参考文献线程安全的定义:当多个线程访问一个对象时,如果不需要考虑这些线程在运行环境中的调度和交替执行,也不需要额外的同步措施,调用这个对象的行为就能获得正确的结果,那么这个对象就是线程安全的。Java中的线程安全Java语言中各种操作共享的数据数据分为五类:不可变不可变对象一定是线程安全的,不需要采取任何的安全保障措施。例如被final关

2021-04-22 01:53:58 62

原创 Java内存模型与线程

Java内存模型与线程文章目录Java内存模型与线程Java内存模型内存间交互的8大基本原子操作volatile型变量特殊规则原子性、可见性、有序性先行发生原则(Happens-Before)Java线程线程的实现线程的调度线程状态切换参考文献Java内存模型Java内存模型规定所有的变量都存储在主内存中,每个线程都有自己的工作内存,线程的工作内存中保存了它所用到的变量在主内存中的变量副本。线程对变量的所有读写操作都是在工作内存中完成,不能直接读写主内存中的变量。不同线程之间不能直接访问对方线程工作内

2021-04-21 01:08:35 148

原创 编译器和运行期优化

编译器优化和运行期优化文章目录编译器优化和运行期优化早期编译期优化1. 解析与填充符号表2. 插入式注解处理器的注解处理过程3. 语义分析与字节码生成晚期运行期优化解释器与编译器编译对象和触发条件编译过程编译优化技术参考文献早期编译期优化Javac编译器是前端编译器,它将Java文件编译为class文件。其编译过程分为以下三个阶段:1. 解析与填充符号表解析过程分为词法分析和语法分析,词法分析是将源代码的字符流转换为标记(Token)集合;语法分析是根据Token集合构建抽象语法树的过程。符号表是

2021-04-17 01:44:21 252

原创 虚拟机字节码执行引擎

虚拟机字节码执行引擎文章目录虚拟机字节码执行引擎运行时栈帧结构局部变量表操作数栈动态链接方法返回地址方法调用解析分派静态分派动态分派单分派与多分派JVM动态分派的实现基于栈的字节码解释执行引擎参考文献运行时栈帧结构栈帧是虚拟机进行方法调用和执行的数据结构,是虚拟机运行时数据区中的虚拟机栈的栈元素。栈帧中存储了局部变量表、操作数栈、动态链接、方法返回地址等信息,每个方法的调用直到完成都对应着一个栈帧在虚拟机栈中从入栈到出栈的过程。局部变量表局部变量表是一组变量值存储空间,用于存放方法参数和方法类定义

2021-04-16 00:34:26 112 1

原创 JVM类加载机制

JVM类加载机制文章目录JVM类加载机制类加载的时机加载验证准备解析初始化类加载器双亲委派模型参考文献类加载的时机类从被加载到虚拟机内存开始,到卸载出内存为止,它的生命周期要经过加载、验证、准备、解析、初始化、使用、卸载这些阶段。其中,验证、准备、解析这三个阶段统称为连接。虚拟机规范规定有且仅有五种情况必须要对类进行初始化:遇到new、getstatic、putstatic、invokestatic这4条字节码指令时,若类还未初始化则需要先触发该类的初始化。这四条指令分别对应的场景为:使用new

2021-04-14 01:21:25 70

原创 JVM垃圾回收以及内存分配策略

JVM垃圾回收以及内存分配策略文章目录JVM垃圾回收以及内存分配策略计算对象存活的算法引用计数算法(Reference Counting)根搜索算法(GC Rooting Tracing)引用类型强引用(Strong Reference)软引用(Soft Reference)弱引用(Weak Reference)虚引用(Phanton Reference)对象的死亡与逃生永久代(方法区)的垃圾回收垃圾回收算法标记-清除(Mark-Sweep)复制(Copy)标记-整理(Mark-Compact)分代收集(

2021-04-07 01:02:12 128

原创 Java对象访问的方式

Java对象的访问方式文章目录Java对象的访问方式使用句柄的访问方式使用指针的访问方式参考文献Java对象的访问涉及到了堆、栈、方法区。Object obj = new Object左边的obj是一个局部变量,Object是一个引用(reference)类型数据,它们存储在虚拟机栈的本地变量表中;右边的对象实例在堆上分配内存,会在堆中开辟一块空间来存储Object类型的所有实例数据,其长度可变。堆中包含了能查到此对象类型数据(包括对象类型、父类、实现的接口、方法等)的地址信息,而这些类型数据则是存

2021-04-01 01:09:05 390 1

原创 JVM内存划分

JVM内存划分文章目录JVM内存划分介绍程序计数器虚拟机栈本地方法栈堆方法区元空间运行时常量池直接内存参考文献参考文献介绍根据Java虚拟机的规范,主要将内存划分为以下几个区域:程序计数器、虚拟机栈、本地方法栈、堆、方法区(JDK1.8之前才有,JDK1.8及之后的版本已经移除该区域,采用了元空间)、直接内存。其中,程序计数器、虚拟机栈、本地方法栈是线程私有的内存区域,堆和方法区(元空间)是所有线程共用的内存区域。程序计数器程序计数器是JVM内存中较小的一块区域,可以把它看作是当前线程执行的字节

2021-03-31 22:46:13 179

原创 springboot集成elasticjob生成starter

文章目录spring-boot-starter-elasticjob简介一、starter项目地址二、使用步骤1、引入maven依赖,如有需要,可以自行打包上传自私服2、编写job代码3、添加spring配置文件配置项,同时支持yaml和properties文件三、示例代码地址spring-boot-starter-elasticjob简介​ elasticjob是当当开元的一个分布式任务调度...

2019-11-20 23:30:38 585 1

原创 springboot集成disconf生成starter

文章目录spring-boot-starter-disconf简介一、starter项目地址二、示例代码地址三、disconf-web环境搭建说明1、安装disconf-web2、本人安装的相关组件如下3、online-resources相关文件配置如下spring-boot-starter-disconf简介​ disconf是一个分布式配置管理平台,通过和springboot2.1的整合形...

2019-11-20 01:08:47 338

原创 redis高可用之集群

文章目录redis高可用之集群1、节点2、分片重新分片3、复制和故障转移故障转移主节点选举流程参考文献参考文献redis高可用之集群​ redis集群是redis提供的分布式数据库解决方案,集群通过分片来进行数据共享,并提供复制和故障转移功能。1、节点​ 一个redis集群通常由多个节点组成,刚开始,每个节点都是相互独立的,他们处于一个只包含自己的集群当中,要组建一个真正可用的集群,我们必...

2019-11-06 00:36:16 120

原创 redis对象

文章目录Redis对象1、对象类型与编码2、字符串对象3、列表对象4、哈希对象5、集合对象6、有序集合对象7、内存回收与对象共享内存回收对象共享对象的空转参考文献参考文献Redis对象1、对象类型与编码​ redis使用集中基础的数据结构构建了一个对象系统,这个对象系统包含字符串对象、列表对象、哈希对象、集合对象以及有序集合对象。​ redis中每个对象都由一个redisObject结构表...

2019-11-04 00:54:47 120

原创 redis数据结构

文章目录Redis数据结构1、简单动态字符串2、链表3、字典4、跳跃表5、整数集合6、压缩列表参考文献Redis数据结构1、简单动态字符串struct sdshdr { int len; int free; char buf[];}​ ***len***记录了buf数组中已经使用的字节的数量,等于sds所保存字符串的长度;***free***记录了buf数组中未使用字节的数量;*...

2019-11-02 00:43:18 127

原创 TCP协议

文章目录TCP协议TCP的三次握手TCP的四次挥手流量控制拥塞控制SYN攻击面试题TCP协议​ TCP(传输控制协议,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。​ TCP报文中的几个重要字段介绍如下序号:seq序号,占32位,用来标识从TCP源端向目的端发送的字节流序号,发送方发送数据时对此进行标记确认序号:a...

2019-09-09 23:46:50 333

原创 redis高可用之哨兵模式

文章目录redis高可用之哨兵模式sentinel会创建连向主从服务器的命令连接和订阅连接命令连接订阅连接sentinel故障检测与故障转移检测主观下线检测客观下线选举首领sentinel故障转移参考文献redis高可用之哨兵模式​ Sentinel(哨兵)是redis的高可用解决方案:有一个或多个sentine实例组成的sentinel系统可以监视任意多个主服务器以及这些主服务器下从属的从服...

2019-09-08 23:20:56 180

原创 mysql、redis、kafka的复制功能总结

文章目录mysql、redis、kafka的复制功能mysql的复制异步复制完全同步复制半同步复制redis的复制完整重同步部分重同步kafka的复制首领副本(leader)跟随者副本(follower)同步副本(ISR)参考文献mysql、redis、kafka的复制功能​ 上次面试中面试官问到了一个mysql的复制功能,当时答上来了主从复制的主要流程,当问到完全同步复制和半同步复制时,脑海...

2019-09-08 21:33:34 720 3

Tomcat权威指南第二版中英文合集

Tomcat权威指南第二版中英文合集

2018-09-02

Redis设计与实现

Redis设计与实现

2018-09-02

Kafka技术内幕

Kafka技术内幕

2018-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除