JVM学习(二)--虚拟机栈

栈的定义:栈是线程运行需要的内存,那么和程序计数器一样,栈同样也是线程独立的,每个线程都会有独立的栈;

栈的组成:栈是由栈帧组成的;栈帧就是每个方法运行时需要的内存,包括参数,局部变量,返回参数地址等;先入后出的原则;每个栈都只有一个活动栈帧,对应着正在执行的方法

栈的几个常见问题:

1.垃圾回收是否涉及栈内存?

是不涉及的,每次方法执行完,栈内存就会被自动回收

2.栈内存是否越大越好?

不是的,像linux默认一个栈内存为1m,大家知道一个线程对应一个栈,假如你把一个栈内存设置为2m,假如计算机物理内存为512m,原本理论可以开512个线程,但是改成2m以后,只能开256个线程了

3.如何设置栈内存大小?

-Xss256k 单位可以变

猜你喜欢

转载自blog.csdn.net/weixin_59244784/article/details/132640422