zoukankan      html  css  js  c++  java
  • java基础知识:内存

    一:

    二:数组的内存图

    1. 方法区:里面保存.class信息和方法信息(即入口函数的信息)

    2. 真正的要运行,就要从方法区里面取方法的名称、参数、返回值等信息,然后在栈中为这个方法开辟一个新的内存空间,用来存放局部变量等,将这个动作成为进栈。

    3. 碰到 int [] array 是一个局部变量名为array(一个int类型的数组),然后将 arraay变量名,放入栈中。

    4. new int[3],碰到new,就放入堆中,创建一个数组,分别有三个位置,索引为(0,1,2),对应保存的值为(0,0,0),然后这个数组的地址为 0x666,将这个地址的赋值给3里面的array变量。

    5. System.out.println(array);通过就是输出array保存的地址值。

    6. System.out.println(array[0]);通过array保存的地址在堆中找到这个数组,然后通过索引0获取的值是0。

    二:类

    (1)先进入方法区:首先查找main方法,将main方法进行入栈操作

    (2) 碰到new,进入堆,堆里面保存成员变量,然后成员方法,入方法区

    (3)one.brand = "苹果",赋值操作。

    (4)调用call方法,从方法区,将方法入栈,然后执行,执行完成后出栈。

    (5)调用send方法,从方法区,将方法入栈,然后执行,执行完成后出栈。

    三:

    # TODO

  • 相关阅读:
    Scratch编程:打猎(十)
    Scratch编程:漂亮的时钟(九)
    剑指offer总结一:字符、数字重复问题
    剑指offer:数值的整数次方
    剑指offer:二进制中1的个数
    InnoDB存储引擎与MyIsam存储引擎的区别
    数据库查询慢的原因
    剑指offer:矩形覆盖
    剑指offer:跳台阶问题
    redis键的过期和内存淘汰策略
  • 原文地址:https://www.cnblogs.com/meloncodezhang/p/12818864.html
Copyright © 2011-2022 走看看