
java
guo_zheng_feng
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
fail-fast机制 与 fail-safe
fail-fast机制 在JDK中,实现了Collection接口的集合,都可以通过迭代器(Iterable)来遍历。常见的集合有ArrayList、HashMap等等,在JDK源码中对这两个类的描述中都出现了同一段话注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证。快速失败迭代器会尽最大努力抛出 ConcurrentModificationException。因此,为提高这类迭代器的正确性而编写一个依赖于此异常的程序是错误的做法:迭代器的快速失败原创 2020-09-22 15:34:52 · 306 阅读 · 0 评论 -
Hash冲突的解决办法
Hash冲突的解决办法(参考资料)开放定址法开放定址法,也称为再散列法。当关键字key的哈希地址p=H(key)出现冲突时,以p为基础,根据以下公式计算出新的哈希地址 N/*** 说明:N 代表计算出来的新的哈希地址 TableSize为表长*/N = (H(key) + di) % TableSize i=1,2,3.....n这里根据 di 的计算公式不同又可分为 线性探测、平方探测、双散列线性探测线性探测所采用的公式为di = i也就是说从哈希地址p原创 2020-07-19 12:11:07 · 528 阅读 · 0 评论 -
LinkedList
LinkedList (可参考)概括:LinkedList是一个实现了List接口和Deque接口的双端链表。与ArrayList相比,ArrayList直接继承自AbstractList,而LinkedList继承自AbstractSequentialList,然后再继承自AbstractList。另外LinkedList没有实现RandomAccess接口,说明它不具备随机快速访问任一元素的能力,它访问元素时需要通过遍历节点来获取,至于从链头还是链尾取决于所要访问的元素的位置LinkedList原创 2020-07-19 11:07:34 · 270 阅读 · 0 评论 -
ArrayList
ArrayList (参考自此文章)概括:ArrayList是一个动态数组,允许元素为null,具有快速访问任一元素的能力,它是线程不安全的RandomAccess接口代表了其具有随机快速访问的能力,其可以以 O(1) 的时间复杂度访问任一元素,Cloneable接口代表了其可以实现浅拷贝,Serializable代表序列化与反序列化ArrayList底层是一个数组,数组在Java中是一个对象,存储在堆内存中的连续空间。正是由于数组的内存连续,所以可以根据下标以 O(1) 的时间复杂度读写元素。当集原创 2020-07-17 16:24:30 · 248 阅读 · 0 评论 -
Linux定时执行java程序
Linux定时执行java程序cron是Linux系统下一个自动执行指定任务的程序。用户可以通过crontab命令来设置自己的定时任务。Linux定时执行java程序,需要将java程序打包为jar包,下面介绍一下idea环境下打包maven下普通的java程序...原创 2018-06-11 01:21:09 · 6901 阅读 · 0 评论