摘要:
———————————— 众所周知,HashMap是一个用于存储Key-Value键值对的集合,每一个键值对也叫做Entry。这些个键值对(Entry)分散存储在一个数组当中,这个数组就是HashMap的主干。 HashMap数组每一个元素的初始值都是Null。 对于HashMap,我们最常使用的是 阅读全文
摘要:
HashMap的底层数据结构? 数组+链表(JDK1.8之前) , 数组+链表+红黑树(JDK1.8之后) HashMap的存取原理? 通过获取key对象的hashcode计算出该对象的哈希值,通过改哈希值与数组长度减去1进行位与运算(n-1 & hash),得到buckets 的位置,当发生has 阅读全文
摘要:
核心的概念 map是entry的集合,一个key、value就是一个entry 图解 Java在处理hash冲突的时候使用了链表 图中的0到10号 的方块就是entry(键值对),如果发生hashcode的冲突,就会像4号方块那样,开始向后追加,注意看4号方块的next的属性,那个属性不是null, 阅读全文
摘要:
MD5现在是用来作为一种数字签名算法,即A向B发送数据m,为了让B确信数据是A送来的并且没有被篡改于是A就是用hash算法将数据散列一并发送给 B。B接收到文件以后也用相同的hash算法校验数据是否被修改。主要是防止数据被修改的。MD5值的重复就是所谓的碰撞。 获取文件的MD5码 System.ou 阅读全文
摘要:
cat 文件名 | grep -C 20 '关键字' 显示文件里匹配关键字那行以及上下20行 cat 文件名 | grep -B 20 '关键字' 显示关键字及前20行 cat 文件名 | grep -A 20 '关键字' 显示关键字及后20行 例如: 在catalina.out文件内容中找到关键字 阅读全文