Java 面试 (三)

目录

[1. 并发的概念](#1. 并发的概念)

[2. 如何创建线程 四种方式:](#2. 如何创建线程 四种方式:)

[3. 一个线程频繁的创建和销毁 是否有开销?](#3. 一个线程频繁的创建和销毁 是否有开销?)

[4. 线程的生命周期和状态](#4. 线程的生命周期和状态)

[5. AQS设计模式](#5. AQS设计模式)


1. 并发的概念

是指多个任务(程序,进程)在同一时间间隔内被启动和执行的一种机制。


2. 如何创建线程 四种方式:

  1. 通过继承Thread类并重写run()方法实现;

  2. 实现Runnable接口并重写run()方法:

  3. 通过Callable接口实现有返回值的线程

  4. 通过线程池管理线程资源


3. 一个线程频繁的创建和销毁 是否有开销?

会带来显著的系统开销,每次的创建和销毁都需要消耗时间和内存数据结构;

解决方案:通过复用线程避免频繁创建销毁。任务达到时直接使用空闲线程,省去创建延迟。


4. 线程的生命周期和状态

  1. new 新建状态

  2. runable 可运行状态

  3. blocked 阻塞状态

  4. waiting 等待状态

  5. timed-waiting 期限等待状态

  6. terminated 终止状态


5. AQS设计模式

AQS 是java并发包的核心基础框架,用于构建索;核心功能是管理线程和阻塞与唤醒;

设计模式:1. 固化不变部分(父类实现)

线程排队(CLH队列管理)

阻塞/唤醒机制

2. 开放可变部分

资源获取:tryAcquire(int arg)

资源释放:tryRelease(int arg)


6. 七个基本数据类型

byte、short、int、long、float、double、char、boolean


7. 线程和进程的区别

  1. hashmap的底层逻辑

  2. 方法重载和方法重写的区别

相关推荐
li星野23 分钟前
[特殊字符] Linux/嵌入式Linux面试模拟卷
linux·运维·面试
xlp666hub2 小时前
如果操作GPIO可能导致休眠,那么同步机制绝不能采用spinlock
linux·面试
li星野2 小时前
RTOS面试完整模拟题(嵌入式系统方向)
arm开发·面试·职场和发展
2301_800895102 小时前
2022蓝桥杯b组初赛---备战蓝桥杯版h
职场和发展·蓝桥杯
MekoLi292 小时前
Spring AI 与 LangChain4j 从入门到精通:Java 后端开发者的 AI 实战手册
后端·面试
多打代码2 小时前
2026.3.22 回文子串
算法·leetcode·职场和发展
平江鱼3 小时前
Android 组件初始化顺序详解
面试
肆忆_4 小时前
【面试】手撕线程池
面试
wangfpp4 小时前
性能优化,请先停手:为什么我劝你别上来就搞优化?
前端·javascript·面试
野犬寒鸦4 小时前
JVM垃圾回收机制面试常问问题及详解
java·服务器·开发语言·jvm·后端·算法·面试