Jvm技术总结

发布时间:2019-11-21 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Jvm技术总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Java程序运行机制和虚拟机内存介绍

先编译,再解释。Java文件使用javac编译成.class字节码文件,再解释成平台机器码。

Jvm自动内存管理

Jvm内存区域介绍

栈内存存储的是局部变量,堆内存存储的是实体,栈内存更新快,存放的变量生命周期结束之后释放,堆内存存放的实体会被垃圾回收机制不定时回收。
图片描述

把管理的内存划分成不同的数据区域,方法区、堆 <--->执行引擎 ---->(本地库接口)
虚拟机栈、本地方法栈、程序计数栈<--->本地库接口 ---->本地方法库

  • 程序计数器:较小,当前字节码行号指示器,通过改变值选取下一条指令。各线程之间的计数器互不影响
  • 虚拟机栈:线程私有,生命周期与线程相同,每个方法执行时创建一个栈帧(Stack Frame),存储局部变量表等信息,局部变量表内存空间分配在编译期间完成
  • 本地方法栈:与虚拟机栈类似,区别为本地方法栈为Native方法服务
  • Java堆:通常来说是内存空间最大的一块儿,被所有线程共享,唯一目的就是存放对象实例。从内存回收角度,又被成为GC(garbage collection)堆,还可细分为新生代,老年代
  • 方法区:与Java堆一样,线程共享,用于存储已被虚拟机加载的类信息、 常量、 静态变量、 即时编译器编译后的代码等数据。这区域的内存回收目标主要是针对常量池的回收和对类型的卸载

脚本宝典总结

以上是脚本宝典为你收集整理的Jvm技术总结全部内容,希望文章能够帮你解决Jvm技术总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。