不断超越,追求完美

效率成就品牌,诚信铸就未来

只有更好的服务,才有更多的用户

  • 供应虚拟机Java 虚拟机的内存怎样分配

  •       Java虚拟机内存分为五个区域: 办法区,堆, 虚拟机栈,本地办法栈,程序计数器。

    其间办法区和堆是java虚拟机同享的内存区域,虚拟机栈,本地办法栈,程序计数器是线程私有的。

    1.程序计数器:         当时线程履行字节码的行号指示器。

    经过改变这个指示器的值来选择下一条需求履行的字节码指令。

    这个内存区域是Java虚拟机*一个没有定义OutOfMemeryError状况的区域。

    2. Java虚拟机栈:          虚拟机栈描绘的是Java办法履行的内存模型:每个办法履行是都会创立栈帧(Stack Frame)用于存储局部变量,操作栈,办法信息,动态连接,办法出口等信息。

            在java虚拟机标准中,关于这两个区域规定了两种状况的反常: 1)假如线程恳求的栈深度大于虚拟机所答应的深度将会抛出StackOverFlowError反常,  2)Java虚拟机能够动态扩展,当无法申请到满意的内存时会抛出OutOfMemeryError 3.本地办法栈        本地办法栈与Java虚拟机栈十分类似,其区别是Java虚拟机栈为虚拟机履行Java办法服务,而本地办法栈是虚拟机使用到的Native办法服务。

    所以本地办法栈也也许呈现两种与Java虚拟机栈相同的反常。

    4. Java堆         Java堆是Java虚拟机办理的*的一块内存区域,java堆是被一切Java线程同享的,在Java虚拟机启动时创立,此内存的*意图即是寄存目标实例。

    简直一切的目标实例都要分配在堆中。

    (跟着JIT编译器的发展,*剖析技能的逐渐老练,栈上分配,标量替换等优化技能,使得部分目标不再分配在堆上。

    ) Java堆的巨细经过 -Xmx和-Xms两个参数控制。

    但是当堆的内存再无法扩展时,就会呈现OutOfMemeryError. 5.办法区         办法区与Java堆相同,是各个线程同享的内存区域,他用于存储类信息,常量,静态变量以及及时编译后的代码等数据。

    当办法区无法满意内存分配需求时,将抛出OutOfMemeryError. 标签:     上海市虚拟机   上海市虚拟机厂家
    上海市 上海市上海市虚拟机厂家
    供应虚拟机Java 虚拟机的内存怎样分配
  • 企业信息
  • 状态:匆匆过客
  • 核实:        
  • IP属地:上海市
  • 联系方式
  • 联系人:---
  • 座机:---
  • 手机:---
  • 地址:---