大厂面试高频:数据库乐观锁的实现原理、以及应用场景
关注△mikechen的互联网架构△,10年+BAT架构经验倾囊相授 大家好,我是 mikechen | 陈睿 。 数据库乐观锁经常被大厂考察,比如:数据库乐观锁的实现方式有哪些?... 本文,我们详解数据库乐观锁。@mikechen 数据库乐观锁 数据库乐观锁是一种用于控制并发访问的技术,它可以帮助我们避免并发更新时出现的数据冲突问题。 在使用乐观锁的情况下,不会对数据库中的数据进行加锁,而是....
大厂面试高频:聊下分库分表与读写分离的实现原理
关注△mikechen的互联网架构△,10年+BAT架构经验倾囊相授 大家好,我是 mikechen | 陈睿 。 最近有同学留言问睿哥,表示公司数据量比较大,需要涉及到分库分表等方案,不知道从哪里着手? 这里会涉及到: 如何来分?是先分区?还是先分库?怎么分表等问题? 本篇,我就重点来谈谈应对数据量大的拆分等方案。@mikechen 为什么要分库分表和读写分离? 类似淘T宝B这样的网站,海量数....
大厂面试高频:ConcurrentHashMap 的实现原理( 超详细 )
关注△mikechen的互联网架构△,10年+BAT架构经验倾囊相授 大家好,我是 mikechen | 陈睿 。 ConcurrentHashMap的实现原理基本都是大厂面试必考内容,而且对于掌握高并发编程也有很大的参考价值,本篇就来详解ConcurrentHashMap的底层实现机制@mikechen 01 哈希表 1.介绍 哈希表就是一种以 键-值(key-indexed) 存储数据的结.....
大厂面试高频:Volatile 的实现原理 ( 图文详解 )
关注△mikechen的互联网架构△,10年+BAT架构经验倾囊相授 大家好,我是 mikechen | 陈睿 。 Volatile属于并发编程非常重要的内容,大厂面试也特别爱问。今天我就重点来详解 Volatile的实现原理@mikechen 建议收藏,下次面试被问到,秒杀面试官。 本篇目录: Volatile关键字 Java内存模型 Volatile内存模型可见性 Volatile...
HashMap常见面试题(超全面):实现原理、扩容机制、链表何时升级为红黑树、死循环
文章目录 一、红黑树、散列表 1.1 红黑树1.2 散列表 二、HashMap源码分析(底层实现) 2.1 HashMap成员变量 2.2 HashMap构造函数 2.3 HashMap关键方法 2.3.1 put方法2.3.2 get方法,查找2.3.3 remove方法,删除 三、说一下HashMap的实现原理 四、HashMap的j...
面试题:再谈Synchronized实现原理!
前言 线程安全是并发编程中的重要关注点。 造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。 为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行。 在 Java 中,关键字 Synchronized可以...
经典面试---spring IOC容器的核心实现原理
作为一名拥有十年研发经验的工程师,对Spring框架尤其是其IOC(Inversion of Control,控制反转)容器的核心实现原理有着深入的理解。下面我将结合个人经验和权威资料,通过图解和文字说明的方式,详细阐述Spring IOC容器的核心实现原理。 一、Spring IOC容器概述 Spring IOC容器是Spring框架的核心组件,它负责对象的创建、配置和管理,以...
【多线程面试题十六】、谈谈ReentrantLock的实现原理
面试官:谈谈ReentrantLock的实现原理** 参考答案: ReentrantLock是基于AQS实现的,AQS即AbstractQueuedSynchronizer的缩写,这个是个内部实现了两个队列的抽象类,分别是同步队列和条件队列。其中同步队列是一个双向链表,里面储存的是处于等待状态的线程,正在排队等待唤醒去获取锁,而条件队列是一个单向链表,里面储存的也是处于等待状态的线程,只不过...
【多线程面试题十四】、说一说synchronized的底层实现原理
面试官:说一说synchronized的底层实现原理** 参考答案: 一、synchronized作用在代码块时,它的底层是通过monitorenter、monitorexit指令来实现的。 monitorenter:每个对象都是一个监视器锁(monitor),当monitor被占用时就会处于锁定状...
【IO面试题 三】、说说NIO的实现原理
面试官:说说NIO的实现原理** 参考答案: Java的NIO主要由三个核心部分组成:Channel、Buffer、Selector。 基本上,所有的IO在NIO中都从一个Channel开始,数据可以从Channel读到Buffer中,也可以从Buffer写到Channel中。Channel有好几种类型,其中比较常用的有FileChannel、DatagramChannel、SocketC...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Java面试那些事儿
手把手带您学习Java,开启编程之路。
+关注