首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
Linux内存分区与JVM内存结构
📅 2026/10/30 7:55:10
✍️ 爱科研究院
👁 阅读 3,247
LINUX系统 每个进程虚拟内存的分区堆区malloc等申请的动态内存栈区局部变量入参出参等代码段程序编译后的二进制指令数据段静态变量、全局变量内存映射段mmap sendFile 等内存映射内核空间系统内核代码内核数据用户态不可见JVM其实就是LINUX的一个进程。然后jvm又对内存进行了jvm自己的划分。但是jvm其实就是一个c程序运行也需要内存这部分直接向操作系统申请的不归jvm管理的叫做本地内存直接内存:用来做内存映射 mmap sendFilejvm内存分为以下几个部分JVM内存结构堆区存放new出来的对象放在虚拟内存的堆区虚拟机栈 每个线程有自己的虚拟机栈线程每调用一个方法会向其虚拟机栈 放入方法的栈帧方法调用完成弹出栈帧。用于保存和恢复现场,放在虚拟内存的栈区本地方法栈调用其他native方法 C/C 等非 Java 语言编写的方法例如Object 类中的 hashCode()、wait()、notify() 等方法它们都有 native 关键字修饰其具体实现就在本地方法库中。native方法不受jvm控制本地方法栈主要为了native方法的保存现场和恢复现场放在虚拟内存的栈区方法区存放类的元数据静态变量的引用静态变量对象本身在堆区等信息jdk8之前在堆区永久代jdk8之后在元空间虚拟内存的内存映射段主要是因为jvm堆区空间固定配置死的但是内存映射段归linux系统管理更有弹性常量池属于方法区的一部分程序计数器记录当前线程执行指令的行号存放于虚拟内存的寄存器或者栈区标量替换如果一个封装对象不作为入参出参作用域只是在方法内部优化器会直接使用标量替换优化把 对象的属性拆出来当做基本类型直接放在栈区不会在堆区创建对象 如果这个对象特别大也不会标量替换的
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/10/30 7:55:10
重庆轨道交通客流预测:弗洛伊德算法与BP神经网络实战解析
2026/10/30 7:50:10
C++名称空间详解:概念、用法与最佳实践
2026/10/30 7:50:10
【亲测免费】 探索Threema Android:一款安全至上的即时通讯应用
2026/10/30 9:05:22
教育论文数据处理:智能清洗、多模态分析与可视化技术
2026/10/30 9:05:22
港大博士生陈天行的具身智能学术成长路径解析
2026/10/30 9:05:22
逆傅里叶变换(IFFT)详解:从频域回到时域的工程实践
2026/10/30 9:05:22
Intel第12/13代CPU降频、DDR5兼容性与Arc驱动问题实战排查指南
2026/10/30 9:05:22
Camera Graph™技术:跨摄像机智能认知的图神经网络实践
2026/10/30 9:00:22
Vue3+Element-Plus+Mock.js前端骨架:按需引入与联调切换
2026/10/30 0:03:44
OpenShell 完全定制指南:从安装到深度配置,打造高效 Windows 开始菜单
2026/10/30 0:03:44
Superpowers技能体系全解析:从Skills引入到安装的完整指南
2026/10/30 0:03:44
TensorFlow实现Weibull生存模型预测债券违约概率
2026/10/29 21:03:42
全国计算机二级C语言真题PDF高效刷题指南
2026/10/29 21:03:35
requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南
2026/10/29 21:03:28
递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现
2026/10/30 3:44:27
我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频
2026/10/30 3:44:25
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证
2026/10/30 3:44:29
2026 大模型集体涨价:用 Python 做企业 Token 成本测算与选型避坑(附配置)