当前位置: 首页 > news >正文

剖析一下自己的简历第二条

剖析一下自己的简历第二条

  • 背景
  • 前置说明
  • 可能会被问到的问题

背景

剖析一下自己简历, 增加对一些专业知识的掌握. 我的简历第二条是这样写的: “2. 熟悉JVM、JMM,包括内存模型,垃圾回收机制,了解其基本调优技巧并具备线上调优经验。”.

前置说明

大概是为了面试, 有些知识点是按照自己当前的认知和理解整理归纳的. 可能不太对, 但是愿意慢慢去优化和完善自己的知识体系.

可能会被问到的问题

  1. JVM 的基本结构是什么?
    • 回答:JVM 主要由以下几个部分组成:
      • 类加载器子系统:负责加载、链接和初始化类。
      • 运行时数据区:包括方法区、堆、虚拟机栈、本地方法栈和程序计数器。
      • 执行引擎:解释器、即时编译器(JIT 编译器)、垃圾回收器等。
      • 本地接口:与底层操作系统交互的部分。
      • 本地方法库:提供给 JVM 调用的本地方法。
        在这里插入图片描述
  2. 什么是 Java 内存模型(JMM)?
    • 回答:Java 内存模型定义了多线程程序中变量的访问规则,确保了不同线程之间内存操作的一致性。JMM 通过以下机制实现:
      • 原子性:保证某些操作是不可分割的。
      • 可见性:一个线程对共享变量的修改能够被其他线程看到。
      • 有序性:禁止指令重排序,确保程序按照预期的顺序执行。
        在这里插入图片描述
  3. ** 垃圾回收器常用的算法有哪些? **
  • 标记-清除(Mark-Sweep):标记出所有需要回收的对象,然后清除这些对象。
  • 复制(Copying):将存活对象从一个区域复制到另一个区域,然后清空原区域。
  • 标记-整理(Mark-Compact):标记出所有需要回收的对象,然后将存活对象移动到一端,清空另一端。
  • 分代收集(Generational Collection):将堆分成新生代和老年代,分别使用不同的收集算法。
    在这里插入图片描述
  1. **哪些对象可以是GCRoot对象? **
    也就是找到那些一定不是垃圾的对象
  • 虚拟机栈中的局部变量: 栈针中局部变量表中引用的对象是当前方法正在使用的对象, 一定不是垃圾对象.
  • 方法区中的类静态属性: 这个是类的属性, 只要类不被卸载, 我们就认为这个对象一定不是垃圾对象.
  • 方法区中的常量: 这个是在方法区的常量池中, 也是一直存活的对象, 所以也被认为是GCRoot对象.

    还有很多我这里记不住了, 可以自行百度, 回答几个就可以了, 面试而已…
    为了加深印象, 这个还是自己画一个图吧:
    在这里插入图片描述
  1. **常见的垃圾回收器都有哪些? **
  • 小内存应用:Serial 收集器
  • 多核 CPU 和高吞吐量:Parallel 收集器
  • 低延迟:CMS(Concurrent Mark Sweep) 或 G1 收集器
  • 极低延迟和大内存:ZGC 或 Shenandoah 收集器
  • 测试和基准测试:Epsilon 收集器
    这里记一下读音吧:
  • Serial 的发音是:['sɪr.i.əl]
  • Parallel 的发音是:['pær.ə.lel]
    这里找一个图留一个印象吧:
    // TODO 后续可以研究学习一下:
    在这里插入图片描述
  1. **JVM常用的命令和工具有哪些? **
  • jstack:主要用于生成线程转储,帮助诊断线程相关的问题,如死锁、长时间运行的任务等。
  • jmap:主要用于生成堆转储文件和显示堆中对象的统计信息,帮助分析内存使用情况。
  • jconsole:提供图形界面,用于实时监控 JVM 的各种指标,如内存使用情况、线程状态、类加载信息等。
    Arthas
    Eclipse MAT (Memory Analyzer Tool)
    // TODO 后续有时间可以尝试使用一下
http://www.lryc.cn/news/498267.html

相关文章:

  • 威联通-001 手机相册备份
  • 性能测试基础知识jmeter使用
  • Ceph文件存储
  • Hive分区表新增字段并指定位置
  • 关系型数据库(RDBMS)与非关系型数据库(NoSQL)应用场景
  • 浅谈CI持续集成
  • 华为新手机和支付宝碰一下 带来更便捷支付体验
  • shell编程基础笔记
  • VS Code配置Lua调试环境
  • FPGA(一)Quartus II 13.1及modelsim与modelsim-altera安装教程及可能遇到的相关问题
  • 【单片机】ESP32-S3+多TMC2209控制步进电机系列1 UART通信及无传感回零 硬件部分
  • Django之ORM
  • html css 图片背景透明
  • 使用ALB实现gRPC协议的负载均衡
  • 解决IDEA的easycode插件生成的mapper.xml文件字段之间逗号丢失
  • 【Linux测试题】
  • python使用openpyxl处理excel
  • 【JavaWeb后端学习笔记】Mybatis基础操作以及动态SQL(增、删、改、查)
  • 基于MATLAB野外观测站生态气象数据处理分析实践应用
  • IP 地理位置定位技术原理概述
  • C语言(分支结构)
  • 批量将不同的工作簿合并到同一个Excel文件
  • 详解AI网关助力配电房实现智能化管控应用
  • 2025美赛数学建模常用数据库网站大全
  • Wordpress设置固定链接形式后出现404错误
  • 我最近在干什么【1】
  • [Vue3]computed原理
  • Vue工程化开发中各文件的作用
  • 【c++笔试强训】(第三十一篇)
  • Go 1.19.4 HTTP编程-Day 20