欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java成员变量的初始化和在內存中的运行机制

程序员文章站 2022-07-10 09:18:44
...

一 成员变量介绍
成员变量包括:实例变量(不以static修饰)和类变量(以static修饰)。

二成员变量的初始化和运行机制
1代码片段

class Person
{
    public String name;
    public static int eyeNum;
)
Person p1 = new Person();   //a
Person p2 = new Person();   //b
p1.name = "张三";                 //c
p2.name = "孙悟空";              //d
p1.eyeNum = 2;                     //e

 2 成员变量初始化和运行内存图

Java成员变量的初始化和在內存中的运行机制
            
    
    博客分类: java Java栈堆内存成员变量 
 
Java成员变量的初始化和在內存中的运行机制
            
    
    博客分类: java Java栈堆内存成员变量 
 
Java成员变量的初始化和在內存中的运行机制
            
    
    博客分类: java Java栈堆内存成员变量 
 
Java成员变量的初始化和在內存中的运行机制
            
    
    博客分类: java Java栈堆内存成员变量 
 

3 代码片段分析
(a)当运行完a处代码时,首先完成图一类对象的创建,然后完成图二的创建第一个Person对象。
(b)当运行完b处代码和c处代码时,内存分布图将如图三所示。
(c)当运行完d处和e处代码时,内存分布图将如图四所示。

  • Java成员变量的初始化和在內存中的运行机制
            
    
    博客分类: java Java栈堆内存成员变量 
  • 大小: 13.9 KB
  • Java成员变量的初始化和在內存中的运行机制
            
    
    博客分类: java Java栈堆内存成员变量 
  • 大小: 17.7 KB
  • Java成员变量的初始化和在內存中的运行机制
            
    
    博客分类: java Java栈堆内存成员变量 
  • 大小: 22.6 KB
  • Java成员变量的初始化和在內存中的运行机制
            
    
    博客分类: java Java栈堆内存成员变量 
  • 大小: 34.6 KB