面试题:Java 中的 wait、notify 和 notifyAll 方法有什么作用?
在Java中,wait()、notify() 和 notifyAll() 方法是用于线程间通信的关键方法,它们都定义在 Object 类中,并且必须与同步机制(如 synchronized 方法或代...
面试题:JavaScript 脚本异步加载如何实现?各有什么区别?
在现代 Web 开发中,异步加载 JavaScript 脚本对于优化页面性能、避免阻塞页面渲染至关重要。以下是几种主要的实现方式及其区别: 1. <script> 标签的 async 属性 语法: <script src=...
面试题:Vue 路由之间是如何跳转的?有哪些跳转方式?
在 Vue Router 中,路由跳转(也称为编程式导航)是指通过 JavaScript 代码而非用户点击 <router-link> 来实现页面的导航。这是构建动态、交互式应用的关键。 核心原理 Vue Router 利用浏...
面试题:️ES6 箭头函数的 this 指向哪⾥?
ES6 箭头函数(Arrow Functions)最核心的特性之一就是它不绑定自己的 this。箭头函数中的 this 指向是在函数被创建时就确定的,它继承自外层(包裹它的)普通函数或全局作用域的 this 值。这种...
面试题:use strict 是什么意思?使用它有什么区别?
'use strict'; 是 JavaScript 中的一个指令,用于开启严格模式(Strict Mode)。它不是一条语句,而是一个字面量表达式,告诉 JavaScript 引擎以更严格的标准来解析和执行代码。 你可以将 'use ...
面试题:Redis 中有哪些内存淘汰策略?
Redis 提供了 8 种内存淘汰策略,用于在内存不足时自动删除数据,以腾出空间容纳新数据。这些策略分为 4 类:LRU(最近最少使用)、LFU(最不经常使用)、Random(随机) 和&nbs...
面试题:ThreadLocal 的缺点?
尽管 ThreadLocal 提供了线程本地存储的能力,使得每个线程可以拥有变量的一个独立初始化的副本,但它也存在一些缺点和潜在的问题: 1. 内存泄漏风险 类加载器相关的内存泄漏:如果 ThreadLocal...
面试题:Redis 的订阅发布功能是什么?你了解吗?
Redis 的订阅发布(Pub/Sub,Publisher/Subscriber)功能是一种消息通信模式,允许消息的发送者(发布者)不直接与接收者(订阅者)通信,而是通过频道(channels)进行间接通信。 这种模式非常...
面试题:Java 泛型擦除是什么?
Java中的泛型擦除(Generics Erasure)是Java编译器在处理泛型时采用的一种机制。这种机制主要源于Java的设计历史和向后兼容性的考虑。简单来说,泛型信息只存在于源代码级别,在编译成字节码时...
场景题:如何实现数据库的不停服迁移?
实现数据库的不停服迁移是许多企业系统升级或架构调整时的核心需求,以下是几种成熟的解决方案: 一、主流迁移方案对比 方案适用场景停机时间复杂度数据一致性保证主从复制版本升级、机房迁移秒...










