zoukankan      html  css  js  c++  java
  • 随笔37 JVM内存

    JVM 内存模型图

    方法区域存放了所加载的类的信息(名称、修饰符等)、类中的静态变量、类中定义为final类型的常量、类中的Field信息、类中的方法信息,当开发人员在程序中通过Class对象中的getName、isInterface等方法来获取信息时,这些数据都来源于方法区域,同时方法区域也是全局共享的,在一定的条件下它也会被GC,当方法区域需要使用的内存超过其允许的大小时,会抛出OutOfMemory的错误信息。

    Java  运行时数据区可以分成 方法区、 堆、 栈、 程序计数器、 本地方法栈

    堆:Java 对象, 线程之间共享的

    栈:方法运行,每一个方法对应一个栈帧,每一个线程对应一个栈,每个栈帧包括操作数、局部变量表、指向运行时常量池的引用,方法返回地址、附加位区,所以是线程不共享的。

    方法区(静态区):被虚拟机加载的类信息、,常量静态(static)变量(final),即时编译器编译后的代码等数据。运行常量池是方法区的一部分,class文件除了有类的版本、字段、接口、方法等描述信息之外,还有一项信息常量池保存编译期生成的字面量和符号引用。 线程之间共享的

    程序计数器:指出某一个时候执行某一个指令、执行完毕之后要返回的位置,当执行的Java方法的时候,这里保存的当前执行的地址,如果执行的是本地方法的时候,那么程序计数器为空。线程不共享。

     

  • 相关阅读:
    ACM-ICPC 2018 南京赛区网络预赛J. Sum
    ACM-ICPC 2018 南京赛区网络预赛 L. Magical Girl Haze(分层dijkstra)
    51nod1246 罐子和硬币
    UVALive
    CodeForces
    CodeForces
    hdu3861(tarjan缩点+最小路径覆盖)
    hdu1072(dfs和bfs)
    51nod1352 集合计数(扩展欧几里得)
    Cmder如何调整命令行字体大小
  • 原文地址:https://www.cnblogs.com/lyr612556/p/7838261.html
Copyright © 2011-2022 走看看