news 2026/5/30 20:59:10

JVM 的内存区域是如何划分的?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
JVM 的内存区域是如何划分的?

文章目录

  • 一、线程私有区域
      • 1️⃣ 程序计数器(Program Counter Register)
      • 2️⃣ Java 虚拟机栈(Java Stack)
      • 3️⃣ 本地方法栈(Native Method Stack)
  • 二、线程共享区域(大家一起用)
      • 4️⃣ 堆(Heap)⭐重点
      • 5️⃣ 方法区(Method Area)
      • 6️⃣ 运行时常量池(Runtime Constant Pool)
  • 三、JDK8 之后的重要变化(⚠️ 面试常问)

区域线程主要内容
程序计数器私有当前指令位置
虚拟机栈私有方法调用
本地方法栈私有Native 方法
共享对象实例
方法区共享类信息
运行时常量池共享常量、符号引用

一、线程私有区域

1️⃣ 程序计数器(Program Counter Register)

📍干嘛的

  • 记录当前线程正在执行的字节码行号

  • JVM 靠它知道“下一条指令去哪”

📌特点

  • 线程私有

  • 占用内存极小

  • 唯一不会抛OutOfMemoryError的区域

🧠一句话记忆
👉 JVM 的“书签”


2️⃣ Java 虚拟机栈(Java Stack)

📍干嘛的

  • 每个方法调用都会创建一个栈帧

  • 栈帧中包含:

    • 局部变量表

    • 操作数栈

    • 动态链接

    • 方法返回地址

📌特点

  • 线程私有

  • 方法调用 → 入栈

  • 方法结束 → 出栈

💥常见异常

  • StackOverflowError:递归太深

  • OutOfMemoryError:栈空间不够

🧠一句话记忆
👉 方法调用的“通话记录”


3️⃣ 本地方法栈(Native Method Stack)

📍干嘛的

  • Native 方法(JNI)用的栈

  • 例如调用 C / C++ 代码

📌特点

  • 线程私有

  • 和虚拟机栈作用类似,只是服务对象不同

🧠一句话记忆
👉 Java 调用“外援”的专用通道


二、线程共享区域(大家一起用)

4️⃣ 堆(Heap)⭐重点

📍干嘛的

  • 几乎所有对象实例和数组都在这里分配

📌特点

  • 线程共享

  • JVM 中最大的一块内存

  • 垃圾回收(GC)的主战场

🧱常见细分(HotSpot)

  • 新生代

    • Eden

    • Survivor(From / To)

  • 老年代

💥常见异常

  • OutOfMemoryError: Java heap space

🧠一句话记忆
👉 对象的“集中居住区”


5️⃣ 方法区(Method Area)

📍干嘛的

  • 存储类级别信息

    • 类结构信息

    • 方法信息

    • 运行时常量池

    • 静态变量

📌特点

  • 线程共享

  • 逻辑上属于堆的一部分

💥异常

  • OutOfMemoryError: Metaspace(JDK8+)

🧠一句话记忆
👉 类的“说明书仓库”


6️⃣ 运行时常量池(Runtime Constant Pool)

📍干嘛的

  • 存放:

    • 字面量(字符串、数字)

    • 符号引用(类、方法、字段)

📌特点

  • 属于方法区的一部分

  • 运行期间也可以动态加入

🧠一句话记忆
👉 JVM 的“常量词典”


三、JDK8 之后的重要变化(⚠️ 面试常问)

版本变化
JDK7方法区在堆中(永久代 PermGen)
JDK8移除永久代
JDK8+方法区实现为元空间 Metaspace(使用本地内存)
🧠一句话记忆
👉 永久代下岗了,元空间接班,用的是系统内存
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 20:09:49

云端文件管理革命:qiniuClient如何一站式解决多平台存储难题

云端文件管理革命:qiniuClient如何一站式解决多平台存储难题 【免费下载链接】qiniuClient 云存储管理客户端。支持七牛云、腾讯云、青云、阿里云、又拍云、亚马逊S3、京东云,仿文件夹管理、图片预览、拖拽上传、文件夹上传、同步、批量导出URL等功能 …

作者头像 李华
网站建设 2026/5/28 22:11:09

一文说清模拟电路仿真的核心要点与应用技巧

模拟电路仿真:从原理到实战的深度通关指南你有没有遇到过这样的场景?辛辛苦苦画好一块模拟电路,PCB打样回来一上电——输出电压直接振荡、LDO启动失败、噪声比信号还大……更糟的是,示波器上看不出问题根源,改一次就得…

作者头像 李华
网站建设 2026/5/28 14:02:46

Sci-Hub X Now学术论文访问工具完全配置手册

在当今学术研究环境中,获取高质量的学术论文资源对于研究人员和学生至关重要。Sci-Hub X Now作为一款基于现代浏览器扩展技术的工具,能够帮助用户突破传统访问限制,实现快速访问全球学术文献的目标。本文将从技术架构到实际应用,全…

作者头像 李华
网站建设 2026/5/28 21:41:46

Mobaxterm-Chinese中文版:一站式远程管理终端工具全面解析

Mobaxterm-Chinese中文版:一站式远程管理终端工具全面解析 【免费下载链接】Mobaxterm-Chinese Mobaxterm simplified Chinese version. Mobaxterm 的简体中文版. 项目地址: https://gitcode.com/gh_mirrors/mo/Mobaxterm-Chinese 在日常的远程服务器管理和开…

作者头像 李华
网站建设 2026/5/28 21:43:06

梅州/揭阳/汕头/潮州商业商场美陈设计公司哪家好?

在粤东大地上,梅州、揭阳、汕头、潮州这四座城市恰似四颗熠熠生辉的明珠,各自绽放着独特的文化光芒,洋溢着蓬勃的商业气息。 肆墨设计顾问有限公司 肆墨设计的业务范畴广泛且专业,涵盖商场美陈氛围营造、品牌快闪店创意设计、街区…

作者头像 李华
网站建设 2026/5/29 0:15:16

Open-AutoGLM手机AI助手实战指南(从部署到优化全路径曝光)

第一章:Open-AutoGLM手机AI助手概述 Open-AutoGLM 是一款专为移动端设计的开源人工智能助手框架,基于 GLM 大语言模型构建,致力于在手机设备上实现高效、低延迟的本地化 AI 服务。该框架支持自然语言理解、任务自动化、语音交互与上下文感知能…

作者头像 李华