2018年8月29日

摘要: 针对直接插入排序的改进 缩小增量排序 不稳定 现将待排序序列恩城多个子序列进行直接插入排序,待整个序列基本有序时,再对整个序列进行直接插入排序 子序列不是简单地逐段分割,而是将相隔某个增量的关键字组成一个子序列,在一趟排序完成之后,缩小增量,直到增量为1(即为一次针对所有关键字的直接插入排序) 增量 阅读全文
posted @ 2018-08-29 19:02 dddjp 阅读(220) 评论(0) 推荐(0) 编辑
 
摘要: 稳定 基于移动元素 适合于元素个数较少,基本有序的情况 将关键字序列的第一个关键字看成一个有序的序列,然后将第二个插入到有序序列的合适位置,此时,有序序列长度加一 一次将后面的关键字插入到有序子序列的合适位置,使得有序子序列的长度递增,直到待排序序列的元素插入完 最好:待排序序列有序 O(n) 最坏 阅读全文
posted @ 2018-08-29 12:13 dddjp 阅读(141) 评论(0) 推荐(0) 编辑
 
摘要: 基于交换的排序、不稳定的排序 对冒泡排序的改进 通过一趟排序,将待排关键字分为两部分,其中一部分的全部关键字都小于另一部分的全部关键字,然后分别对这两部分进行快速排序,可以选取第一个关键字为基准,将比它小的放在它之前,将比它大的放在它之后,完成这一趟之后,基准所在的位置就将初始序列分成两部分(一部分 阅读全文
posted @ 2018-08-29 10:57 dddjp 阅读(189) 评论(0) 推荐(0) 编辑
 
摘要: 基于交换的排序、稳定的排序 第一趟:对所有n个元素,从第一个元素开始,比较相邻的两个元素,如果逆序,调换;在第一轮比较完之后,最大(小)的元素就会在最后一个位置 第二趟:对前n-1个元素,从第一个元素开始,比较相邻的两个元素,如果逆序,调换,在第二轮比较完之后,第二大(小)的元素就会在倒数第二位置 阅读全文
posted @ 2018-08-29 09:40 dddjp 阅读(149) 评论(0) 推荐(0) 编辑

2018年8月28日

摘要: Executor ExecutorService AbstractExecutorService ScheduledExecutorService ThreadPoolExecutor ScheduledTreadPollExecutor ThreadPoolExecutor 参数 private 阅读全文
posted @ 2018-08-28 22:49 dddjp 阅读(179) 评论(0) 推荐(0) 编辑

2018年8月27日

摘要: 0.底层实现加了红黑树 数组+链表(链表长度超过阈值,默认8-->红黑树) HashMap在进行put get remove的时候,都是先计算hash,然后根据hash定位桶的位置(table[]的下标),桶中是hash值冲突的键值对组成的链表,然后遍历该链表进行相应的操作,当冲突很多时,遍历链表效 阅读全文
posted @ 2018-08-27 16:24 dddjp 阅读(128) 评论(0) 推荐(0) 编辑

2018年8月26日

摘要: java.util.concurrent.ConcurrentHashMap<K, V> public class ConcurrentHashMap<K, V> extends AbstractMap<K, V> implements ConcurrentMap<K, V>, Serializab 阅读全文
posted @ 2018-08-26 22:31 dddjp 阅读(338) 评论(0) 推荐(0) 编辑
 
摘要: java.util.HashMap<K, V> public class HashMap<K,V>extends AbstractMap<K,V>implements Map<K,V>, Cloneable, Serializable 数组+链表 HashMap中有一个Entry<K,V>[]数组, 阅读全文
posted @ 2018-08-26 15:33 dddjp 阅读(293) 评论(0) 推荐(0) 编辑
 
摘要: 0.出现时间? HashMap是jdk1.2 Hashtable是jdk1.1 HashMap出现得晚 1.线程安全? HashMap线程不安全 Collections.synchronizedMap(map); Hashtable线程安全 synchronized 2.null key? Hash 阅读全文
posted @ 2018-08-26 10:36 dddjp 阅读(152) 评论(0) 推荐(0) 编辑

2018年8月22日

摘要: Java平台无关性的基石 class文件字节码 任何一个calss文件都对应唯一一个类或者接口的定义信息,但是,类或者接口的定义信息比一定都得定义在class文件中,例如,类或者接口也可以通过类加载器直接生成 class文件是一组以8字节为基础单位的二进制流 无符号数和表 无符号数:u1 u2 u4 阅读全文
posted @ 2018-08-22 15:10 dddjp 阅读(218) 评论(0) 推荐(0) 编辑