文章 2022-05-17 来自:开发者社区

最新精心整理Java面试题,实现原理分析

前言我们从一个问题引入今天的主题。在日常业务开发中,我们可能经常听到 DBA 对我们说“不要”(注意:不是禁止)使用 join,那么为什么 DBA 对 join 这么抵触呢?是 join 本身有问题,还是我们使用的方式不对。其实这涉及到 join 语句在 MYSQL 内部到底是怎么执行的。这就是我们今天要讲的内容。二、常见的并发问题1、脏读一个事务读取了另一个事务未提交的数据2、不可重复读一个事....

文章 2022-05-05 来自:开发者社区

面试官:Zookeeper怎么解决读写、双写并发不一致问题,以及共享锁的实现原理?

一、前言今天清明假期,赶上北京玉渊潭公园樱花盛开,女朋友非要拉着我去看樱花,我头一天晚上干文章到三点半,我很想睡觉,但是没办法,军令难违呀。来到这里犹如来到了花的海洋,让我浑身的艺术细菌开始躁动,我忍不住吟诗一首“樱花落尽子规啼、闻道龙标过五溪,我寄愁心与明月、随君直到夜郎西”,啊,美丽的樱花啊。这时旁边的公园管理员满是疑惑的看着我,问我小伙子你的诗背错了吧,不应该是杨花落尽子规啼吗?我只能尴尬....

面试官:Zookeeper怎么解决读写、双写并发不一致问题,以及共享锁的实现原理?
文章 2022-04-24 来自:开发者社区

面试题:再谈Synchronized实现原理!

前言线程安全是并发编程中的重要关注点。造成线程安全问题的主要诱因有两点,一是存在共享数据(也称临界资源),二是存在多条线程共同操作共享数据。为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行。在 Java 中,关键字 Synchronized可以保证在同一个时刻,只有一个线程可以执行某....

文章 2022-02-09 来自:开发者社区

面试必问:HashMap 底层实现原理(一)

HashMap最早出现在JDK1.2中,它的底层是基于的散列算法。允许键值对都是Null,并且是非线程安全的,我们先看看这个1.8版本的JDK中HashMap的数据结构吧。HashMap图解如下我们都知道HashMap是数组+链表组成的,bucket数组是HashMap的主体,而链表是为了解决哈希冲突而存在的,但是很多人不知道其实HashMap是包含树结构的,但是得有一点 注意事项,什么时候会出....

面试必问:HashMap 底层实现原理(一)
文章 2022-02-09 来自:开发者社区

面试必问:HashMap 底层实现原理(二)

我们再看看构造方法构造方法在这源码中,loadFactor负载因子是一个非常重要的参数,因为他能够反映HashMap桶数组的使用情况, 这样的话,HashMap的时间复杂度就会出现不同的改变。当这个负载因子属于低负载因子的时候,HashMap所能够容纳的键值对数量就是偏少的,扩容后,重新将键值对 存储在桶数组中,键与键之间产生的碰撞会下降,链表的长度也会随之变短。但是如果增加负载因子当这个负载因....

面试必问:HashMap 底层实现原理(二)
文章 2022-01-15 来自:开发者社区

面试必需要明白的 Redis 分布式锁实现原理!

setnx其实目前通常所说的setnx命令,并非单指redis的setnx key value这条命令。一般代指redis中对set命令加上nx参数进行使用,   set这个命令,目前已经支持这么多参数可选:SET key value [EX seconds|PX milliseconds] [NX|XX] [KEEPTTL]当然了,就不在文章中默写Api了,基础参数还有不清晰的,可以....

面试必需要明白的 Redis 分布式锁实现原理!
文章 2022-01-10 来自:开发者社区

Java面试题 synchronized底层实现原理?它与lock相比有什么优缺点?

首先那些说看过synchronized源码的基本都是大聪明,synchronized根本点不进去,想弄懂它的实现原理,我们只能通过看编译好的字节码文件原理:基于对象的监视器(ObjectMonitor),我们在字节码文件里面可以看到,在同步方法执行前后,有两个指令,方法前monitorenter,方法后monitorexit; 与lock对比:1、synchronized不需要手动释放锁,loc....

文章 2021-12-27 来自:开发者社区

面试必问 | 聊聊MySQL三大核心日志的实现原理?

大家好,我是冰河~~MySQL几乎成为互联网行业使用的最多的开源关系型数据库,正因如此,MySQL也成为各大互联网公司面试中必问的数据库,尤其是MySQL中的事务实现机制和三大核心日志的实现原理。有关MySQL的事务实现机制小伙伴们可以参见冰河出版的《深入理解分布式事务:原理与实战》一书。今天,我们就重点聊聊MySQL三大核心日志的实现原理。文章已收录到:https://github.com/s....

面试必问 | 聊聊MySQL三大核心日志的实现原理?
文章 2020-02-25 来自:开发者社区

Java常见面试题:ArrayList实现原理

ArrayList实现原理 类集里面使用最多的就是ArrayList,使用ArrayList之前往往需要一些约定。ArrayList线性复杂度是1,可以直接通过索引进行访问。实际上这个过程和数组是非常相似的。 ArrayList在整个使用过程中如果想高效操作,那么最好设置一个数组的大小。 在个数固定的情况下,ArrayList里面避免了重复开辟空间的问题,所以当确定数据个数的时候就使用Arr...

Java常见面试题:ArrayList实现原理
文章 2019-07-30 来自:开发者社区

面试必问--synchronized实现原理及锁升级过程你懂吗

synchronized实现原理及锁升级过程 前言: synchronized是Java内置的机制,是JVM层面的,而Lock则是接口,是JDK层面的 尽管最初synchronized的性能效率比较差,但是随着版本的升级,synchronized已经变得原来越强大了,本文带大家了解的是synchronized实现原理及锁升级过程,希望可以帮助到大家。 1.用法 synchronized可用来给.....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

Java面试那些事儿

手把手带您学习Java,开启编程之路。

+关注