Java 线程高频面试题及详细答案(真实面试版).docxVIP

  • 1
  • 0
  • 约5.75千字
  • 约 8页
  • 2026-09-20 发布于河北
  • 举报

Java 线程高频面试题及详细答案(真实面试版).docx

Java线程高频面试题及详细答案(真实面试版)

一、Java线程基础面试题

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

参考答案:

进程是操作系统资源分配的最小单位,线程是CPU调度的最小单位。

1.资源占用:进程独立占用内存、CPU等系统资源,开销大;线程共享所在进程的堆内存、方法区资源,仅独有栈内存、程序计数器,创建和销毁开销极小。

2.独立性:进程之间完全独立,一个进程崩溃不会影响其他进程;线程依附于进程存在,单个线程异常崩溃,会导致整个进程终止。

3.通信方式:进程间通信复杂,需要借助管道、socket、共享内存等机制;线程间通信简单,直接读写进程共享内存即可。

4.执行单元:一个进程至少包含一个主线程,多线程是在同一个进程内并发执行多个任务,提升程序运行效率。

2.Java中创建线程有几种方式?分别是什么?

参考答案:

日常开发和面试中公认的四种核心方式,摒弃老旧错误说法,贴合实际开发:

1.继承Thread类:自定义类继承Thread,重写run()方法,调用start()启动线程。缺点是单继承限制,无法再继承其他类。

2.实现Runnable接口:重写run()方法,传入Thread对象启动线程。优点是避免单继承限制,适合资源共享场景,是最常用的基础方式。

3.实现Callable接口:重写call()方法,支持泛型返回值、抛出异常,需要配合FutureTask

文档评论(0)

1亿VIP精品文档

相关文档