文章列表

线程、进程、协程的区别是什么?

本文深入解析线程、进程与协程的核心区别,从资源分配、调度机制、切换成本多维度对比,并详解Java虚拟线程如何以协程方式实现高并发。是理解现代并发模型与面试准备的关键指南。


犬小哈2026/1/12Java面试八股文

并发和并行的区别是什么?

本文清晰阐述并发与并行的核心区别:并发是任务交替执行的设计能力,并行是多核同时执行的状态。通过原理、代码示例及场景对比,深入解析其在多线程编程和高性能计算中的应用。


犬小哈2026/1/12Java面试八股文

创建线程有几种方式?

本文详解Java创建线程的四种核心方式:继承Thread类、实现Runnable/Callable接口及使用线程池,对比其优缺点,并强调线程池在生产环境中的绝对优势及正确配置方法。


犬小哈2026/1/12Java面试八股文

多线程上下文切换是什么意思?

本文深入解析多线程上下文切换的机制、性能开销及对系统吞吐量的影响,提供诊断方法和优化策略(如减少锁竞争、使用线程池和虚拟线程),是解决高并发性能瓶颈的关键指南。


犬小哈2026/1/11Java面试八股文

线程数设置多少合适?

本文详解如何根据任务类型(CPU密集型/I/O密集型)和CPU核心数理论计算最佳线程数,并提供通过压测、监控进行动态调优的完整实践方案,解决高并发场景下的性能瓶颈。


犬小哈2026/1/11Java面试八股文

线程池的拒绝策略有哪些?

本文详解Java线程池四种拒绝策略:AbortPolicy、CallerRunsPolicy、DiscardPolicy和DiscardOldestPolicy的工作原理、适用场景及配置示例,助您合理处理任务过载,保障系统稳定性。


犬小哈2026/1/11Java面试八股文