- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java 内存机制详解
Java堆 (每个 Java对象在其中分配 )是您在编写 Java应用程序时使用最频繁的内存区域。JVM设计
用于将我们与主机的特性隔离 ,所以将内存当作堆来考虑再正常不过了。您一定遇到过 Java
堆 OutOfMemoryError ,它可能是由于对象泄漏造成的 ,也可能是因为堆的大小不足以存储所有数据 ,
您也可能了解这些场景的一些调试技巧。但是随着您的 Java应用程序处理越来越多的数据和越来越多的
并发负载 ,您可能就会遇到无法使用常规技巧进行修复的 OutOfMemoryError 。 在一些场景中 ,即使
java堆未满 ,也会抛出错误。当这类场景发生时 ,您需要理解 Java运行时环境 (Java Runtime
Environment ,JRE)内部到底发生了什么。
Java应用程序在 Java运行时的虚拟化环境中运行 ,但是运行时本身是使用 C之类的语言编写的本机程
序 ,它也会耗用本机资源 ,包括本机内存 。本机内存是可用于运行时进程的内存 ,它与 Java应用程序使
用的 java堆内存不同。每种虚拟化资源 (包括 Java堆和 Java线程 )都必须存储在本机内存中 ,虚拟机
在运行时使用的数据也是如此。这意味着主机的硬件和操作系统施加在本机内存上的限制会影响到 Java
应用程序的性能。
本系列文章共分两篇 ,讨论不同平台上的相应话题。本文是其中一篇。在这两篇文章中 ,您将了解什么是
本机内存 ,Java运行时如何使用它 ,本机内存耗尽之后会发生什么情况 ,以及如何调试本
机 OutOfMemoryError 。本文介绍 Windows和 Linux 平台上的这一主题 ,不会介绍任何特定的运行时
实现。
本机内存简介
硬件限制
本机进程遇到的许多限制都是由硬件造成的 ,而与操作系统没有关系。每台计算机都有一个处理器和一些
随机存取存储器 (RAM),后者也称为物理 内存。处理器将数据流解释为要执行的指令 ,它拥有一个或多
个处理单元 ,用于执行整数和浮点运算以及更高级的计算。处理器具有许多寄存器 —— 常快速的内存元素 ,
用作被执行的计算的工作存储 ,寄存器大小决定了一次计算可使用的最大数值。
处理器通过内存总线连接到物理内存。物理地址 (处理器用于索引物理 RAM的地址 )的大小限制了可以
寻址的内存。例如 ,一个 16位物理地址可以寻址 0x0000到 0xFFFF的内存地址 ,这个地址范围包括
2^16 65536个惟一的内存位置。如果每个地址引用一个存储字节 ,那么一个 16位物理地址将允许处
理器寻址 64KB 内存。
处理器被描述为特定数量的数据位。这通常指的是寄存器大小 ,但是也存在例外 ,比如 32位 390指的是
物理地址大小。对于桌面和服务器平台 ,这个数字为 31、32或 64 ;对于嵌入式设备和微处理器 ,这个
数字可能小至 4。物理地址大小可以与寄存器带宽一样大 ,也可以比它大或小。如果在适当的操作系统上
运行 ,大部分 64位处理器可以运行 32位程序。
表 1列出了一些流行的 Linux和 Windows架构 ,以及它们的寄存器和物理地址大小:
表 1.一些流行处理器架构的寄存器和物理地址大小
架构 寄存器带宽 (位) 物
32
(现代 )Intel?x86 32
36,具有 物理地址扩展 (Pentiu
x86 64 64 目前为 48位 (以后将会增大)
PPC64 64 在 POWER 5上为 50位
390 31位 32 31
390 64位 64 64
操作系统和虚拟内存
如果您编写无需操作系统 ,直接在处理器上运行的应用程序 ,您可以使用处理器可以寻址的所有内存 (假
设连接到了足够的物理 RAM)。但是要使用多任务和硬
您可能关注的文档
最近下载
- 华中师大一附中2023-2024高一期末检测数学解析版.pdf VIP
- 水彩法院PPT模板、中国风法院水墨PPT模板.pptx VIP
- 肿瘤患者的呼吸锻炼方法-介绍适合肿瘤患者的不同呼吸锻炼方法.pptx
- GA 1517-2018金银珠宝营业场所安全防范要求.pdf
- 皮肤病临床诊疗指南【32页】.pptx VIP
- 2025年度宜宾市公开遴选(考调)公务员(82人)笔试备考试题及答案解析.docx VIP
- 公路工程施工监理投标方案.doc VIP
- 基于命令滤波反步法的网联车辆列队自适应控制方法.pdf VIP
- 人教版八年级物理下册第七章《力》PPT课件.ppt VIP
- 多级自吸泵型号参数价格及结构图定稿.pdf VIP
文档评论(0)