zoukankan      html  css  js  c++  java
  • java内存划分

    java虚拟机运行时区域

    程序计数器(线程私有)

    作用是为了,线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计数器,此区域是java虚拟机中唯一一个没有OOM的区域。

    虚拟机栈

    java方法调用,会进行压栈,调用完毕出栈。该区域有两种异常:StackOverFlowError和OutOfMemoryError

    本地方法栈 虚拟栈相似,只不过为native方法服务。

    java堆

    1、该区域被所有线程所共享,是最大的一块内存区域
    2、并不是所有对象都存储在堆上,有可能栈上分配、标量替换
    3、堆可以细分为新生代(eden,from to 8:1:1默认)老年代;还可以划分线程私有TLAB(Thread Local Allocation Buffer),无论怎么划分,
    其目的都是更好的回收内存,或更快的分配内存

    方法区

    1、线程共享
    2、存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,别名非堆。

  • 相关阅读:
    poj 2362 Square (dfs+剪枝)
    三种素数筛法汇总
    2009’河北省高教网络技能大赛一网站建设部分
    寒假每一天
    寒假每一天
    寒假每一天
    寒假每一天
    统计文本文件
    寒假每一天
    寒假每一天
  • 原文地址:https://www.cnblogs.com/xingrui/p/14342289.html
Copyright © 2011-2022 走看看