资讯专栏INFORMATION COLUMN

Jvm技术总结

kamushin233 / 2255人阅读

摘要:源文件使用编译成字节码文件,再解释成平台机器码。各线程之间的计数器互不影响。这区域的内存回收目标主要是针对常量池的回收和对类型的卸载

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

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

Jvm自动内存管理 Jvm内存区域介绍

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

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

程序计数器:较小,当前字节码行号指示器,通过改变值选取下一条指令。各线程之间的计数器互不影响。

虚拟机栈:线程私有,生命周期与线程相同,每个方法执行时创建一个栈帧(Stack Frame),存储局部变量表等信息,局部变量表内存空间分配在编译期间完成

本地方法栈:与虚拟机栈类似,区别为本地方法栈为Native方法服务

Java堆:通常来说是内存空间最大的一块儿,被所有线程共享,唯一目的就是存放对象实例。从内存回收角度,又被成为GC(garbage collection)堆,还可细分为新生代,老年代

方法区:与Java堆一样,线程共享,用于存储已被虚拟机加载的类信息、 常量、 静态变量、 即时编译器编译后的代码等数据。这区域的内存回收目标主要是针对常量池的回收和对类型的卸载

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69328.html

相关文章

  • 三年Java后端面试经历

    摘要:前言三年后端开发经验,面的目标岗位是的高级后端开发。面试结束,应该没有后续。 前言 三年Java后端开发经验,面的目标岗位是20k-35k的高级后端Java开发。 第一场,基本裸面,关于曾经的项目部门答的不好,所以还是得好好准备。 某C轮在线旅游公司 笔试 先做半个小时的笔试题,一共六个题目,两道go语言的基础题,一道斐波那契相关,一道数据库行列转置,一道实现一个栈,还有一道是百万计...

    darry 评论0 收藏0
  • 我的阿里之路+Java面经考点

    摘要:我的是忙碌的一年,从年初备战实习春招,年三十都在死磕源码,三月份经历了阿里五次面试,四月顺利收到实习。因为我心理很清楚,我的目标是阿里。所以在收到阿里之后的那晚,我重新规划了接下来的学习计划,将我的短期目标更新成拿下阿里转正。 我的2017是忙碌的一年,从年初备战实习春招,年三十都在死磕JDK源码,三月份经历了阿里五次面试,四月顺利收到实习offer。然后五月怀着忐忑的心情开始了蚂蚁金...

    姘搁『 评论0 收藏0
  • Java程序员:不识Jvm真面目,只缘身在增删查改中

    摘要:编译器只需面向,生成能理解的代码或字节码文件。源文件经编译器,编译成字节码程序,通过将每一条指令翻译成不同平台机器码,通过特定平台运行。涨见识,字节码执行过程分析。解决办法减少默认栈的容量来换取更多的线程支持。 前言 JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种基于下层的操作系统和硬件平台并利用软件方法来实现的抽象的计算机,可以在上面执行java的...

    or0fun 评论0 收藏0
  • Java程序员:不识Jvm真面目,只缘身在增删查改中

    摘要:编译器只需面向,生成能理解的代码或字节码文件。源文件经编译器,编译成字节码程序,通过将每一条指令翻译成不同平台机器码,通过特定平台运行。涨见识,字节码执行过程分析。解决办法减少默认栈的容量来换取更多的线程支持。 前言 JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种基于下层的操作系统和硬件平台并利用软件方法来实现的抽象的计算机,可以在上面执行java的...

    ivydom 评论0 收藏0

发表评论

0条评论

kamushin233

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<