自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kafka原理

不过当消息量巨大的时候这个映射也会变很大,kafka 维护的是一个稀疏索引(sparse index),即不是所有的消息都有一个对应的位置,对于没有位置映射的消息来说,一个二分查找就可以解决了。为了能够快速定位给定消息在日志文件中的位置,一个简单的办法就是维护一个映射,key 就是消息的偏移量,value 就是在日志文件中的偏移量,这样只需要一次文件读取就可以找到对应的消息了。其中一项就是消费者的再均衡。消息在 kafka 的存储是分多个分区的,那么消费者消息分区的消息也就有一个分区分配策略。

2024-03-15 16:37:23 1710

原创 高级java开发工程师面试题之----mysql

客户端通过连接器链接,然后分析器分析sql,优化器youhuasql再通过执行器执行,最后更新存储引擎。

2024-03-14 22:10:21 1711

原创 高级java开发工程师面试题之-----redis篇

每隔一定的时间,会扫描一定数量的数据库的expires字典中一定数量的key,并清除其中已过期的key。有了以上过期策略的说明后,就很容易理解为什么需要淘汰策略了,因为不管是定期采样删除还是惰性删除都不是一种完全精准的删除,就还是会存在key没有被删除掉的场景,所以就需要内存淘汰策略进行补充。每进行一次redis操作的时候,redis都会检测可用内存,判断是否要进行内存淘汰,当超过可用内存的时候,redids 就会使用对应淘汰策略。缓存雪崩:大批量的热点key过期,大批量的没有被缓存的数据。

2024-03-13 22:15:03 363

原创 高级java开发工程师面试题之-----JVM篇

1、JVM怎么加载class文件的老规矩 先上图(不懂得先背图,图比源码好背多了)1、JVM怎么加载class文件的步骤如下加载-》验证-》准备-》-识别-》初始化-》使用-》销毁,加载:将各种数据源(可能是 class 文件、也可能是 jar 包,甚至网络)class字节码转化为二进制字节流(符合方法区域数据结构)加载到内存中并生成一个class对象BootStrampClassLoader:加载JAVA_HOME下lib目录中的如rt.jar。

2024-03-13 17:10:51 802

原创 高级java开发工程师面试题-Spring篇

以下问题是本人以及同事面试中遇到的一些问题,记录分享给大家,希望每个人都能拿到自己期望的offer 1spring bean的生命周期为了方便大家理解 这里提供两张图,第一张是粗略图 第二张比较详细。大家根据各自的情况选择这里针对第二张图进行详细解析(一般来说先给面试官解释第一张图,第二张给面试官留坑,等他详细问)1.1第一步:定义一个类,该类必须实现BeanNameAware接口public class User im

2024-03-13 16:01:39 1503

原创 spring进阶之路-源码

spring源码的流程以及重要方法的作用

2024-03-13 10:03:11 306

空空如也

空空如也

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

TA关注的人

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