自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 RocketMQ简明文档

消息队列。队列,是一种FIFO 先进先出的数据结构。消息由生产者发送到MQ进行排队,然后按原来的顺序交由消息的消费者进行处理。MQ的作用主要有以下三个方面:异步处理:提高系统的响应速度、吞吐量。解耦:服务之间进行解耦,提高系统整体的稳定性以及可扩展性;实现数据分发,生产者发送一个消息后,可以由一个或者多个消费者进行消费,并且消费者的增加或者减少对生产者没有影响。削峰:以稳定的系统资源应对突发的流量冲击但也引入了一些新的问题:(1)系统可用性降低:系统引入的外部依赖增多,系统的稳定性就会变差。

2023-05-25 19:18:57 395 2

原创 MySQL内幕笔记

MySQL数据的存储是以表为单位的,物理采用何种存储引擎,都有一个frm为后缀名的文件,记录该表的表结构定义,frm还用于存放视图的定义。

2023-05-25 17:27:39 474

原创 JVM之执行子系统篇

Java虚拟机的指令由一个字节长度的、 代表着某种特定操作含义的数字(称为操作码Opcode)以及跟随其后的零至多个代表此操作所需的参数(称为操作数Operand) 构成。Java虚拟机操作码的长度为一个字节(即0~255) , 因此指令集的操作码总数不能够超过256条。

2023-05-25 17:02:34 126 1

原创 JVM之内存管理篇

如果Java堆中的内存并不是规整的,已被使用的内存和空闲的内存相互交错在一起,那就没有办法简单地进行指针碰撞了,虚拟机就必须维护一个列表,记录上哪些内存块是可用的,在分配的时候从列表中找到一块足够大的空间划分给对象实例,并更新列表上的记录。转发指针加入后带来的收益自然是当对象拥有了一份新的副本时, 只需要修改一处指针的值, 即旧对象上转发指针的引用位置, 使其指向新对象, 便可将所有对该对象的访问转发到新的副本上。G1收集器默认在这个地址以上的对象是被隐式标记过的,即默认它们是存活的,不纳入回收范围。

2023-05-25 16:50:57 219

原创 JVM之高效并发篇

虚拟机首先会检查对象的Mark Word是否指向当前线程的栈帧, 如果是, 说明当前线程已经拥有了这个对象的锁, 那直接进入同步块继续执行, 否则说明这个锁对象已经被其他线程抢占了。当getstatic指令把race的值取到操作栈顶时, volatile关键字保证了race的值在此时是正确的, 但是在执行iconst_1、 iadd这些指令的时候, 其他线程可能已经把race的值改变了, 而操作栈顶的值就变成了过期的数据, 所以putstatic指令执行后就可能把较小的race值同步回主内存之中。

2023-05-25 16:44:36 125

空空如也

空空如也

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

TA关注的人

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