07 2020 档案
摘要:一、第一层采集通道的编写 1.第一层采集脚本Source的选择①Source: 数据源在日志文件中! 读取日志中的数据,可以使用以下Source ExecSource: 可以执行一个linux命令,例如tail -f 日志文件, 讲读取的到的数据封装为Event! 不用!不安全,可能丢数据! Spo
阅读全文
摘要:阻塞队列 **==ArrayBlockingQueue==**是一个基于数组结构的有界阻塞队列,此队列按FIFO原则对元素进行排序 **==LinkedBlockingQueue==**是一个基于链表结构的阻塞队列,此队列按FIFO排序元素,吞吐量通常要高于ArrayBlockingQueue **
阅读全文
摘要:CountDownLatch 让一些线程堵塞直到另一个线程完成一系列操作后才被唤醒。CountDownLatch 主要有两个方法,当一个或多个线程调用 await 方法时,调用线程会被堵塞,其他线程调用 countDown 方法会将计数减一(调用 countDown 方法的线程不会堵塞),当计数其值
阅读全文
摘要:1、公平锁、非公平锁 是什么 公平锁就是先来后到、非公平锁就是允许加塞,Lock lock = new ReentrantLock(Boolean fair); 默认非公平。 **==公平锁==**是指多个线程按照申请锁的顺序来获取锁,类似排队打饭。 **==非公平锁==**是指多个线程获取锁的顺序
阅读全文
摘要:一、我们知道ArrayList是线程不安全的,请编写一个不安全的案例并给出解决方案 HashSet与ArrayList一致 HashMap HashSet底层是一个HashMap,存储的值放在HashMap的key里,value存储了一个PRESENT的静态Object对象 protected tr
阅读全文
摘要:当一个处理器想要更新某个变量的值时,向总线发出LOCK#信号,此时其他处理器的对该变量的操作请求将被阻塞,发出锁定信号的处理器将独占共享内存,于是更新就是原子性的了。 1、compareAndSet 比较并交换 AtomicInteger.conpareAndSet(int expect, indt
阅读全文
摘要:一.谈谈对volatile的理解 volatile是java虚拟机提供的轻量级的同步机制 保证可见性、不保证原子性、禁止指令重排 1.可见性理解:所有线程存放都是主内存的副本(比如某个变量值为25),t1线程的工作内存发生改变(值25改为37),写会主内存中,及时通知其他线程t2,t3更新最新的主内
阅读全文