面试考点
第1题:PC计数器相关
第2~5题:虚拟机栈相关
# 1. 你真的了解i++和++i吗?
# 2. 举例栈溢出StackOverflowError的情况?
通过
-Xss
设置栈的大小,当线程请求栈的深度大于虚拟机所允许的最大深度,抛出StackOverflowError
虚拟机栈可以动态拓展时,当创建线程没有足够的内存空间来创建虚拟机栈,会抛出
OutOfMemoryError
异常
# 3. 调整栈大小,就能保证不出现溢出吗?分配的栈内存越大越好吗?
不能。如果是死循环或者递归无出口,依然还会溢出。分配的内存越大,出现的时间越晚。
就是像是给你500元你可以花一周,现在给你5000元,你可以花一个月;但最终钱都会花完。只是时间的问题!
# 5. 垃圾回收是否会涉及到虚拟机栈?
运行时区域 | 是否产生OOM | 是否会GC |
---|---|---|
PC计数器 | ❌ | ❌ |
虚拟机栈 | ✔ | ❌ |
本地方法栈 | ✔ | ❌ |
堆 | ✔ | ✔ |
方法区 | ✔ | ✔ |
编辑 (opens new window)
上次更新: 2021/06/27, 10:49:09