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

JVM面试杂知识

String s = new String(“abc”)执行过程中分别对应哪些内存区域?

1. 元空间 (Metaspace)

在代码执行前,JVM 需要加载String类和包含这行代码的类。

  • 动作:类加载器将类的结构信息(方法、字段定义)、运行时常量池存入元空间。
  • 存储内容String类的模板信息,以及字节码指令。
2. 堆:字符串常量池 (String Constant Pool)

执行到"abc"这个字面量时:

  • 动作:JVM 会先检查字符串常量池中是否存在内容为"abc"的对象。
  • 存储内容:如果池中没有,则在堆的字符串常量池区域创建一个"abc"对象实例。如果已经存在,则直接复用。
3. 堆:普通对象区域 (Java Heap)

执行到new String(...)时:

  • 动作:无论常量池中是否已有"abc"new关键字都会强制在堆的普通对象区域(非池化区域)开辟一块新内存。
  • 存储内容:创建一个全新的String对象实例。这个对象的内部value属性会指向刚才常量池中"abc"对象的底层数组。
4. 虚拟机栈 (JVM Stack)

执行到String s和赋值操作=时:

  • 动作:在当前线程方法的栈帧中,为局部变量s分配空间。
  • 存储内容:将堆中新创建的String实例的内存地址存入局部变量表的s变量中。
5. 程序计数器 (Program Counter)

在整个执行过程中:

  • 动作:程序计数器不断更新,指向ldc(从常量池加载)、new(分配内存)、invokespecial(调用构造函数)、astore(存入局部变量)等字节码指令的偏移量。

方法区/元空间 中方法执行过程

1.找到元空间中该方法的定义
2.根据定义在虚拟机栈中创建栈帧
3.程序计数器中创建对应计数器
4.线程执行
5.执行完退出,清理该方法栈帧,恢复计数器为调用前位置


http://www.jsqmd.com/news/517957/

相关文章:

  • 探索虚拟同步发电机的MATLAB仿真之旅
  • Qwen与MinerU文档处理对比:哪个更适合中小企业自动化办公场景?
  • 通义千问2.5-7B保姆级教程:零基础5分钟本地部署,小白也能玩转AI对话
  • 【技术揭秘】快速识别网站服务器类型:Nginx与Apache的实战技巧
  • 【HALCON工业视觉应用探索】15. 项目全生命周期管理:从需求到交付的全流程详解
  • AI原生应用与决策支持的融合发展路径探讨
  • Visio中高效插入与编辑矩阵公式的完整指南
  • 【架构心法】删掉多线程!撕开通信死锁的黑盒,用 C++ 单线程状态机重塑极速 ACK 与重传引擎
  • 深度学习必备技能:5分钟用Python画出ReLU家族函数图像(含PReLU参数调整技巧)
  • ICML 2025 | 贝叶斯熵 + 多模态提示,USAM 重新定义 SAM 不确定性量化框架
  • Vue项目登录页刷新报错?手把手教你解决‘undefined is not valid JSON‘问题
  • 用Python和NumPy手把手实现多智能体仿射队形控制(附完整代码与避坑指南)
  • 嵌入式开发实战:MIPI-DSI与I2C接口在LCD触控屏中的协同工作原理
  • 别再死记硬背Attention了!用Python手写一个Seq2Seq翻译模型,直观理解Encoder-Decoder的瓶颈
  • 内存池监控不是加个malloc钩子就够了!揭秘某智能电网项目因监控粒度粗0.1ms导致的3次I级事故
  • 基于RexUniNLU的智能内容审核系统开发
  • AutoJs悬浮窗实战:从零打造可拖拽控制面板(附完整源码解析)
  • 告别CNN黑箱?用Vision Transformer做医学影像分割的实战避坑指南
  • 低成本改造阳台小菜园:用Arduino+继电器模块实现定时滴灌系统
  • Transformer模型中的自注意力机制:从零开始手把手实现(附Python代码)
  • FLAC3D耦合PFC3D隧道开挖模拟:位移连续性与地表沉降规律
  • 大班匠搬家公司联系方式:关于选择专业搬家服务提供商的使用指南与行业普遍注意事项 - 品牌推荐
  • 15 三数之和
  • 北京名人手抄本、老医书、族谱上门回收,线装古籍全品类收 - 品牌排行榜单
  • 【Dify高阶实战指南】:3个生产级异步节点自定义陷阱,90%团队部署后才后悔没看
  • FLAC3D与PFC3D耦合边坡模型,位移连续性优异
  • 10米哨兵数据+腾讯定位:手把手教你用多源数据制作城市土地利用地图
  • 山东瑞派职业培训学校联系方式:解析其官方合作背景与实战化教学体系,为职业技能学习者提供客观参考 - 品牌推荐
  • Qwen3-32B-Chat百度搜索热词覆盖:开源大模型部署、GPU算力优化、私有化AI
  • 实战指南:在Rocky Linux上部署Strix并集成GLM-4.5-flash进行智能渗透