多线程相关面试题

本文涵盖了多线程面试中的常见问题,包括复制算法、标记清除和标记整理算法的优缺点,新生代扩容对GC效率的影响,CMS垃圾回收器的工作原理及其挑战,死锁的概念及危害,以及Java中Executor与Executors的区别,还有CAS操作的使用与限制。
摘要由CSDN通过智能技术生成
1 、什么是进程?什么是线程?
进程 是操作系统分配资源的最小单元
线程 是操作系统调度的最小单元。
一个程序至少有一个进程 , 一个进程至少有一个线程。
2 JVM JRE JDK 的关系?
JVM :( Java Virtual Machine ), Java 虚拟机。它能识别 .class 后缀的文件,并且能够解析它的指令,最终调用操
作系统上的函数,完成我们想要的操作。
3 JVM 中可以运行多种语言吗?
图灵学院 JVM 只识别字节码,所以 JVM 其实跟语言是解耦的,也就是没有直接关联。
Scala Groovy Kotlin 等等语言都可以在JVM上运行
4 JVM 有哪些内存区域?
虚拟机栈 :在 JVM 运行过程中存储当前线程运行方法所需的数据,指令、返回地址。
本地方法栈 :本地方法栈是和虚拟机栈非常相似的一个区域,它服务的对象是 native 方法。
程序计数器 :主要用来记录各个线程执行的字节码的地址。
方法区 JDK1.7 及之前 永久代 JDK1.8 及以后 元空间 ,存放类的信息、常量池、方法数据、方法代码
:堆是 JVM 上最大的内存区域,我们申请的几乎所有的对象,都是在堆中存储。

 

 

5 、堆空间大小怎么配置?各区域怎么划?

 

6 JVM 中哪些内存区域会发生内存溢出 (OOM)
栈溢出
堆溢出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值