1. 先简单解释 JMM 和变量访问路径“在 Java 中,变量的访问遵循 Java 内存模型(JMM)。线程不会直接操作主内存中的变量,而是先将变量 load 到自己的工作内存中操作,最后 store 回主内存。” 2. 区分单线程 vs 多线程情境...
阅读全文...
Java多线程总结 | Chapter 2:synchronized
参考小林codingHome JavaGuideJava 面试指南Synchronized原理首先要介绍一下Object对象锁。在Java中,每个实例都有一个关联的Monitor锁。当线程进入synchronized代码块时,会尝试获取Object对应的...
阅读全文...
阅读全文...
Java多线程总结 | Chapter 1:线程基础概览
参考小林coding Home线程安全在三个方面的体现原子性:一个或一组操作要么全部执行成功,要么全部不执行一致性:多个线程访问共享变量,保证所有线程看到的值是一致的。有序性:程序必须按照代码顺序执行线程创建的方式继承Thread类实现Runnable接...
阅读全文...
阅读全文...
LRU缓存实现以及哨兵节点
LRU缓存LRU算法,即最近最久未使用算法,广泛应用于内存管理之中,在MySQL,Redis,操作系统的内存淘汰策略中均有它的影子。该算法通过双向链表+哈希表实现。当我们访问某个节点的时候,先看链表中是否存在该节点,如果存在,将该节点移动到链表首部,并更...
阅读全文...
阅读全文...