Java高并发核心面试题及详细答案(实战版).docxVIP

  • 1
  • 0
  • 约5.91千字
  • 约 9页
  • 2026-08-24 发布于河北
  • 举报

Java高并发核心面试题及详细答案(实战版).docx

Java高并发核心面试题及详细答案(实战版)

一、并发基础核心面试题

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

参考答案:

并发是多个任务交替执行,宏观上看起来同时运行,微观上是单CPU快速切换调度,同一时刻只有一个任务在执行。比如单核CPU运行多线程程序,线程轮流抢占CPU时间片。

并行是多个任务真正同时执行,需要多核CPU支持,多个核心在同一时刻分别执行不同任务。

简单总结:并发是“交替做”,并行是“同时做”;并行一定是并发,并发不一定是并行。日常Java开发中,我们说的多并发,大多是基于CPU时间片切换的并发场景。

2.线程和进程的区别?

参考答案:

进程:操作系统资源分配的最小单位,独立占用内存、CPU资源,进程之间相互隔离,通信成本极高。一个进程包含多个线程。

线程:CPU调度的最小单位,共享所在进程的堆内存、方法区资源,仅拥有独立的栈内存和程序计数器。线程之间通信简单、切换成本低,也被称为轻量级进程。

核心区别:进程资源独立、开销大;线程资源共享、开销小。

3.Java线程的生命周期有哪些状态?

参考答案:

Java线程一共6种状态,定义在Thread.State枚举中:

NEW(新建):线程对象创建,未调用start()方法,未启动

RUNNABLE(可运行):包含就绪和运行两种状态,调用start()后进入,等待CPU调度或正在执行

BLOCKED(阻塞):等待获取sy

最近下载

文档评论(0)

1亿VIP精品文档

相关文档