java
文章平均质量分 81
船长笔迹
后端开发一枚,兴趣学习AI、RPA领域,偶尔摸鱼写笔记。v:TXZO1006
展开
-
AQS线程同步对象简析
AQS类的简单解析1.AQS的使用对象ReentrantLock、CountDownLatch等多线程工具对象都是通过AbstractQueuedSynchronizer(以下简称AQS对象)实现的,这些对象都使用了AQS类的FIFO队列和state锁状态维护的线程互斥等待功能2.AQS是什么AQS类是java提供的一个抽象类,这类中维护了一个线程FIFO链表队列,和一个锁状态对象state。以ReentrantLock对象为例,通过一个Sync内部类对象继承了AQS抽象类,从而实现了使用sync类原创 2021-03-31 15:51:44 · 140 阅读 · 0 评论 -
ThreadLocal解析
ThreadLocal解析ThreadLocal是线程对象的补充对象,这个类本身不存储任何值,他只提供了对当前线程的thread.threadLocals属性的读写操作(类似于一个类提供get/set给外部操作私有属性),这样相同线程创建不同的ThreadLocal对象,会在同一个ThreadLocalMap中存储不同的k-v,而不同线程在使用同一个ThreadLocal对象时,会创建各自的ThreadLocalMap对象。ThreadLocal结构下面我们来看一看ThreadLocal的具体结构:原创 2021-03-30 15:17:59 · 139 阅读 · 0 评论 -
SAX解析xml实际用例
一、SAX解析xml简介SAX是Simple API for Xml的简写,主要功能是用于对xml文档进行解析。由于该方式采用的是事件驱动(callback回调机制)解析方式,所以有速度快、占内存少的优点,当然这些优点也仅限于xml的读取操作,SAX是无法对读取的XML元素进行修改的。如果要修改节点元素则需要使用DOC方式进行将xml文件读取,它会将xml读取成document树结构对象,这样可用对节点元素进行编辑操作;DOC方式的缺点也比较明显:占内存大、解析速度较慢。所以仅用于读取xml操作,使用S原创 2021-03-29 11:20:06 · 289 阅读 · 0 评论