尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

JVM

JVM
📅 发布时间:2026/6/19 20:42:19

JVM内存模型(每个线程独立拥有,线程结束后销毁)

线程私有区

  • 程序计数器:记录当前线程字节码行号指示器,用于线程切换之后恢复执行位置。唯一不会抛出OutOfMemorryError区域
  • 虚拟机栈:每一个方法对应一个栈帧,方法执行入栈,方法结束出栈,包含局部变量表,操作数,方法出口等。递归出错会造成栈溢出,动态扩展无法申请到足够的空间内存溢出报错
  • 本地方法栈:用c,c++写的Native方法

线程共享区

  • 堆空间:JVM最大内存区域,存放对象实例和数组,GC回收核心区域,分为新生代,老生代
  • 元空间:代替之前的永生代,位于本地内存(为了避免永久代内存溢出,利用本地内存)。主要存储了一些元信息,静态变量,JIT编译之后的代码

JVM内存模型和JMM内存模型区别

  • JVM:解决内存如何存储的问题
  • JMM:定义多线程之间的共享变量的可见性,原子性,有序性规则,解决多线程并发问题

OOM溢出出现的位置

  • 虚拟机栈、本地方法栈:递归过深栈溢出,动态扩展内存不足OOM,JVM无法满足这个栈空间的扩容需求
  • Java堆:对象数量超过堆的最大容量
  • 元空间:类元素信息过多

JVM垃圾回收

判断对象已死

  • 引用计数法:有引用+1,没有-1,计数器为0判断为垃圾。但是无法解决循环引用的问题
  • 可达性分析:以GC Roots为起点,向下搜索所有引用,如果不可达就是可回收对象。
  • GC Roots包含的对象:虚拟机栈中引用对象,方法区中静态属性引用的对象,方法区中常量引用的对象,本地方法栈中native引用的对象

4中核心回收算法

  • 标记-清除
  • 标记复制
  • 标记-整理
  • 分代收集:前面三种算法的组合策略

相关新闻

  • 帝国cms调用文章内容 二开基本操作
  • 30分钟掌握Ocelot网关:从零搭建微服务API网关的完整指南
  • Granite Docling 258M:重新定义文档智能处理的终极解决方案

最新新闻

  • 2026海口名表回收行情解析!哪些款式保值抗跌?避坑指南速看 - 奢品小当家
  • Moteus:当开源精神遇见高性能无刷伺服控制
  • 2026年6月卧式潜水泵厂家推荐 - 多才菠萝
  • 2026 桂林防水补漏靠谱服务商盘点:屋面 / 厨卫 / 外墙 / 地下室渗水维修详解,适配桂北喀斯特山水防潮防水甄选指南 - 宅安选房屋修缮
  • 题解:P16881 [GKS 2022 #D] Image Labeler
  • 微积分基石:从连续、可导到洛必达法则,厘清概念差异与实战边界

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号