• Java程序开发中的简单内存分析


       首先说明内存总体分为了4个部分,

       包括

       1.stack segment (栈区存储基本数据类型的局部变量,对象的引用名)

       2.heap segment(堆区,一般用于存储java中new 出来的对象)

       3.code segment (代码段)

       4.data segment (数据段,静态数据常量)

         其中我们程序中用关键字new出来的东西都是存放在heap segment;    

         程序中的局部变量存放在stack segment,这些局部变量是在具体方法执行结束之后,系统自动释放内存资源(而heap segment中的资源需要java垃圾回收机制来处理);     程序中的方法,是内存中的code segment中的,而且是多个对象 共享一个代码空间区域;    

        static静态变量,需要放在内存中的data segment中,     下面是一个例子程序的内存分析
        class Demo{

        private int firistNum;

        private int secondNum;

        public static int temp  =  3;

        public Demo(int firstNum,int secondNum){

            this.firstNum = firstNum;

            this.secondNum = secondNum;

       }

    }

    public class Test{

      Public static void main(String [] args){

      Demo test = new Demo(3,4);    

      }

     }    

    下面是内存空间分配的过程

    Java程序开发中的简单内存分析 - Fantasie - 随波逐流

        第二步执行过程

    Java程序开发中的简单内存分析 - Fantasie - 随波逐流

        这是整个main方法执行过程中的内存空间分配,分析好内存对以后分析逻辑性错误的程序非常重要。

  • 相关阅读:
    o9.17,习题
    09.17,二维数组,地图
    09.15,一维数组,冒泡排序
    09.11 小兔 成兔问题
    09.01,学习习题
    FTPHelper
    Wpf发送接收 win32消息
    win32Helper
    xml 封装类
    C# 多进程安全
  • 原文地址:https://www.cnblogs.com/xiohao/p/4296097.html
Copyright © 2020-2023  润新知