摘要:
【IT老齐049】Cassandra高性能原因 列式数据库是以列相关存储架构进行数据存储的数据库 应用场景: 批量处理、超大规模即时查询 磁盘存储方式 高性能原因 数据库不读取无效数据 只查询指定列上的数据 只返回指定列上的数据 磁盘I/0效率高 数据压缩比大 数据相关性大 数据压缩比高 利用Cac 阅读全文
摘要:
【IT老齐048】Kafka高性能原因 磁盘顺序读写 定期批量删除指定数据 页缓存 Kafka避免使用JVM,直接使用操作系统的页缓存特性提高处理速度,进而避免了JVM GC带来的性能损耗。 Kafka采用字节紧密存储,避免产生对象,这样可以进一步提高空间利用率 零拷贝 批量操作 阅读全文
摘要:
【IT老齐047】避坑UUID主键 场景 财政部金财工程平台在代理行日终结算时,经常出现磁盘的IO异常,导致经常出现高延迟 对比发现在大量数据新增时磁盘IO居高不下,多次测试后发现是UUID主键在搞鬼 UUID 基于时间的UUID 能保证不同设备UUID是唯一的 在同一设备上生成UUID可能重复 D 阅读全文
摘要:
【IT老齐046】RabbitMQ队列解决消息积压问题 场景 每天上午10点,全国2万多名客户经理集中录入上一日JK单据到BorrowSale系统,峰值能达到500单/s。但信审系统任务重,最多只支持到60单/s,每日会导致大量消息积压 解决方案 工作队列 RabbitMQ改为工作队列模式,将消息送 阅读全文
摘要:
【IT老齐045】RabbitMQ六种队列模式 前情提要 Producer:生产者,消息的提供者 Consumer:消费者,消息的使用者 Broker:MQ服务器,管理队列、消息及相关信息 Message:消息,程序间的通信的数据 Queue:队列,消息存放的容器,消息先进先出 Exchange:交 阅读全文
摘要:
HashMap 类结构 继承AbstractMap<K,V> 实现Map<K,V> Map基本方法 实现Cloneable 浅克隆 实现Serializable 序列化 成员变量 // 默认初始化容量 static final int DEFAULT_INITIAL_CAPACITY = 1 << 阅读全文
摘要:
ArrayListy 类结构 继承AbstractList 实现List list基本方法 实现RandomAccess 支持随机访问(下标) for效率高于迭代器(对比LinkedList) 实现Cloneable 浅克隆 实现Serializable 序列化 成员变量 默认容量 private 阅读全文
摘要:
AQS AQS可以重写的方法 // 排他锁 protected boolean tryAcquire(int arg) { return super.tryAcquire(arg); } protected boolean tryRelease(int arg) { return super.try 阅读全文
摘要:
河北王校长JVM Class文件 文件结构 魔数(Magic Number):class文件的前4个字节是固定的魔数,用于标识文件类型为class文件。魔数的值为0xCAFEBABE。 版本信息:紧随魔数后的4个字节表示class文件的次版本号和主版本号。Java的版本号从45开始,每个新版本增加1 阅读全文
摘要:
volatile 作用 保障可见性(线程嗅探、MESI) 将当前处理器缓存行的数据写回到系统内存 使在其他CPU里缓存了该内存地址的数据无效 防止指令重排 在每个volatile写操作的前面插入一个StoreStore屏障。禁止volatile写之前写 在每个volatile写操作的后面插入一个St 阅读全文