Ekko Blog

路漫漫其修远兮 ,吾将上下而求索

Java 多线程与并发面试问题整理

围绕线程状态、线程池、锁机制、AQS 与并发语义的系统梳理

这篇笔记围绕 Java 并发中的高频基础问题展开,重点覆盖线程生命周期、线程池、synchronized、volatile、CAS、AQS 以及常见锁模型之间的关系。文章目标不是罗列零散问答,而是把这些概念按“语义 -> 机制 -> 边界 -> 典型误区”的顺序串起来,形成一份可复用的并发基础索引。 文中涉及若干 JDK 版本差异,例如 Concurrent...

JAVA虚拟机-Ⅱ

垃圾回收算法、收集器与引用类型

JVM 垃圾回收部分主要涉及三个层面:如何判断对象是否存活、如何选择合适的回收算法、不同收集器在吞吐量与停顿时间之间如何取舍。 本篇内容包括对象存活判断、经典垃圾回收算法、HotSpot 中常见垃圾收集器、Minor GC / Full GC 等术语,以及强引用、软引用、弱引用、虚引用四种引用类型。 本文参考微笑、陈树义、头条科技及其他资料,并结合 HotSpot ...

JAVA虚拟机-Ⅰ

JVM 基本概念、运行时数据区与类加载机制

学习 JVM 有助于从运行时视角理解 Java 语言本身,包括源代码如何转化为字节码、字节码如何被执行,以及内存结构、类加载、方法调用等机制如何影响程序行为与性能表现。 本篇内容分为四部分:虚拟机的基本概念、源代码到机器码的执行路径、JVM 运行时数据区、类加载机制。其中会涉及永久代与元空间、JIT 编译、双亲委派等 JVM 基础主题。 本文参考微笑和陈树义及其他资...

十大经典算法详解

Algorithm

本文整理十种常见排序算法,围绕时间复杂度、空间复杂度、稳定性、核心思路与适用边界展开。重点不只在于记住结论,更在于理解这些算法为何会得到对应的复杂度,以及在工程实践中适合处理什么样的数据分布。 冒泡、选择、插入、希尔属于基础内部排序;归并、快速、堆排序体现了分治与堆结构的典型思路;计数、桶、基数排序则展示了非比较排序在特定约束下的线性时间优势。文中参考了若干资料,其中包含...

面试问题java版-Ⅰ

Java 基础、字符串与集合高频问题整理

这篇笔记围绕 Java 面试中的高频基础题展开,覆盖基本类型、值传递、字符串、集合、异常体系与容器实现等内容。整理目标不是只给结论,而是把容易混淆的边界条件和底层机制一起说明清楚。 原始问题主要整理自掘金等资料,这里在原有基础上补充了 JDK 版本差异、典型误区与使用注意点,适合作为面试复习时的回查笔记。 [TOC] Java 基本类型 byte、1 字节,最...