Java线程高频面试题(真实面试版).docxVIP

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

Java线程高频面试题(真实面试版)

说明:整套题目贴合一线企业真实面试场景,摒弃模板化话术,分为基础篇、核心原理篇、锁机制篇、线程池篇、实操问题篇,覆盖初/中/高级开发面试高频考点,答案简洁精准,适配面试口述场景。

一、线程基础篇(初级必问)

1.说说进程和线程的区别?

进程是操作系统资源分配的最小单位,线程是CPU调度的最小单位。一个进程可以包含多个线程,线程共享进程的堆和方法区资源,每个线程有独立的栈内存和程序计数器。

进程之间相互独立,开销大、切换慢;线程共享资源、通信简单,切换成本极低,是轻量级的进程。日常开发中多使用多线程提升程序运行效率。

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

Java线程一共6种状态,并非网上常说的5种,分别是:

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

RUNNABLE(就绪/运行):包含就绪和运行两种状态,等待CPU资源或正在执行

BLOCKED(阻塞):等待获取synchronized锁,锁释放后进入就绪状态

TERMINATED(终止):线程代码执行完毕或异常终止

3.start()和run()方法的区别?为什么不直接调用run()?

start()是启动线程的核心方法,会向操作系统申请创建新线程,由JVM调度执行run()方法,真正实现多线程并行执行,只能调用一次,重复调用会报异常。

直接调用run()只是普通

文档评论(0)

1亿VIP精品文档

相关文档