Hash冲突解决方法 什么是hash冲突? hash冲突就是在操作哈希表(散列表)的时候,不同的key值经过hash函数(散列算法)之后得到相同的hash值,那么一个位置没法放置两份value,这种情况就是hash冲突。 Hash冲突常用解决方法 开放... 2023-11-27
Chrome关闭地址栏搜索历史 Chrome flag chrome://flags/ 搜索 Omnibox Zero Prefix Suggestion Prefetching on NTP Enables prefetching of the zero ... 2023-11-26
Spring中使用到的设计模式 设计模式的基本原则: 开闭原则 单一职责原则 里氏替换原则 依赖倒置原则 Spring中用到的模式: HandlerAdapter,适配器模式 BeanFactory,简单工厂模式 FactoryBean,工厂方法模式 Cont... 2023-11-21
RocketMQ消息存储过程 讲完了消息的生产过程,接下来记录一下消息发送到Broker后如何存储和分发。 前言 首先看下RocketMQ Broker的消息存储目录结构,RocketMQ的消息存储在本地文件系统中,默认在当前用户主目录下的store目录中: ... 2023-11-15
Java 实现简单单机时间轮方案 时间轮的使用场景自不必多说,最近研究RocketMQ 5.0时,想简单写一个活跃下思路,遂写了下面的方案(没有参照任何代码,没有优化),主要做下记录。 package top.imyzt.learning.algorithm.time... 2023-11-13
RocketMQ消息生产基本流程 RocketMQ 相较于 RabbitMQ、Kafka 能够集成两者的不少优点(原生的延迟消息、支持事务消息、能够支撑较大流量),加之Java技术架构,所以已作为目前队列选型调研时的第一选择,本文主要以图解形式讲明白RocketMQ一... 2023-11-12
FastJSON 序列化反序列化驼峰和下划线互转 在部分场景下,只需要简单将外部对象转换为标准JavaBean,而对接的外部是下划线命名时,如果需要一个个写JSONField必然是比较麻烦的,可以通过FastJSON提供的序列化/反序列化配置类来快速实现。 JSON是下划线,Bean... 2023-10-31
通过Spring工具类,父类获取子类泛型(多态泛型传参) 在平时需要写抽象策略处理器时,希望传给处理器执行器的对象是泛型,避免每个子类都写强制类型转换的代码,通常需要获取子类的泛型,然后才能够避免写@SuppressWarnings,可以通过如下工具类在Abstract类上面获取到子类泛型。... 2023-09-22
MySQL字符集不同转换字符集和排序规则 -- 转换编码不一致的情况 cast(ldr.id as char character set utf8) CONVERT(CAST(bpr.id AS char) USING utf8) --转换排序规则也不一致的情况 conver... 2023-09-04
go 新特性浅析(泛型) Golang在1.18时才支持了泛型,为此新增了两个操作符,|和~。 ~ T: 表示底层类型是T,比如 ~string表示所有基于string创建的自定义类型。 T1 | T2 |…: 代表或,类型列表之一。 Go的泛型... 2022-04-12