Java 10~16 新特性 主要特性 版本 特性 Java 10 1. var声明局部变量 Java 11 (LTS) 1. 字符串补充工具方法 2. lambda 类型推断 Java 12 1. switch 箭头表达式 Java ... 2023-12-16
Java 9 新特性 主要特性 接口中支持定义 private 方法 try-with-resource 方式优化 不可以使用 “_”下划线命名变量 @Deprecated 注解支持指定废弃版本(since), 以及标记未来版本是否删除(forRemov... 2023-12-16
读扩散、写扩散 读扩散、写扩散,主要应用在feed流场景中,什么是feed流? 微博 微信朋友圈 等都是典型的信息流业务,存在好友关系,如关注和粉丝,自己的主页由别人发布的内容组成。 feed流业务最大的特点是自己的主页由别人的feed组成,获得... 2023-12-07
分布式唯一标识设计 当数据库面临分库分表时,无法依赖数据库自增主键来生成业务标识,或业务场景设计时为了防止自增id被外部撞库猜测数据,通常会考虑引入全局唯一标识生成器来解决此类问题。 介绍 目前市面上比较常见的基本为Twitter开源的Snowflake... 2023-12-03
ThreadPoolExecutor “非常用” 方法 平时在使用线程池时,更多关注到的是coreSize、maxSize、blockQueue、RejectedExecutionHandler这些参数,但在线程池监控领域,还需要关注到其他的一些方法。在此处做统一记录和备忘: public... 2023-11-29
RocketMQ Client 启动异常解决 现象 rocketmq-common-4.9.3 版本作为客户端消费数据时,从MessageExt.getMsgId()获取消息ID时,会存在一个潜在的依赖冲突问题,最终导致方法执行失败,如下图: 从现象来看,Could not i... 2023-11-28
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