摘要: 1 public class MyMap<K, V> { 2 private Node<K, V>[] nodes;//定义一个Node数组保存键值对 3 private int size;//逻辑长度 4 //内部静态类,用于保存key,value值 5 private static class 阅读全文
posted @ 2020-03-15 23:30 Qmillet 阅读(387) 评论(0) 推荐(0)
摘要: java锁机制 — 偏向锁、轻量级锁、重量级锁 synchronized作用在静态方法时,锁住整个类; synchronized作用在方法上时,锁住整个对象; synchronized作用于某一个对象实例时,所著的便是对应的代码块。 一、Java对象头 对象头包含两部分:Mark Word 和 Cl 阅读全文
posted @ 2020-03-15 22:55 Qmillet 阅读(331) 评论(0) 推荐(0)
摘要: 1. List:元素是有序的,可重复,可以根据索引操作数据 1.1 ArrayList 数据结构:数组 线程不安全 1.2 LinkedList 数据结构:双向链表 线程不安全 1.3 Vector 数据结构:数组 线程安全:Synchronized 2. Set:元素无序,不可重复,取出元素只能使 阅读全文
posted @ 2020-03-15 20:40 Qmillet 阅读(452) 评论(0) 推荐(0)
摘要: https://www.cnblogs.com/zerotomax/p/8687425.html#go0 一、数据结构 同HashMap,数组+链表+红黑树,关键属性也和HashMap相同 ConCurrentHashMap支持高并发的访问和更新,它是线程安全的 检索操作不用加锁,get方法是非阻塞 阅读全文
posted @ 2020-03-15 20:00 Qmillet 阅读(534) 评论(0) 推荐(0)
摘要: 一、HashMap数据结构 JDK 1.7 采用数组 + 链表实现。 JDK 1.8 采用数组 + 链表 + 红黑树实现。链表采用内部类Node节点实现。红黑树采用内部类TreeNode节点实现。 二、重要参数 // 1. 容量(capacity): 必须是2的幂 & <最大容量(2的30次方),默 阅读全文
posted @ 2020-03-15 17:45 Qmillet 阅读(156) 评论(0) 推荐(0)
摘要: 一、数组VS集合 1.长度 数组长度固定;集合长度可变; 2.内容 数组存储的是同一类型元素;集合可以存储不同类型的元素; 3.元素的数据类型 数组可以存储基本数据类型,也可以存储引用类型;集合只能存储引用类型(基本数据类型会自动装箱成对象) 二、Collection体系 Collection基础功 阅读全文
posted @ 2020-03-15 16:12 Qmillet 阅读(213) 评论(0) 推荐(0)