Java线程高频面试题及详细实战答案.docxVIP

  • 2
  • 0
  • 约5.09千字
  • 约 7页
  • 2026-10-13 发布于河北
  • 举报

Java线程高频面试题及详细实战答案

一、线程基础核心面试题

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

参考答案:

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

1.资源占用:进程拥有独立的内存空间,各个进程完全隔离;线程共享所在进程的堆内存、方法区资源,仅私有栈内存和程序计数器,资源开销极小。

2.执行粒度:进程是程序的一次完整运行过程,独立性强;线程是进程内的执行分支,一个进程至少包含一个主线程。

3.开销成本:进程创建、销毁、切换的系统开销极大;线程开销非常小,切换速度快。

4.通信方式:进程间通信复杂,需要借助管道、socket、共享内存等;线程间直接共享进程资源,通信简单,通过全局变量即可实现。

5.容错性:一个进程崩溃不会影响其他进程;一个线程异常崩溃,会直接导致整个进程终止。

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

参考答案:

日常开发和面试中,核心分为四种创建方式,前两种是基础方式,后两种是实际开发常用方式:

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

2.实现Runnable接口:重写run()方法,将实现类传入Thread对象启动。规避了单继承问题,无返回值、无异常抛出。

3.实现Callable接口:重写call()方法,

文档评论(0)

1亿VIP精品文档

相关文档