zoukankan      html  css  js  c++  java
  • jvm 类加载

    资料:

    Hotpot Java虚拟机Class对象是在方法区还是堆中  https://my.oschina.net/u/3628059/blog/1557569

    Java基础-JVM内存划分  https://juejin.im/post/6844903958977183757

    注:

      1. class对象在堆中,作为方法区二进制数据结构的访问入口

      2. 类变量在方法区中

        

    三、方法区**

    method(方法区)又叫静态区,存放所有的①类(class),②静态变量(static变量),③静态方法,④常量和⑤成员方法。

    1.又叫静态区,跟堆一样,被所有的线程共享。

    2.方法区中存放的都是在整个程序中永远唯一的元素。这也是方法区被所有的线程共享的原因。

    • 存储常量:static final修饰的成员变量

    • 存储静态变量:static修饰的成员变量

      存储方法:静态方法、普通方法

      • 八种基本数据类型(byte、short、int、long、float、double、char、boolean)的静态变量会在方法区开辟空间,并将对应的值存储在方法区
      • 对于引用类型的静态变量如果未用new关键字为引用类型的静态变量分配对象(如:static Object obj;)那么对象的引用obj会存储在方法区中,并为其指定默认值null;若,对于引用类型的静态变量如果用new关键字为引用类型的静态变量分配对象(如:static Person person = new Person();),那么对象的引用person 会存储在方法区中,并且该对象在堆中的地址也会存储在方法区中(注意此时静态变量只存储了对象的堆地址,而对象本身仍在堆内存中)
    • 实例变量存储在堆中

  • 相关阅读:
    [NOI2005]维修数列
    [USACO07OPEN]吃饭Dining
    [TJOI2010]打扫房间
    [SCOI2005]最大子矩阵
    [HNOI2007]最小矩形覆盖
    [HAOI2006]受欢迎的牛
    BZOJ2087[Poi2010] Sheep
    [USACO08DEC]在农场万圣节Trick or Treat on the Farm
    [POI2013]BAJ-Bytecomputer
    HGOI20190126 模拟赛
  • 原文地址:https://www.cnblogs.com/GY8023/p/13693789.html
Copyright © 2011-2022 走看看