只需一步,快速开始
主题 1080|帖子 1080|积分 3240
本文内容整理自 博学谷狂野架构师
虚拟机的基础面试题
程序计数器是线程私有的,并且是JVM中唯一不会溢出的区域,用来保存线程切换时的执行行数
Java 虚拟机栈(Java Virtual Machine Stacks)是线程私有的,生命周期与线程相同。
本地方法栈(Native Method Stacks)为虚拟机使用到的 Native 方法服务
Java 堆(Java Heap)是 Java 虚拟机中内存最大的一块。Java 堆在虚拟机启动时创建,被所有线程共享。
方法区(Method Area)被所有线程共享,用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。
常用的垃圾回收算法有如下四种:标记-清除、复制、标记-整理和分代收集。
这个算法简单,但是有两个缺点:
执行过程如下图
优缺点
给对象添加一个引用计数器,每当一个地方引用它时,数据器加1;当引用失效时,计数器减1;计数器为0的即可被回收。
在Java中这些对象可以成为GC Root:
本文由传智教育博学谷狂野架构师教研团队发布。 如果本文对您有帮助,欢迎关注和点赞;如果您有任何建议也可留言评论或私信,您的支持是我坚持创作的动力。 转载请注明出处!
您需要 登录 才可以下载或查看,没有账号?立即注册
举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
种地