www.baidu.com

JavaCode--我爱你,芳儿

JavaStudy--我爱你,芳儿

关于static变量对于内存分配的实际验证...

public class Num
{
    
static Integer i = new Integer(520);
};
public class Demo
{
        
public static void main(String[] args)
        {
            Num demo1 
= new Num();
            Num demo2 
= new Num();
            
if (demo1.i == demo2.i)
            {
                System.out.println(
"ture");
            }
            
else
            {
                System.out.println(
"false");
            }

        }
    
}

输出为:true!表明demo1.i和demo2.i只有一分存储空间.虽然new了两个对象.但只有一份存储空间!
public class Num
{
    Integer i 
= new Integer(520);
};

public class Demo
{
        
public static void main(String[] args)
        {
            Num demo1 
= new Num();
            Num demo2 
= new Num();
            
if (demo1.i == demo2.i)
            {
                System.out.println(
"ture");
            }
            
else
            {
                System.out.println(
"false");
            }

        }
    
}

输出为false
关于static变量或方法..只会创建一份空间..无论是否有对象去引用..
下面是更深入的说明!!!
public class Num
{
 
static Integer i = new Integer(520);
 Integer j 
= new Integer(520);
}

public class Demo
{
        
public static void main(String[] args)
        {
            Num demo1 
= new Num();
            Num demo2 
= new Num();
            
if (demo1.i == demo2.i)
            {
                System.out.println(
"ture");
            }
            
else
            {
                System.out.println(
"false");
            }
            
if (demo1.j == demo2.j)
            {
                System.out.println(
"ture");
            }
            
else
            {
                System.out.println(
"false");
            }
            System.out.println(Num.i);

        }
    
}

下面一个例子:
public class F1
{
    
public static void main(String[] args)
    {
        Integer i 
= new Integer(10);
        Integer j 
= new Integer(10);
        
int k = 20;
        
int l = 20;
        System.out.println(k 
==l);
        System.out.println(i 
== j);
    }
};
上面的例 子表明:对于通过new创建的两个对象的引用i&j,他们所引用的值都相同为10.但是,两个10存储在不同的两个地方,两个引用不同哦.....
上面例 子的结果为:
ture
false


 

芳儿宝贝.我爱你

posted on 2007-12-20 21:07 wǒ愛伱--咾婆 阅读(1791) 评论(3)  编辑  收藏 所属分类: JavaBaseFiles

评论

# re: 关于static变量对于内存分配的实际验证... 2007-12-21 09:36 andyao

明显的是这样,还要去验证?
抽时间看看jvm规范  回复  更多评论   

# re: 关于static变量对于内存分配的实际验证... 2007-12-21 12:45 wǒ愛伱--咾婆

书上写的也很清楚..自已弄弄也更明白一些  回复  更多评论   

# re: 关于static变量对于内存分配的实际验证...[未登录] 2007-12-22 13:52 飘然

也太初级了点,楼主......  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

统计

公告

芳儿宝贝.我爱你


黑客基地
http://www.hackbase.com
全球最大的黑客门户网站


 最近在读的书:

常用链接

留言簿(1)

随笔分类(37)

JavaCode

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜