zoukankan      html  css  js  c++  java
  • java内存划分

    1. 栈(Stack):存放的都是方法中的局部变量,方法的运行一定要在栈当中。
      局部变量: 方法的参数,或者是方法{}内部的变量。
      作用域:一旦超出作用域,立刻从栈内存当中消失。
    2. 堆(Heap):凡是new出来的东西,都在堆当中。
      堆内存里面的东西都有一个地址值:16进制。
      堆内存里面的数据,都有默认值,规则:
      如果是整型,动态数组默认为0
      如果是浮点型,动态数组默认为0.0
      如果是字符类型,动态数组默认为'u0000'
      如果是布尔类型,动态数组默认为false
      如果是引用类型,动态数组默认为null
    3. 方法区(Method Area):存储.class相关信息,包含方法的信息。
    4. 本地方法栈(Native Method Stack):与操作系统相关。
    5. 寄存器(pc Register): 与CPU相关

    一个数组的内存图

    两个数组的内存图

    两个引用指向同一个数组

  • 相关阅读:
    面向对象基本原则
    策略模式
    简单工厂模式
    高内聚、低耦合
    UML在代码中的展现
    使用commons-csv简单读写CSV文件
    java反射机制
    SrpingDruid数据源加密数据库密码
    markdown学习经验
    Vue.js学习笔记
  • 原文地址:https://www.cnblogs.com/lishi-jie/p/11693560.html
Copyright © 2011-2022 走看看