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 会存储在方法区中,并且该对象在堆中的地址也会存储在方法区中(注意此时静态变量只存储了对象的堆地址,而对象本身仍在堆内存中)
    • 实例变量存储在堆中

  • 相关阅读:
    Ext简单demo示例
    git命令行操作
    js继承方式
    一次活动总结
    h5自定义audio(问题及解决)
    JavaScript标准参考教材(alpha)--笔记
    css揭秘--笔记(未完)
    css权威指南--笔记
    h5上传图片及预览
    gulp入门小记
  • 原文地址:https://www.cnblogs.com/GY8023/p/13693789.html
Copyright © 2011-2022 走看看