面试题:JVM 新生代垃圾回收如何避免全堆扫描?
新生代垃圾回收过程中避免全堆扫描的关键在于利用了对象分配的局部性和分代假设。以下是几个主要机制和技术,使得JVM在进行新生代(Young Generation)垃圾回收时能够高效地工作而无需对整个堆...
面试题:说说你对 ES6 中 rest 参数的理解?
ES6(ECMAScript 2015)引入的 Rest 参数(Rest Parameters)是一种非常实用的语法特性,它允许我们将一个不确定数量的参数表示为一个数组。它的核心思想是“收集剩余的参数”。 1. 基本语法 Re...
面试题:Java 中 final、finally 和 finalize 各有什么区别?
在Java中,final、finally 和 finalize 是三个不同的概念,各自有不同的用途和意义。下面分别介绍它们的区别: final 用途:final 是一个关键字,可以用来修饰类、方法或变量。 当用于类时(如 ...
面试题:CSS display 属性值 block、inline 和 inline-block 的区别
这是一个非常基础且重要的 CSS 面试题,考察对盒模型和元素布局行为的理解。 核心区别总结 这三种 display 值决定了元素在页面流中的布局行为,主要体现在以下几个方面: 是否独占一行 能否设置...
面试题:JVM 方法区是否会出现内存溢出?
是的,JVM的方法区也可能会出现内存溢出的情况。方法区主要用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码缓存等数据。 在不同的JVM实现和版本中,方法区的具体实现...
面试题:为什么 Java 中 HashMap 的默认负载因子是 0.75?
Java 中 HashMap 的默认负载因子(Load Factor)设置为 0.75,这是一个经过数学分析和工程实践验证的折中值,旨在在 空间利用率 和 时间性能 之间取得最佳平衡。以下是详细解释: 1. 负载因子的...
面试题:JavaScript 脚本异步加载如何实现?各有什么区别?
在现代 Web 开发中,异步加载 JavaScript 脚本对于优化页面性能、避免阻塞页面渲染至关重要。以下是几种主要的实现方式及其区别: 1. <script> 标签的 async 属性 语法: <script src=...
面试题:ES6 的 Proxy 可以实现什么功能?
ES6 引入的 Proxy 是一个非常强大的元编程(Metaprogramming)特性。它允许你创建一个代理对象,用于拦截并自定义对另一个对象(目标对象)的基本操作(如属性读取、赋值、枚举、函数调用等)。...
面试题:MySQL 的存储引擎有哪些?它们之间有什么区别?
MySQL 的存储引擎是其核心功能之一,不同的存储引擎支持不同的特性、性能优化和适用场景。以下是常见的 MySQL 存储引擎及其区别: 一、常见存储引擎 InnoDB(默认引擎) 特点: 事务支持:支持 ...
面试题:Vue Router 中 route 和 router 有哪些区别?
在 Vue Router 中,router 和 route 是两个核心但极易混淆的概念。它们的区别如下: 1. 核心定义 router (路由器实例): 你可以把它理解为整个导航系统的“控制器”或“管理者”。 它是一个通过...











