
源码
文章平均质量分 85
赵丙双
这个作者很懒,什么都没留下…
展开
-
定时任务异常终止 spring VS JDK
之前遇到过定时任务异常终止的问题,此次对 jdk 的 ScheduledThreadPoolExecutor 与 spring 的 @Scheduled 进行了测试以及源码的分析。测试每秒执行一次,当 count == 3 时抛出异常。JdkTestpublic class JdkTest { private static final ScheduledExecutorService EXECUTOR = new ScheduledThreadPoolExecutor(1); p原创 2021-10-06 16:43:11 · 1101 阅读 · 0 评论 -
Iterator、ListIterator 使用时的注意点
Iterator 是集合框架的重要组成部分,用来封装集合的遍历。ListIterator 扩展了 Iterator,添加了一些针对 List 的方法,比如向前遍历、添加、更新。同时迭代器在使用时会有一些坑。Iterator简介、测试public interface Iterator<E> { /** * 迭代器没有到达末尾则返回 true */ boolean hasNext(); /** * 返回下一个元素,或者抛出异常 NoSuc原创 2021-09-14 00:33:08 · 511 阅读 · 0 评论 -
PageHelper 原理
本文来探寻一下 PageHelper 分页和 count 的原理,数据库是 MySQL。基本思路是:PageHelper向 Mybatis 注册处理分页和 count 的拦截器 PageInterceptor通过 PageHelper.startPage() 方法把分页相关的参数放到 ThreadLcoal 中Mybatis 执行 SQL 过程中会调用拦截器根据查询 SQL 构建 count SQL从 ThreadLcoal 拿出分页信息,在查询 SQL 后面拼接 limit ?, ?清空原创 2021-06-07 21:31:24 · 1841 阅读 · 3 评论 -
HashMap 源码详解
概述HashMap 允许 null 的键和值。Hashtable 既不允许 null 的值,也不允许 null 的键。都会抛出 NullPointerException。get put 时间复杂度是常数级别的。HashMap 有两个参数影响其性能:initial capacity 初始容量 和 load factor 负载因子。capacity 指的是 bucket 的数量,即数组的长度。load factor 控制可以满到什么程度,默认为 0.75,较好的权衡了时间与空间成本。当元素的个数超过原创 2021-05-06 19:17:25 · 332 阅读 · 0 评论 -
ArrayList 源码详解 (JDK8)
文章目录类图声明RandomAccess 接口Cloneable 接口Serializable 接口List 接口AbstractList 抽象类属性DEFAULT_CAPACITYEMPTY_ELEMENTDATADEFAULTCAPACITY_EMPTY_ELEMENTDATAelementDatasize构造方法方法trimToSize()容量计算、扩容size()、isEmpty() 、 contains(Object o) 、indexOf(Object o)、lastIndexOf(Object原创 2020-06-07 18:14:57 · 283 阅读 · 0 评论