- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 RocketMQ开源版本延迟消息改造方案分享
在将商业版RocketMQ切换为开源RocketMQ的过程中,团队遇到了不兼容的问题。这是因为商业版RocketMQ对开源RocketMQ进行了封装,导致两者在功能上存在一些区别。此外,商业版提供的API也无法完全适用于开源版,因此需要进行二次开发才能实现无感切换。为了解决这些问题,团队需要深入研究开源RocketMQ的源码,了解其架构和实现原理。然后,根据业务需求,对开源版本进行二次开发,以确保功能的兼容性和稳定性。在进行切换之前,团队还需要进行充分的测试和验证,确保切换过程不会对现有系统造成任何影响。
2023-10-12 14:01:07 280 2
原创 join方法原理
首先看下join方法的底层代码,大概意思是哪个线程1中调用线程2.join(),则使用wait阻塞这个线程1,唤醒需要用到线程2的锁,因此线程1需要等待到线程2执行完释放锁后才能被唤醒继续执行。下面演示一个例子...
2021-11-22 17:57:44 290
原创 面试问题i=i++(从字节码角度分析)
面试问题i=i++(从字节码角度分析)接下来,由简到难一步步分析,首先我们从j=i++的字节码角度分析由此可见,j=i++的字节码步骤是,首先将i的值1压如操作数栈,之后局部变量表中索引1的位置也就是i进行+1操作,最后将操作数栈中的值1出栈并存入局部变量表中索引2的位置,也就是j的位置,此时j=1,i=2。接下来我们分析j=++i如图中所见,j=++i的字节码步骤是,首先局部变量表索引为1的位置,也就是i,进行+1操作,之后将该位置的数值压入操作数栈,最后将操作数栈中的数值出栈存入局部变量
2021-11-15 01:07:26 409
原创 java学习笔记:数组
java学习笔记:数组1.数组(Array)2.数组的常见概念3.数组的特点:4.数组的分类5. 一维数组的使用① 一维数组的声明和初始化1>静态初始化:数组的初始化和数组元素的赋值同时进行**2>动态初始化:数组的初始化数组元素的赋值分开进行② 如何调用数组的指定位置的元素③ 如何获取数组的长度④ 如何遍历数组⑤ 数组元素的默认初始化值⑥ 数组的内存解析 :见B站 尚硅谷143、144集6.二维数组的使用① 二维数组的声明和初始化1>静态初始化2>动态初始化② 如何调用数组的指
2021-01-20 20:28:47 923
原创 解决打开eclipse时的incompatible jvm问题
解决Version 1.8.0 131 of the JVM is not suitable for this product. Version: 11or greater is required.问题打开文件夹中eclipse.ini添加-vmC:\Program\Files\Java\jre1.8.0_131\bin\javaw.exe改写图中蓝色位置为1.8
2020-10-22 22:20:47 2878 5
原创 在 Linux (Ubuntu)虚拟机中手动安装 VMware Tools教程
================================================================所需资源:VMware-tools工具包如果下载的是Vmware完整包,可以在windows 下的C:\Program Files\VMware\VMware Workstation(虚拟机安装目录)下找到linux.iso文件(57M左右)如果在目录下没有找到,可在该链接地址单独下载https://download.csdn.net/download/weixin
2020-08-07 11:31:07 4635 3
在 Linux (Ubuntu)虚拟机中手动安装 VMware Tools
2020-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人