2025-3-17 腾讯云-大数据方向-成都面试

ConcurrentHashMap了解过吗

适用场景

  • 高并发环境,多个线程同时读写(如缓存、计数器)。
  • 需要 HashMap 的功能,但又要保证线程安全
  • 适合读多写少的场景(因为写操作需要 CAS 或锁)。

volatile是什么,解决了什么问题

volatile 是 Java 关键字,用于 保证变量的可见性 ,防止 指令重排 ,但 不保证原子性

(1)可见性问题

在多线程环境下,一个线程对变量的修改,另一个线程可能看不到 ,因为线程可能会从 CPU 缓存 读取变量,而不是最新的主存数据。

(2)防止指令重排

JVM 和 CPU 可能会优化代码执行顺序 ,导致执行结果和代码顺序不同。volatile 防止重排序,确保代码按照预期顺序执行。

(3)不保证原子性

不能 代替 synchronized 进行 原子操作

treeset和hashset区别

使用过JVM的哪些模块

jvm中,堆,栈,元空间存储的数据

String nameA = "123" String nameB = "123"

nameA和nameB在元空间中映射的是同一个地址吗? 不是

  • "123" 存储在 字符串常量池(方法区)。
  • 变量 nameA 是引用变量,存储在 中。
  • 如果用 new String("123"),则会在 中再创建一个 String 对象。

反向代理解决什么问题

算法:多个有序数组1,2,4,2,4,5,2,6,7,输出有序集合的交集,Java实现

相关推荐
菜小麒1 天前
面试问题-01
面试·职场和发展
朱容zr3331331 天前
为什么推荐使用自增主键?使用UUID作为主键的优缺点是什么?
java·运维·数据库·后端·mysql·面试·性能优化
艾莉丝努力练剑1 天前
【Linux:动静态库】Linux 动静态库与可执行文件
linux·运维·服务器·学习·面试·文件系统·动静态库
李剑一1 天前
再见前端,你好AI
面试·求职
HeiSenBerg1 天前
Android IPC 深度解析:Binder 机制与 AIDL 实战
面试
城管不管1 天前
重生——第五次面试2026.8.1一面
java·数据库·后端·ai·面试·职场和发展·agent
代码代码快快显灵1 天前
MYSQL—DAY1
面试·职场和发展
kyriewen2 天前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
Revolution612 天前
React 组件重新渲染时,到底重新执行了什么
前端·react.js·面试
Revolution612 天前
第一次运行 Node.js:终端里的 JavaScript 怎样执行
后端·面试·node.js