随笔分类 - java
摘要:什 么 是 Java 的 内 存 模 型 , Java 中 各 个 线 程 是 怎 么 彼 此 看 到 对 方 的 变 量 的 ? java 的 内 存 模 型 定 义 了 程 序 中 各 个 变 量 的 访 问 规 则 , 即 在 虚 拟 机 中 将 变 量 存 储 到 内 存 和 从 内 存 中
阅读全文
摘要:Java 中 的 线 程 池 是 如 何 实 现 的 ? 在 Java 中 , 所 谓 的 线 程 池 中 的 “ 线 程 ” , 其 实 是 被 抽 象 为 了 一 个 静 态 内 部 类 Worker, 它 基 于 AQS 实 现 , 存 放 在 线 程 池 的 Hash Set workers
阅读全文
摘要:跟Synchronized 相 比 , 可 重 入 锁 Reentrant Lock 其 实 现 原 理 有 什 么 不 同 ? 其 实 , 锁 的 实 现 原 理 基 本 是 为 了 达 到 一 个 目 的 : 让 所 有 的 线 程 都 能 看 到 某 种 标 记 。Synchronized 通
阅读全文
摘要:Synchronized 原 理 是 什 么 ? Synchronized 是 由 JVM 实 现 的 一 种 实 现 互 斥 同 步 的 一 种 方 式 , 如 果 你 查 看 被 Synchronized 修 饰 过 的 程 序 块 编 译 后 的 字 节 码 , 会 发 现 , 被 Synch
阅读全文
摘要:HashMap简介 HashMap基于哈希表的Map接口实现。是以key value存储形式存在。线程不安全。key和value都可以为null,无序 JDK1.8之前由数组+链表组成,数组是HashMap主体,链表则主要是为了解决哈希冲突(两个对象调用的hashCode方法计算的哈希码值一致导致计
阅读全文
摘要:HashMap的底层数据结构? 数组+链表 , 数组+链表+红黑树 HashMap的存取原理? 通过获取key对象的hashcode计算出该对象的哈希值,通过改哈希值与数组长度减去1进行位与运算(n 1 & hash),得到buckets 的位置,当发生hash冲突时,如果value值一样,则会替换
阅读全文