
原理刨析
文章平均质量分 83
原理刨析
b u g
这个作者很懒,什么都没留下…
展开
-
Flume拦截器初始化异常造成数据丢失
最近公司对老服务器进行退役,需要将Flume服务迁移至新服,在迁移过程中有一条链路因为拦截器初始化失败造成数据丢失。按推理Flume具有事务性,应该不会造成数据丢失,对此问题进行了排查,记录一下。查阅资料的过程中flume【源码分析】分析Flume的启动过程文章给我提供了莫大的帮助,感谢大佬。Flume具有事务性为什么会造成数据丢失?背景描述:Flume迁移至新服务后,由于自定义拦截器初始化失败(因为需要使用到其他环境,未配置白名单),于是我停止异常的拦截器,解决问题后对拦截器进行重启,第二天就.原创 2021-11-30 00:20:32 · 1221 阅读 · 0 评论 -
集合源码详记(jdk1.8)
集合框架整体结构图:参考:Collection和Map接口类的层次关系–JDk1.8 最新图解数组存储存在弊端:数组一旦初始化,其长度就不可修改数组中提供的方法非常限,对于添加、删除、插入数据等操作,非常不便,同时效率不高。获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用数组存储数据的特点:有序、可重复。对于无序、不可重复的需求,不能满足。而是用集合存储姐可以解决上述问题一、Collection接口单列集合,用来存储一个一个的对象1.1、List接口特原创 2021-03-15 15:31:49 · 307 阅读 · 0 评论 -
ArrayList 的实现原理
一、ArrayList 概述ArrayList是List接口的可变数组的实现。实现了所有可选列表操作,并允许包括 null 在内的所有元素。除了实现 List 接口外,此类还提供一些方法来操作内部用来存储列表的数 组的大小。 每个ArrayList 实例都有一个容量,该容量是指用来存储列表元素的数组的大小。它总是大于等于列表的大小。随着向ArrayList 中不断添加元素,其容量也自动增长。自动增长会带来数据向新数组的重新拷贝,因此,如果可预知数据量的多少,可在构造 ArrayList 时 指定其容量。原创 2020-12-12 21:11:13 · 3587 阅读 · 1 评论