java后端面试题(多线程极简)

目录

1、进程和线程的区别

进程是独立的程序运行单位,占用独立内存,互不干扰;线程是进程中的执行单元,共享进程资源,开销更小、更轻量。

2、并发与并行的区别

并发是多个任务交替执行,看似同时;并行是多个任务真正同一时刻同时执行。

3、Java创建线程的常用方式

两种基础常用方式:继承Thread类、实现Runnable接口。工作中优先用线程池创建线程。

4、run()和start()方法区别

start():真正开启新线程,只能调用一次;run()是普通业务方法,直接调用不会开启新线程。

5、wait和sleep的核心区别

wait会释放锁资源,需要被唤醒;sleep不会释放锁,时间到自动执行。

6、Java线程有几种状态

常用六种状态:新建、可运行、阻塞、等待、限时等待、终止。

7、volatile关键字的作用

保证多线程之间变量数据实时可见,不保证操作原子性,用于解决简单的数据可见问题。

8、synchronized关键字的作用

基础同步锁,修饰方法或代码块,保证多线程下代码安全,防止数据错乱。

9、什么是死锁,产生原因是什么

两个及以上线程互相持有对方需要的锁,互相等待、程序卡死。多为锁使用顺序混乱导致。

10、为什么要用线程池

避免频繁创建、销毁线程造成资源浪费,统一管理线程,提高程序运行效率。

相关推荐
小羊没烦恼!3 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里3 天前
java中的继承和多态的区别
java
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕3 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码3 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖3 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时3 天前
01-06-A-JVM排查实战详解
java·jvm
伞伞悦读3 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
vipxieliang3 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
C语言小火车3 天前
C/C++ 为什么需要编译器?
开发语言·c++