Java多进程面试题及详细答案.docxVIP

  • 1
  • 0
  • 约6.35千字
  • 约 9页
  • 2026-11-16 发布于河北
  • 举报

Java多进程面试题及详细答案

说明:本套试题适用于后端开发面试,覆盖基础概念、进程与线程区别、创建方式、进程通信、资源隔离、常见坑点等内容。

一、基础概念题

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

答案:

资源隔离:进程是操作系统资源分配的最小单位,每个进程拥有独立的内存空间、文件描述符、堆、全局变量等资源,进程之间默认互不感知;线程是CPU调度执行的最小单位,同一个进程内的多个线程共享进程的地址空间、堆、文件句柄等资源,线程私有内容主要是栈、程序计数器、本地方法栈。

切换开销:进程切换时操作系统需要切换页表、刷新缓存、保存全套进程上下文,开销很大;线程只需要保存少量寄存器上下文,切换成本远低于进程。

生命周期:进程由操作系统管理,一个进程崩溃,在没有特殊机制隔离的情况下不会影响其他进程;同一个进程内任意一个线程出现未捕获异常,大概率会导致整个进程退出。

通信方式:进程间通信复杂,依赖操作系统提供的IPC机制;同进程线程通信简单,可以直接使用共享变量,配合锁、信号量等同步工具。

数量限制:系统能够同时运行的进程数量有限,受内存、进程表限制;单进程内可以创建大量线程,但线程过多会带来上下文切换风暴。

2.Java中能不能直接创建进程?常用创建进程的方式有哪些?

答案:

Java本身没有语言层面的进程关键字,依托操作系统能力,通过java.lang.Process相关API创建外部进程,常

文档评论(0)

1亿VIP精品文档

相关文档