⾯试题:Java的JVM内存模型
JVM内存模型
JVM内存模型中包括五点:
1.程序计数器
2.java虚拟机栈
3.本地⽅法栈
4.java堆
5.⽅法区
总结(⾯试中需要掌握的基本内容):**
栈
1) 是为java⽅法提供运⾏空间的
2) ⽅法⼀旦被调⽤就会在栈中创建对应的栈帧,⽽⽅法的整个执⾏过程就是⽅法对应的栈帧从⼊栈到出栈的过程。换⾔之,就是⽅法被调⽤进栈(压栈 ⼊栈),⽅法执⾏结束出栈(弹栈)。
3) 栈是先进后出后进先出(先被调⽤的⽅法最后结束,后被调⽤的⽅法最先结束)
4) 栈中的变量都是属于⽅法的,所以都是局部变量,且局部变量必须初始化值。
5) 栈⽣命周期与其所属线程的⽣命周期⼀致,可以认为栈具有⾃动销毁机制。
堆
1) 是为实体对象来开辟空间的,换⾔之就是实体对象的空间都在堆中开辟。凡是被new出来的都是对象。
2) 堆中的变量是对象变量,因为是属于对象的,且是随着对象的创建⽽产⽣随着对象的销毁⽽销毁。
3) 堆中的变量(对象变量)都有默认值:
整数:0 浮点型:0.0 布尔型:false char型:’ ’ 对象:null
4) 堆没有⾃动销毁机制,它⾥⾯的垃圾由垃圾回收器负责收集(通过收集算法判断哪个对象属于垃圾然后再清理)
5) 堆中的空间都有⼀个16进制的⾸地址作为地址进⾏区分。
⽅法区
jvm面试题总结及答案⽅法区中存放已经被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
常量是存放在⽅法区中的运⾏时常量池中的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论