??xml version="1.0" encoding="utf-8" standalone="yes"?>视频欧美精品,波多野结衣在线播放,国产尤物视频在线http://www.aygfsteel.com/love1563/category/19738.html自强不息zh-cnThu, 24 Sep 2009 08:31:09 GMTThu, 24 Sep 2009 08:31:09 GMT60- ?Struts 实现动态单选按?/title>http://www.aygfsteel.com/love1563/archive/2009/09/24/296285.html潘玉?/dc:creator>潘玉?/author>Thu, 24 Sep 2009 06:29:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/09/24/296285.htmlhttp://www.aygfsteel.com/love1563/comments/296285.htmlhttp://www.aygfsteel.com/love1563/archive/2009/09/24/296285.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/296285.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/296285.html阅读全文

]]> - javascript 父子面传?表单提交http://www.aygfsteel.com/love1563/archive/2009/09/24/296283.html潘玉?/dc:creator>潘玉?/author>Thu, 24 Sep 2009 06:25:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/09/24/296283.htmlhttp://www.aygfsteel.com/love1563/comments/296283.htmlhttp://www.aygfsteel.com/love1563/archive/2009/09/24/296283.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/296283.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/296283.html阅读全文

]]> - 父子面传值问题!http://www.aygfsteel.com/love1563/archive/2009/09/24/296281.html潘玉?/dc:creator>潘玉?/author>Thu, 24 Sep 2009 06:23:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/09/24/296281.htmlhttp://www.aygfsteel.com/love1563/comments/296281.htmlhttp://www.aygfsteel.com/love1563/archive/2009/09/24/296281.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/296281.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/296281.html阅读全文

]]> - Java语言深入 JAVA之精髓IO?/title>http://www.aygfsteel.com/love1563/archive/2009/04/29/268104.html潘玉?/dc:creator>潘玉?/author>Wed, 29 Apr 2009 06:25:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/04/29/268104.htmlhttp://www.aygfsteel.com/love1563/comments/268104.htmlhttp://www.aygfsteel.com/love1563/archive/2009/04/29/268104.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/268104.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/268104.html阅读全文

]]> - 把java生成可执行文仉要第三方软g的支持,不过在没有安装JDK的机器上是不可能q行JAVAE序的,哪怕是~译成ؓexe文g?http://www.aygfsteel.com/love1563/archive/2009/03/30/262889.html潘玉?/dc:creator>潘玉?/author>Mon, 30 Mar 2009 06:59:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/03/30/262889.htmlhttp://www.aygfsteel.com/love1563/comments/262889.htmlhttp://www.aygfsteel.com/love1563/archive/2009/03/30/262889.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/262889.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/262889.html阅读全文

]]> - JAVA中的指针,引用及对象的cloneQhttp://www.ibm.com/developerworks/cn/java/l-jpointer/index.htmlQ?/title>http://www.aygfsteel.com/love1563/archive/2009/03/30/262874.html潘玉?/dc:creator>潘玉?/author>Mon, 30 Mar 2009 06:05:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/03/30/262874.htmlhttp://www.aygfsteel.com/love1563/comments/262874.htmlhttp://www.aygfsteel.com/love1563/archive/2009/03/30/262874.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/262874.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/262874.html阅读全文

]]> - j2me学习资源|站Q{Q?/title>http://www.aygfsteel.com/love1563/archive/2009/03/04/257778.html潘玉?/dc:creator>潘玉?/author>Wed, 04 Mar 2009 06:18:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/03/04/257778.htmlhttp://www.aygfsteel.com/love1563/comments/257778.htmlhttp://www.aygfsteel.com/love1563/archive/2009/03/04/257778.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/257778.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/257778.html阅读全文

]]> - 命名规范(Naming Conventions)http://www.aygfsteel.com/love1563/archive/2009/02/25/256656.html潘玉?/dc:creator>潘玉?/author>Wed, 25 Feb 2009 09:17:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/02/25/256656.htmlhttp://www.aygfsteel.com/love1563/comments/256656.htmlhttp://www.aygfsteel.com/love1563/archive/2009/02/25/256656.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/256656.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/256656.html阅读全文

]]> - java.lang包概qͼ可以当作学习索引Q?http://www.aygfsteel.com/love1563/archive/2009/02/24/256487.html潘玉?/dc:creator>潘玉?/author>Tue, 24 Feb 2009 09:50:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/02/24/256487.htmlhttp://www.aygfsteel.com/love1563/comments/256487.htmlhttp://www.aygfsteel.com/love1563/archive/2009/02/24/256487.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/256487.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/256487.html阅读全文

]]> - Java多线E编E基之线E对?/title>http://www.aygfsteel.com/love1563/archive/2009/02/24/256458.html潘玉?/dc:creator>潘玉?/author>Tue, 24 Feb 2009 08:33:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/02/24/256458.htmlhttp://www.aygfsteel.com/love1563/comments/256458.htmlhttp://www.aygfsteel.com/love1563/archive/2009/02/24/256458.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/256458.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/256458.html阅读全文

]]> - Java多线E编E基之线E和多线E?/title>http://www.aygfsteel.com/love1563/archive/2009/02/24/256457.html潘玉?/dc:creator>潘玉?/author>Tue, 24 Feb 2009 08:30:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/02/24/256457.htmlhttp://www.aygfsteel.com/love1563/comments/256457.htmlhttp://www.aygfsteel.com/love1563/archive/2009/02/24/256457.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/256457.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/256457.html阅读全文

]]> - Java多线E程序设计详l解?/title>http://www.aygfsteel.com/love1563/archive/2009/02/24/256440.html潘玉?/dc:creator>潘玉?/author>Tue, 24 Feb 2009 07:50:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/02/24/256440.htmlhttp://www.aygfsteel.com/love1563/comments/256440.htmlhttp://www.aygfsteel.com/love1563/archive/2009/02/24/256440.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/256440.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/256440.html阅读全文

]]> - 多线E?转发http://www.aygfsteel.com/love1563/archive/2009/02/24/256425.html潘玉?/dc:creator>潘玉?/author>Tue, 24 Feb 2009 07:00:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/02/24/256425.htmlhttp://www.aygfsteel.com/love1563/comments/256425.htmlhttp://www.aygfsteel.com/love1563/archive/2009/02/24/256425.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/256425.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/256425.html阅读全文

]]> - 主题QJ2EE高框架实战教学视频J2ME高框架实战教学视频Q{发)http://www.aygfsteel.com/love1563/archive/2009/02/23/256264.html潘玉?/dc:creator>潘玉?/author>Mon, 23 Feb 2009 08:41:00 GMThttp://www.aygfsteel.com/love1563/archive/2009/02/23/256264.htmlhttp://www.aygfsteel.com/love1563/comments/256264.htmlhttp://www.aygfsteel.com/love1563/archive/2009/02/23/256264.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/256264.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/256264.html阅读全文

]]> - 转蝲:?堆栈区数据复?理解Java赋值和参数传递机制的心得http://www.aygfsteel.com/love1563/archive/2007/05/19/118566.html潘玉?/dc:creator>潘玉?/author>Sat, 19 May 2007 09:30:00 GMThttp://www.aygfsteel.com/love1563/archive/2007/05/19/118566.htmlhttp://www.aygfsteel.com/love1563/comments/118566.htmlhttp://www.aygfsteel.com/love1563/archive/2007/05/19/118566.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/118566.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/118566.html
提纲Q?br />1、版权声?br />2、前a
3、正?br />4、结?br />5、附?br />6、参考资?br />
=======================================================
1、版权声明:
本文作者:littleQ原始出处:?堆栈区数据复?理解Java赋值和参数传递机制的心得 ([link]http://java.learndiary.com/disDiaryContentAction.do?goalID=2716[/link])Q邮Ӟmdx-xx@tom.com。如有Q何反馈意见请联系作者,作者会在本文原始出处随时更新此文。{载及引用请保留此版权声明Q谢谢?br />
2、前aQ?br /> 关于Java的赋值和参数传递是按?by value)q行的还是按引用(by reference)q行的,q个问题曄qh了很多hQ包括我。而且Q我惻Iq个问题q将l箋qh一些hQ包括那些C++的高手?br /> 在这里,我不准备用“按?by value)”和“按引用(by value)”这L术语来阐q这个问题。因为,从字面的理解来看Q这L术语在不同的人头脑里有不同的含义。我试图从Java数据Q包括原始类?primitive type)和对?ojbect)Q在内存中的存储q个角度Q用一个自创的“术语”来阐述我对q个问题的理解。这个术语就是:“堆栈区数据复制QStack Data CopyQ简USDCQ”。详l一点就是:在Java中,不管是赋值操作还是参C递操?-针对原始cdQprimitive typeQ,是对堆栈区的原始cd的D行复Ӟ针对对象Q是对储存在堆栈区的Q对象的引用中所储存的对象的值的地址q行复制?br /> 像上面抠字眼的句子读h比较费力Q我在后面将用两个例子ƈl合一些示意图来阐q我对这个问题的理解。希望各位朋友帮助纠正错误?br />
3、正文:
1Q、赋值操作:
例子源码Q(Assign.javaQ?br />
-
-
public
class Assign{
- public static void main(String[] args){
- int i = 1;
- Object o = new Object();
- System.out.println("i = " + i + " ; o = " + o ); // Step 1 Q示意图Q?-1-1Q?/font>
- int j = i;
- Object p = o;
- System.out.println("i = " + i + " ; j = " + j + " ; o = " + o + " ; p = " + p); //Step 2 Q示意图Q?-1-2Q?/font>
- j++;
- p = new Object();
- System.out.println("i = " + i + " ; j = " + j + " ; o = " + o + " ; p = " + p); //Step 3 Q示意图Q?-1-3Q?/font>
- }
- }
对上面例子的说明Q?br />Q?Q,Step 1中,整数i和对象o得到赋倹{?br />
C意?-1-1


从示意图3-1-1中可以看出:整数i存储在堆栈区QStackQ;对象o的引用存储在了堆栈区Q但是对象o的值却存储在了内存堆中QHeapQ,对象o的引用存储了对象o的地址?br />Step 1在我的机器上的一ơ输出结果:
- i = 1 ; o = java.lang.Object@a90653
至于对象o的D出来怎么会是那个样子Q我只能告诉您:在javaE序的一ơ运行过E中Q每个Object对象输出q样的值是唯一的,因此可以借此来判断对象的引用指向的对象是否发生了改变。详情请参考Java API 文档Q下同,q里l出的是QJ2SE 1.5.0 API 中文版)Q?br />[link]http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/io/PrintStream.html#println(java.lang.Object)[/link]
[link]http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/lang/Object.html#toString()[/link]
Q?Q,Step 2中,把整数i赋值给了整数jQ把对象o赋值给了对象p?br />
C意?-1-2

从示意图3-1-2中可以看出:整数i的值复制给了整数jQ整数j同样存储在堆栈区Q存储在堆栈区的对象o的引用中存储的对象o的地址C复制l了对象p的引用,对象p的引用同样在堆栈Z。因为对象p的引用得C对象o的引用复制过来的对象o的值的存储地址CQ所以对象p的引用和对象o的引用都指向了在堆(heapQ中的同一个对象,q且Q这个对象的地址是地址C?br />Step 2在我的机器上的一ơ输出结果:
- i = 1 ; j = 1 ; o = java.lang.Object@a90653 ; p = java.lang.Object@a90653
Q?Q,Step 3中,整数j的值加1Q赋l了对象p新的对象倹{?br />
C意?-1-3

从示意图3-1-3中可以看出:整数i的g变,整数j的值加1变ؓ2Q整数在堆栈ZQ新生成的对象的值存储在了堆QHeapQ中Q地址为F。新生成对象的地址F存储在了堆栈区p的引用中Q替换了原来存储在其中的地址C。于是,p的引用就指向了新生成的对象,q个新生成的对象的地址是地址F。而整数i和对象o?Q包括对象o的引用)没有改变也不曾有M改变Q除了初ơ赋|?br />Step 3在我的机器上的一ơ输出结果:
- i = 1 ; j = 2 ; o = java.lang.Object@a90653 ; p = java.lang.Object@de6ced
xQ通过上面的例子及其示意图和说明,我得C个结论:
在Java赋值操作中Q针对原始类型(primitive typeQ,是对堆栈区的原始cd的D行复Ӟ针对对象Q是对储存在堆栈区的Q对象的引用中所储存的对象的值的地址q行复制。这是术语Q“堆栈区数据复制QStack Data CopyQ简USDCQ”在Java赋值操作中的阐q?br />
2Q、方法中的参C递操作:
例子源码Q(PassParameter.javaQ?br />- public class PassParameter{
- static void showMe(int pi, Object po){
- System.out.println("pi = " + pi + " ; po = " + po); // Step 2 Q示意图Q?-2-2Q?/font>
- pi++;
- po = new Object();
- System.out.println("pi = " + pi + " ; po = " + po); // Step 3 Q示意图Q?-2-3Q?/font>
- }
- public static void main(String[] args){
- int i = 1;
- Object o = new Object();
- System.out.println("i = " + i + " ; o = " + o); // Step 1 Q示意图Q?-1-1Q?/font>
- showMe(i, o);
- System.out.println("i = " + i + " ; o = " + o); // Step 4 Q示意图Q?-2-3Q?/font>
- }
- }
对上面例子的说明Q?br />Q?Q,Step 1中,与上面Assign.java中的Step 1相同Q略Q下面重复其C意?-1-1?br />
C意?-1-1

Step 1在我的机器上的一ơ输出结果:
- i = 1 ; o = java.lang.Object@a90653
Q?Q,Step 2中,与上面Assign.java中的Step 2cMQ只是Assign.java中的整数j和对象p变成了这里的ҎshowMe()中的参数Q整数pi和对象po。ƈ且,׃q里是参C递,把Assign.javaC意?-1-2中的?”替换成PassParameter.javaC意?-2-2中的?lt;--”,以此表示是参C递。据我的理解Q它们是一回事?br />
C意?-2-2

Step 2在我的机器上的一ơ输出结果:
- pi = 1 ; po = java.lang.Object@a90653
Q?Q,Step 3和Step 4合ƈhQ见C意?-2-3同样Q与上面Assign.java中的Step 3cM?br />
C意?-2-3

Step 3和Step 4在我的机器上的一ơ输出结果:
- pi = 2 ; po = java.lang.Object@de6ced
- i = 1 ; o = java.lang.Object@a90653
xQ通过上面的例子及其示意图和说明,我得C个结论:
在JavaҎ参数传递操作中Q针对原始类型(primitive typeQ,是对堆栈区的原始cd的D行复Ӟ针对对象Q是对储存在堆栈区的Q对象的引用中所储存的对象的地址的D行复制。这是术语Q“堆栈区数据复制QStack Data CopyQ简USDCQ”在JavaҎ参数传递操作中的阐q?br />
4Q结?br />lg所qͼ在Java中,不管是赋值操作还是方法的参数传递操?-针对原始cdQprimitive typeQ,是对堆栈区的原始cd的D行复Ӟ针对对象Q是对储存在堆栈区的Q对象的引用中所储存的对象的值的地址q行复制?br />所以,据我的理解,术语Q“堆栈区数据复制QStack Data CopyQ简USDCQ”能够有助于理解在Java中进行赋值和传递参数的机制Q能够有助于在一定程度上消除“传值”、“传引用”等语义上的多变性的负面影响Q可以提出来供大家交?br />
5Q附注:
׃本h水^有限Q上面的一切全是基于实践进行的带有一些推成分在内的个h心得ȝ。我也以上面的自创术语去成功解释q一些文章中的有关问题(如下面参考资料中的例E)。}希望在能为部分Java初学者提供一个理解Java赋值和参数传递的手段的同Ӟ更能得到各位朋友的斧正,以便能够对这个问题Ş成更加正和准确的认识。在我提高认识的同时Q我会在本文原始出处Q用"堆栈区数据复?理解Java赋值和参数传递机制的心得 ([link]http://java.learndiary.com/disDiaryContentAction.do?goalID=2716[/link])中随时更新此文。再ơ脓出我的邮Ӟmdx-xx@tom.com。谢谢?br />
6Q参考资料:
1Q,Java参数传递方式?[link]http://www.jiehoo.com/java-pass-parameter.htm[/link])
2Q,破除java话之二Q参数是传址的?[link]http://www.javaresearch.org/article/showarticle.jsp?column=544&thread=443[/link])
3Q,Java 应用E序中的按g递语义?[link]http://www.javaresearch.org/article/showarticle.jsp?column=1&thread=706[/link])
4Q,我对《Java 应用E序中的按g递语义》的理解 ([link]http://www.javaresearch.org/article/showarticle.jsp?column=1&thread=3156[/link])
5Q,Thinking in Java, 3rd Edition in Java ([download]http://www.mindviewinc.com/downloads/TIJ-3rd-edition4.0.zip[/download])
全文?br /> 2006q?1?2日午

]]>- java中换行的\r\nhttp://www.aygfsteel.com/love1563/archive/2007/04/16/110916.html潘玉?/dc:creator>潘玉?/author>Mon, 16 Apr 2007 03:28:00 GMThttp://www.aygfsteel.com/love1563/archive/2007/04/16/110916.htmlhttp://www.aygfsteel.com/love1563/comments/110916.htmlhttp://www.aygfsteel.com/love1563/archive/2007/04/16/110916.html#Feedback0http://www.aygfsteel.com/love1563/comments/commentRss/110916.htmlhttp://www.aygfsteel.com/love1563/services/trackbacks/110916.html? 案g情報Q選定理由+\r\nQ案件情報.選定理由Q?/span>

]]>
վ֩ģ壺
|
|
۶|
пѷ|
ƽ|
|
|
|
ٳ|
|
|
ϳ|
|
̨|
Ѱ|
|
͡|
ɽ|
ư|
鱦|
ǿ|
|
ɽ|
|
|
ƽ|
|
|
|
|
|
|
|
|
|
ܱ|
|
|
Դ|
|
|