面试八股——JVM★

这篇具有很好参考价值的文章主要介绍了面试八股——JVM★。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

类加载

类加载器的定义

面试八股——JVM★,java

类加载器的类别

面试八股——JVM★,java

面试八股——JVM★,java

类装载的执行过程

类的装载过程:

面试八股——JVM★,java

加载:

面试八股——JVM★,java

面试八股——JVM★,java

验证:

面试八股——JVM★,java

准备:

面试八股——JVM★,java

这里设置初始值并不是传统意义的设置初始值(那个过程在初始化阶段)。

解析:

面试八股——JVM★,java

初始化:

面试八股——JVM★,java

使用:

面试八股——JVM★,java

类的回收(被垃圾器回收)

面试八股——JVM★,java

回收时机

面试八股——JVM★,java

面试八股——JVM★,java

垃圾定位——可达性分析法

面试八股——JVM★,java

可作为GC root的对象:

面试八股——JVM★,java

垃圾回收算法
标记清除算法

面试八股——JVM★,java

面试八股——JVM★,java

标记整理算法

先将存活对象移动到一起,然后清楚边界之外的垃圾。

面试八股——JVM★,java

优点:解决了内存碎片化问题。缺点:效率低。

复制算法 

开辟了一块新的内存空间,将存活对象按序复制过去,然后直接清空原来的内存空间。

面试八股——JVM★,java

优点:克服内存碎片化问题+效率较高。

缺点:需要两块内存空间,内存使用率低。

分代回收
回收过程

java8开始,堆空间被分为了新生代与老年代。

面试八股——JVM★,java

新创建的对象都要被存在Eden区:

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

GC种类

面试八股——JVM★,java

小结

面试八股——JVM★,java

面试八股——JVM★,java

垃圾回收器的类型
串行垃圾回收器

创建一个垃圾回收线程串行回收垃圾。

面试八股——JVM★,java

并行垃圾回收器(JDK8默认)

创建多个垃圾回收线程进行垃圾回收。

面试八股——JVM★,java

CMS(并发垃圾回收器)

面试八股——JVM★,java

G1垃圾回收器(JDK9之后默认,使用复制算法)

面试八股——JVM★,java

新生代的回收

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

并发标记阶段

面试八股——JVM★,java

混合收集阶段

面试八股——JVM★,java

面试八股——JVM★,java

其不仅会回收部分老年区,还回去回收其他的区,只要其回收价值够高。(左图为回收前,右图为回收后,将回收的区域集体复制到某些区域后,清楚待收集的地区。)

面试八股——JVM★,java面试八股——JVM★,java

结束之后,开启新的新生代回收、并发标记、混合收集的循环阶段。

回收失败

如果上述回收方法赶不上对象新建方法,则会采用FULL GC(回收所有区域的垃圾)回收

强、软、弱、虚引用的回收

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

面试八股——JVM★,java

小结

面试八股——JVM★,java文章来源地址https://www.toymoban.com/news/detail-855933.html

到了这里,关于面试八股——JVM★的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java八股文面试[JVM]——垃圾回收器

    jvm结构总结   常见的垃圾回收器有哪些?     CMS(Concurrent Mark Sweep) 整堆收集器 : G1 由于整个过程中 耗时最长 的 并发标记 和 并发清除 过程中,收集器线程都可以与用户线程一起工作,所以 总体上来说 ,CMS收集器的内存回收过程是与用户线程一起并发地执行。老年代收

    2024年02月11日
    浏览(36)
  • java面试八股文_虚拟机篇(jvm)

    要求 掌握 JVM 内存结构划分 尤其要知道方法区、永久代、元空间的关系 结合一段 java 代码的执行理解内存划分 执行 javac 命令编译 源代码(java Source) 为 字节码 执行 java 命令 创建 JVM,调用类加载子系统加载 class,将类的信息存入 方法区 创建 main 线程,使用的内存区域是 J

    2023年04月08日
    浏览(37)
  • 面试八股——JVM★

    类加载 类加载器的定义 类加载器的类别 类装载的执行过程 类的装载过程: 加载: 验证: 准备: 这里设置初始值并不是传统意义的设置初始值(那个过程在初始化阶段)。 解析: 初始化: 使用: 类的回收(被垃圾器回收) 回收时机 垃圾定位——可达性分析法 可作为

    2024年04月23日
    浏览(25)
  • 我的面试八股(JVM篇)

    Java内存区域和Java内存模型 不是一个东西 !!!!! Java内存区域,也就是 Java运行时数据区域 。是指Java虚拟机在运行时创建的一个内存区域,用于存储Java程序运行时所需要的数据结构和对象实例。Java运行时数据区包括堆、方法区、虚拟机栈、本地方法栈和程序计数器等部

    2023年04月16日
    浏览(32)
  • 一天吃透JVM面试八股文

    JVM,全称Java Virtual Machine(Java虚拟机),是通过在实际的计算机上仿真模拟各种计算机功能来实现的。由 一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域等 组成。JVM屏蔽了与操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机上运行的

    2023年04月19日
    浏览(39)
  • 【java八股文】之JVM基础篇

    【java八股文】之JVM基础篇-CSDN博客 【java八股文】之MYSQL基础篇-CSDN博客 【java八股文】之Redis基础篇-CSDN博客 【java八股文】之Spring系列篇-CSDN博客 【java八股文】之分布式系列篇-CSDN博客 【java八股文】之多线程篇-CSDN博客 【java八股文】之JVM基础篇-CSDN博客 【java八股文】之计算

    2024年01月17日
    浏览(31)
  • Java 面试八股文

    参考: 2023年 Java 面试八股文(20w字)_json解析失败_leader_song的博客-CSDN博客

    2024年02月13日
    浏览(44)
  • Java面试必备八股文

    1.1)Java有哪几种数据类型 基本数据类型:byte(1字节) short(2字节) int(4字节) long(8字节) float(4字节) double(8字节) char(2字节) boolean(1字节) 引用数据类型:String 类 接口 抽象类 枚举 数组 1.2)JVM、JRE和JDK的关系 JVM指的是Java的虚拟机,Java程序需要运行在虚拟机上

    2023年04月08日
    浏览(42)
  • Java面试八股文宝典:序言

    Java作为一门广泛应用于企业级应用开发的编程语言,一直以来都是技术面试中的重要话题。无论您是刚刚踏入编程世界的新手,还是经验丰富的Java开发工程师,都需要通过面试来展示自己的技能和知识。 在面试中,除了技术知识,还需要展现出解决问题、沟通能力和编程实

    2024年02月09日
    浏览(44)
  • 【八股文篇】Java 面试题

    👉 博主介绍 : 博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家,WEB架构师,阿里云专家博主,华为云云享专家,51CTO TOP红人 Java知识图谱点击链接: 体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收藏关注下 , 不然下次找不到哟

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包