你现在位置:首页>技术论文>软件知识>正文
栈与堆的补充解释!
日期:2009-5-3 23:36:03 来源:互联网  
点击: 作者:
点击【】放大字体.
WWW_PLCJS_COM-PLC-技.术_网

String str1="abc";
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

String str2="abc";
WWcW_PLCJS_COM-PLC-技.术_网

System.out.println("str1==str2");//ture
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

String str1=new String("abc");
W1WW_P4LCJS_COM-PLC-技.术_网

String str2=new String("abc");
WWW_PLCJS_COM-PLC-技.术_网

System.out.println("str1=str2");//false
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

WWW_P※LCJS_COM-PLC-)技.术_网

     这是俩中创建String类变量的方法!看上去会有很多的相识,却有着本质的不同。用内存的存储来解释俩种方法的不同!
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

     第一种方法String str="abc"格式类仅在栈内存内完成!开始寻找在栈内存中是否有与"abc"值相等的值!若有就直接指向拥有"abc"值的内存空间!这样可以节约内存的空间!若在栈中没有找到与"abc"相等的值,就把"abc"存储在栈里面!这样表明不管创建多少个等于"abc"的变量,其实仅创建了一个对象!
plcjs.技.术_网

WWW_P※LCJS_COM-PLC-)技.术_网

下面看看栈与堆的分配图!
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WW.W_PLC※JS_C,OM-PL,C-技.术_网

在String str="new" String("abc")格式内,用到对内存!也就是上图下面的一组!
WWW_PLCJS@_COM%-PLC-技.术_网

表明用new创建的数组和对象的数据是存放在堆内存的!
WWW.PLCJS.COM——可编程控制器技术门户

在栈内存内仅存放首地址!
WWW_PLCJS@_COM%-PLC-技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

这样俩种形式创建的对像是不同的!
WWW_PLC※JS_COM-PmLC-技.术_网

第一种可能值创建了一个对象,而第二种用到了new表明就创建了对象!
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW_P※LCJS_COM-PLC-)技.术_网

 
WWW_PLCJS@_COM%-PLC-技.术_网

WWcW_PLCJS_COM-PLC-技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行