摘要: Java MQ在实际业务场景中需要注意的问题 消息丢失: 发送方丢失:未存储到kafka,由于leader切换导致的丢失 消费方丢失:拉取到消息提交后尚未实际消费完成即异常了,导致拉取到的消息没有实际消费 重复消费:多个消费者消费同一partition提交时覆盖问题导致的重复 顺序消费:partit 阅读全文
posted @ 2024-07-31 20:55 Abserver 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 大部分工具都是基于或者要用到`JMX`,所以程序启动时需要添加参数`-Dcom.sun.management.jmxremote`开启JMX管理功能,JDK6及以上版本默认开启 ## jps jps:JVM Process Status Tool,功能与ps类似,可以列出正在运行的虚拟机进程,并显示 阅读全文
posted @ 2023-07-01 08:36 Abserver 阅读(32) 评论(0) 推荐(0) 编辑
摘要: ## 字符串 SDS(simple dynamic string):redis自己构建的一种简单动态字符串,而没有直接使用C语言的字符串(在redis中C语言的字符串仅用在无需对字符串修改的地方,例如日志打印),SDS以空字符'\0'结尾,且不占用len里,会额外占用1字节空间,即`使用长度为N+1 阅读全文
posted @ 2023-06-17 08:55 Abserver 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 数据类型的选取原则: - **更小的通常更好**:尽量使用可以正确存储数据的最小数据类型(它们占用更少的磁盘,内存,cpu缓存,处理时需要的cpu周期也更少) - **简单**:简单数据类型的操作通常所需cpu周期更少,例如整型就是比字符串类型的操作代价更低 - **尽量避免NULL**:最好指定列 阅读全文
posted @ 2023-05-27 12:12 Abserver 阅读(26) 评论(0) 推荐(0) 编辑
摘要: # Map | map | 线程安全方式 | k/v为null | 数据结构(1.8) | 扩容机制 | 迭代器 | | | | | | | | | HashMap | 不安全 | 均可 | 数组+链表+红黑树 | 初始16,扩容2倍 | 容器本身 | | ConcurrentHashMap | 锁 阅读全文
posted @ 2023-05-07 21:24 Abserver 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 类图 类图是一种用来描述类之间关系的图形,它可以用不同的符号来表示不同的关系,比如: | 关系 | 表示形式 | 含义 | 示例 | | | | | | | 依赖关系 | 虚线箭头 | 一个类使用了另一类的方法属性,但不持有引用 | 一个类的方法参数是另一个类的对象 | | 关联关系 | 实线箭头 阅读全文
posted @ 2023-05-03 20:31 Abserver 阅读(3) 评论(0) 推荐(0) 编辑
摘要: AQS队列同步器 java.util.concurrent.locks.AbstractQueuedSynchronizer是一个同步器+阻塞锁的基本架构,用于控制加锁和释放锁,并在内部维护一个FIFO的线程等待队列,juc包下的锁,屏障等同步器多数是基于它实现的. AQS每当有新的线程请求资源时, 阅读全文
posted @ 2023-05-03 20:30 Abserver 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 原文链接 maven三种仓库 在 Maven 中,仓库指的是存放代码构建的一个位置。从分类上来说,Maven 仓库有两种类型,分别是: 本地仓库(Local) 远程仓库(Remote) 本地仓库,是存在于本地的一个仓库,它用来缓存下载的依赖包。这样就不用每次都通过网络去拉取依赖包了,提高了依赖拉取速 阅读全文
posted @ 2023-04-20 19:23 Abserver 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 为什么redis默认16个库,建议仅使用第一个库? 如果Redis各个库都有在使用,会有以下影响或者问题: 数据混乱:如果不同的应用程序使用同一个Redis的不同库,那么就可能出现键名冲突的情况,导致数据被覆盖或者错误地读取。 同一个Redis不同库会导致数据被覆盖数据混乱的原因是: 键名冲突:如果 阅读全文
posted @ 2023-04-16 21:29 Abserver 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 代理模式 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 介绍 **意图:**为其他对象提供一种代理以控制对这个对象的访问。 **主要解决:**在直接访问对象时带来的问题,比 阅读全文
posted @ 2023-04-05 10:24 Abserver 阅读(7) 评论(0) 推荐(0) 编辑