zoukankan      html  css  js  c++  java
  • 创建对象的内存分析

    创建对象的内存分析

    创建一个类

    package oop.demo02;

    public class Demo01 {
       String name;
       int age;
       public void shout(){
           System.out.println("叫了一声");
      }
    }

    创建一个主方法类

    package oop.demo02;

    public class Application {
       public static void main(String[] args) {
           Demo01 Demo01 = new Demo01();
           Demo01.name = "小狗";
           Demo01.age = 3;
      }
    }

    创建对象的内存流程分析如下:

    在主方法Application中new一个Demo01,由main方法调用Demo01的类,Demo01中的变量生成一个Demo01的引用类型,引用类型类似一把钥匙,没有储存任何东西,真正的对象,是用Demo01引用类型去"堆"中生成,然后Application中的值(name = "小狗;age = 3;)"赋值给这个Demo01对象。此时,这个对象中的值才会从初始值变为Application中的值。

    当再在Application中new一个Demo01,栈中又会再次生成一个引用类型,然后再次在堆中加载出一个对象,由Application中对这个对象赋的值传输给这个对象。

    静态方法:

    所有带static的东西,都存放在静态方法这个区域。静态方法是和类一起加载的,当类加载的时候,静态方法也一起加载了。所以静态方法可以被所有对象所使用。

     

  • 相关阅读:
    react-dnd例子代码学习记录
    GitKraken使用记录
    Table-dnd-tree代码分析
    umi-request请求码200,但是response是网页
    MyBatis-Plus配置输出日志
    PAT甲级1021解法
    PAT甲级1020解法
    PAT甲级1019解法
    PAT甲级1017解法
    PAT甲级1018解法
  • 原文地址:https://www.cnblogs.com/jinweichaoyouqu/p/13925859.html
Copyright © 2011-2022 走看看