
源码阅读
文章平均质量分 87
小海子l
keep learning
展开
-
java中的阻塞队列
前言在去年的面试过程中,被面试官问道“阻塞队列”这个问题,因为当时并没有对此问题进行深入理解,只是按照自己的理解说明了该问题,最后面试结果也不太好,今天对该问题进行简要的面试并记录如下;如有错误,欢迎指正。什么是阻塞队列在数据结构中,队列遵循FIFO(先进先出)原则。在java中,Queue接口定义了定义了基本行为,由子类完成实现,常见的队列有ArrayDeque、LinkedList等,这些都是非线程安全的,在java 1.5中新增了阻塞队列,当队列满时,添加元素的线程呈阻塞状态;当队列为空时,获取原创 2021-06-14 18:16:38 · 396 阅读 · 1 评论 -
Spring中的@Transactional注解
前言在上周的开发中,遇到了事务相关的问题,测试环境正常但部署到正式环境就抛出异常,又连续加班几天解决了此问题,现对该问题作出复盘并回顾之前的知识点。如有错误,欢迎指正。什么是事务数据库的事务是一种机制、一个操作序列,包含了数据库操作命令。事务把所有的命令做为一个整体一起向系统提交或撤销操作请求,即这一组命令要么成功,要么失败。事务的4个特性(ACID):原子性事务是一个完整的操作。事务内的各元素是不可分割的。事务中的元素必须作为一个整体提交或回滚。如果事务中的任何元素失败,整个事务将失败。原创 2021-06-06 15:39:32 · 695 阅读 · 1 评论 -
Java线程池的使用及工作原理
前言在日常开发过程中总是以单线程的思维去编码,没有考虑到在多线程状态下的运行状况。由此引发的结果就是请求过多,应用无法响应。为了解决请求过多的问题,又衍生出了线程池的概念。通过“池”的思想,从而合理的处理请求。本文记录了Java中线程池的使用及工作原理,如有错误,欢迎指正。什么是线程池?线程池是一种用于实现计算机程序并发执行的软件设计模式。线程池维护多个线程,等待由调度程序分配任务以并发执行,该模型提高了性能,并避免了由于为短期任务频繁创建和销毁线程而导致的执行延迟。线程池要解决什么问题?说到原创 2021-05-26 23:24:10 · 313 阅读 · 2 评论 -
源码分析-LinkedHashMap
继承关系通过上图可以看出LinkedHashMap直接继承了HashMap接口,实现了Map接口,间接实现了Cloneable和Serializable接口构造方法LinkedHashMap拥有四个构造方法,由于直接继承了HashMap,具体实现由此父类决定在这几个构造方法之前存在一个重要的属性accessOrder,其决定了在迭代LinkedHashMap时是以访问顺序还是以插入顺序进行 /** * The iteration ordering method for thi原创 2021-03-02 00:24:27 · 304 阅读 · 0 评论