﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-梦想飞翔-随笔分类-Java语言*初级版 </title><link>http://www.blogjava.net/love1563/category/19738.html</link><description>自强不息</description><language>zh-cn</language><lastBuildDate>Thu, 24 Sep 2009 08:31:09 GMT</lastBuildDate><pubDate>Thu, 24 Sep 2009 08:31:09 GMT</pubDate><ttl>60</ttl><item><title>用 Struts 实现动态单选按钮</title><link>http://www.blogjava.net/love1563/archive/2009/09/24/296285.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Thu, 24 Sep 2009 06:29:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/09/24/296285.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/296285.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/09/24/296285.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/296285.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/296285.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/09/24/296285.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/296285.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-09-24 14:29 <a href="http://www.blogjava.net/love1563/archive/2009/09/24/296285.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>javascript 父子页面传值 表单提交</title><link>http://www.blogjava.net/love1563/archive/2009/09/24/296283.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Thu, 24 Sep 2009 06:25:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/09/24/296283.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/296283.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/09/24/296283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/296283.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/296283.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/09/24/296283.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/296283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-09-24 14:25 <a href="http://www.blogjava.net/love1563/archive/2009/09/24/296283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>父子页面传值问题！</title><link>http://www.blogjava.net/love1563/archive/2009/09/24/296281.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Thu, 24 Sep 2009 06:23:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/09/24/296281.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/296281.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/09/24/296281.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/296281.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/296281.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/09/24/296281.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/296281.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-09-24 14:23 <a href="http://www.blogjava.net/love1563/archive/2009/09/24/296281.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java语言深入 JAVA之精髓IO流</title><link>http://www.blogjava.net/love1563/archive/2009/04/29/268104.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Wed, 29 Apr 2009 06:25:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/04/29/268104.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/268104.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/04/29/268104.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/268104.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/268104.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/04/29/268104.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/268104.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-04-29 14:25 <a href="http://www.blogjava.net/love1563/archive/2009/04/29/268104.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>把java生成可执行文件需要第三方软件的支持，不过在没有安装JDK的机器上是不可能运行JAVA程序的，哪怕是编译成为exe文件。 </title><link>http://www.blogjava.net/love1563/archive/2009/03/30/262889.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Mon, 30 Mar 2009 06:59:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/03/30/262889.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/262889.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/03/30/262889.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/262889.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/262889.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/03/30/262889.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/262889.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-03-30 14:59 <a href="http://www.blogjava.net/love1563/archive/2009/03/30/262889.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA中的指针,引用及对象的clone（http://www.ibm.com/developerworks/cn/java/l-jpointer/index.html）</title><link>http://www.blogjava.net/love1563/archive/2009/03/30/262874.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Mon, 30 Mar 2009 06:05:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/03/30/262874.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/262874.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/03/30/262874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/262874.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/262874.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/03/30/262874.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/262874.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-03-30 14:05 <a href="http://www.blogjava.net/love1563/archive/2009/03/30/262874.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>j2me学习资源网站（转）</title><link>http://www.blogjava.net/love1563/archive/2009/03/04/257778.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Wed, 04 Mar 2009 06:18:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/03/04/257778.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/257778.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/03/04/257778.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/257778.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/257778.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/03/04/257778.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/257778.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-03-04 14:18 <a href="http://www.blogjava.net/love1563/archive/2009/03/04/257778.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>命名规范(Naming Conventions)</title><link>http://www.blogjava.net/love1563/archive/2009/02/25/256656.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Wed, 25 Feb 2009 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/02/25/256656.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/256656.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/02/25/256656.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/256656.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/256656.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/02/25/256656.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/256656.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-02-25 17:17 <a href="http://www.blogjava.net/love1563/archive/2009/02/25/256656.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java.lang包概述（可以当作学习索引） </title><link>http://www.blogjava.net/love1563/archive/2009/02/24/256487.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Tue, 24 Feb 2009 09:50:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/02/24/256487.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/256487.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/02/24/256487.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/256487.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/256487.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/02/24/256487.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/256487.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-02-24 17:50 <a href="http://www.blogjava.net/love1563/archive/2009/02/24/256487.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java多线程编程基础之线程对象</title><link>http://www.blogjava.net/love1563/archive/2009/02/24/256458.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Tue, 24 Feb 2009 08:33:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/02/24/256458.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/256458.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/02/24/256458.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/256458.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/256458.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/02/24/256458.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/256458.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-02-24 16:33 <a href="http://www.blogjava.net/love1563/archive/2009/02/24/256458.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java多线程编程基础之线程和多线程</title><link>http://www.blogjava.net/love1563/archive/2009/02/24/256457.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Tue, 24 Feb 2009 08:30:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/02/24/256457.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/256457.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/02/24/256457.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/256457.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/256457.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/02/24/256457.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/256457.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-02-24 16:30 <a href="http://www.blogjava.net/love1563/archive/2009/02/24/256457.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java多线程程序设计详细解析</title><link>http://www.blogjava.net/love1563/archive/2009/02/24/256440.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Tue, 24 Feb 2009 07:50:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/02/24/256440.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/256440.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/02/24/256440.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/256440.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/256440.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/02/24/256440.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/256440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-02-24 15:50 <a href="http://www.blogjava.net/love1563/archive/2009/02/24/256440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>多线程 转发</title><link>http://www.blogjava.net/love1563/archive/2009/02/24/256425.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Tue, 24 Feb 2009 07:00:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/02/24/256425.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/256425.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/02/24/256425.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/256425.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/256425.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/02/24/256425.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/256425.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-02-24 15:00 <a href="http://www.blogjava.net/love1563/archive/2009/02/24/256425.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>主题：J2EE高级框架实战教学视频J2ME高级框架实战教学视频（转发）</title><link>http://www.blogjava.net/love1563/archive/2009/02/23/256264.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Mon, 23 Feb 2009 08:41:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2009/02/23/256264.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/256264.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2009/02/23/256264.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/256264.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/256264.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.blogjava.net/love1563/archive/2009/02/23/256264.html'>阅读全文</a><img src ="http://www.blogjava.net/love1563/aggbug/256264.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2009-02-23 16:41 <a href="http://www.blogjava.net/love1563/archive/2009/02/23/256264.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转载:用"堆栈区数据复制"理解Java赋值和参数传递机制的心得</title><link>http://www.blogjava.net/love1563/archive/2007/05/19/118566.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Sat, 19 May 2007 09:30:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2007/05/19/118566.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/118566.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2007/05/19/118566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/118566.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/118566.html</trackback:ping><description><![CDATA[
		<p> </p>
		<p>提纲：<br />1、版权声明<br />2、前言<br />3、正文<br />4、结论<br />5、附注<br />6、参考资料<br /><br />=======================================================<br /><br />1、版权声明：<br />  本文作者：little，原始出处：用"堆栈区数据复制"理解Java赋值和参数传递机制的心得 ([link]<a href="http://java.learndiary.com/disDiaryContentAction.do?goalID=2716">http://java.learndiary.com/disDiaryContentAction.do?goalID=2716</a>[/link])，邮件：mdx-xx@tom.com。如有任何反馈意见请联系作者，作者会在本文原始出处随时更新此文。转载及引用请保留此版权声明，谢谢。<br /><br />2、前言：<br />  关于Java的赋值和参数传递是按值(by value)进行的还是按引用(by reference)进行的，这个问题曾经迷惑了很多人，包括我。而且，我想，这个问题还将继续迷惑一些人，包括那些C++的高手。<br />  在这里，我不准备用“按值(by value)”和“按引用(by value)”这样的术语来阐述这个问题。因为，从字面的理解来看，这样的术语在不同的人头脑里有不同的含义。我试图从Java数据（包括原始类型(primitive type)和对象(ojbect)）在内存中的存储这个角度，用一个自创的“术语”来阐述我对这个问题的理解。这个术语就是：“堆栈区数据复制（Stack Data Copy，简称SDC）”。详细一点就是：在Java中，不管是赋值操作还是参数传递操作--针对原始类型（primitive type），是对堆栈区的原始类型的值进行复制；针对对象，是对储存在堆栈区的，对象的引用中所储存的对象的值的地址进行复制。<br />  像上面抠字眼的句子读起来比较费力，我在后面将用两个例子并结合一些示意图来阐述我对这个问题的理解。希望各位朋友帮助纠正错误。<br /><br />3、正文：<br />1）、赋值操作：<br />例子源码：（Assign.java）<br /></p>
		<div class="codeStyle">
				<ol>
						<li>
						</li>
						<li>
								<b>
										<font color="#0000ff">public</font>
								</b> <b><font color="#0000ff">class</font></b> Assign{ 
</li>
						<li>  <b><font color="#0000ff">public</font></b> <b><font color="#0000ff">static</font></b> <b><font color="#0000ff">void</font></b> main(<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/String.java.html" target="_blank"><font class="classLink"><u>String</u></font></a></b>[] args){ 
</li>
						<li>    <b><font color="#0000ff">int</font></b> i = 1; 
</li>
						<li>    <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b> o = <b><font color="#0000ff">new</font></b> <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>(); 
</li>
						<li>    <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/System.java.html" target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(<font color="#ff33ff">"i = "</font> + i + <font color="#ff33ff">" ; o = "</font> + o ); <i><font color="#339900">// Step 1 （示意图：3-1-1）</font></i></li>
						<li>    <b><font color="#0000ff">int</font></b> j = i;    
</li>
						<li>    <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b> p = o; 
</li>
						<li>    <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/System.java.html" target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(<font color="#ff33ff">"i = "</font> + i + <font color="#ff33ff">" ; j = "</font> + j + <font color="#ff33ff">" ; o = "</font> + o + <font color="#ff33ff">" ; p = "</font> + p); <i><font color="#339900">//Step 2 （示意图：3-1-2）</font></i></li>
						<li>    j++; 
</li>
						<li>    p = <b><font color="#0000ff">new</font></b> <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>(); 
</li>
						<li>    <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/System.java.html" target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(<font color="#ff33ff">"i = "</font> + i + <font color="#ff33ff">" ; j = "</font> + j + <font color="#ff33ff">" ; o = "</font> + o + <font color="#ff33ff">" ; p = "</font> + p); <i><font color="#339900">//Step 3 （示意图：3-1-3）</font></i></li>
						<li>  } 
</li>
						<li>} </li>
				</ol>
		</div>
		<br />
		<br />对上面例子的说明：<br />（1），Step 1中，整数i和对象o得到赋值。<br /><br />示意图3-1-1<br /><img height="1" src="/WebResource.axd?d=pLXXeGbWF7eXU8SMs2-GFZvUWY2JNH05dFx5YzJhGUYAYJAFEaTEq36NAhTPy7_KekvzDFwt8wvQWdByvJIGWdEq6x2KpKD80&amp;t=633043190666685000" width="1" /><br /> <br /><img height="387" alt="chart3-1-1.bmp" src="http://www.blogjava.net/images/blogjava_net/love1563/chart3-1-1.bmp" width="494" border="0" /><br />从示意图3-1-1中可以看出：整数i存储在堆栈区（Stack）；对象o的引用存储在了堆栈区，但是对象o的值却存储在了内存堆中（Heap），对象o的引用存储了对象o的地址。<br />Step 1在我的机器上的一次输出结果：<br /><div class="codeStyle"><ol><li></li><li>i = 1 ; o = java.lang.<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>@a90653 </li></ol></div><br />至于对象o的值输出来怎么会是那个样子，我只能告诉您：在java程序的一次运行过程中，每个Object对象输出这样的值是唯一的，因此可以借此来判断对象的引用指向的对象是否发生了改变。详情请参考Java API 文档（下同，这里给出的是：J2SE 1.5.0 API 中文版）：<br />[link]<a href="http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/io/PrintStream.html#println(java.lang.Object">http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/io/PrintStream.html#println(java.lang.Object</a>)[/link]<br />[link]<a href="http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/lang/Object.html#toString(">http://gceclub.sun.com.cn/Java_Docs/html/zh_CN/api/java/lang/Object.html#toString(</a>)[/link]<br />（2），Step 2中，把整数i赋值给了整数j，把对象o赋值给了对象p。<br /><br />示意图3-1-2<br /><br /><img height="702" alt="chart3-1-2.bmp" src="http://www.blogjava.net/images/blogjava_net/love1563/chart3-1-2.bmp" width="523" border="0" /><br /><br />从示意图3-1-2中可以看出：整数i的值复制给了整数j，整数j同样存储在堆栈区；存储在堆栈区的对象o的引用中存储的对象o的地址C复制给了对象p的引用，对象p的引用同样在堆栈区中。因为对象p的引用得到了对象o的引用复制过来的对象o的值的存储地址C，所以对象p的引用和对象o的引用都指向了在堆（heap）中的同一个对象，并且，这个对象的地址是地址C。<br />Step 2在我的机器上的一次输出结果：<br /><div class="codeStyle"><ol><li></li><li>i = 1 ; j = 1 ; o = java.lang.<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>@a90653 ; p = java.lang.<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>@a90653 </li></ol></div><br />（3），Step 3中，整数j的值加1，赋给了对象p新的对象值。<br /><br />示意图3-1-3<br /><br /><img height="702" alt="chart3-1-3.bmp" src="http://www.blogjava.net/images/blogjava_net/love1563/chart3-1-3.bmp" width="494" border="0" /><br /><br />从示意图3-1-3中可以看出：整数i的值不变，整数j的值加1变为2，整数在堆栈区中；新生成的对象的值存储在了堆（Heap）中，地址为F。新生成对象的地址F存储在了堆栈区p的引用中，替换了原来存储在其中的地址C。于是，p的引用就指向了新生成的对象，这个新生成的对象的地址是地址F。而整数i和对象o的?（包括对象o的引用）没有改变也不曾有任何改变（除了初次赋值）。<br />Step 3在我的机器上的一次输出结果：<br /><div class="codeStyle"><ol><li></li><li>i = 1 ; j = 2 ; o = java.lang.<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>@a90653 ; p = java.lang.<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>@de6ced </li></ol></div><br /><br />至此，通过上面的例子及其示意图和说明，我得到一个结论：<br />在Java赋值操作中，针对原始类型（primitive type），是对堆栈区的原始类型的值进行复制；针对对象，是对储存在堆栈区的，对象的引用中所储存的对象的值的地址进行复制。这就是术语：“堆栈区数据复制（Stack Data Copy，简称SDC）”在Java赋值操作中的阐述。<br /><br />2）、方法中的参数传递操作：<br />例子源码：（PassParameter.java）<br /><div class="codeStyle"><ol><li></li><li><b><font color="#0000ff">public</font></b> <b><font color="#0000ff">class</font></b> PassParameter{ 
</li><li>  <b><font color="#0000ff">static</font></b> <b><font color="#0000ff">void</font></b> showMe(<b><font color="#0000ff">int</font></b> pi, <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b> po){ 
</li><li>    <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/System.java.html" target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(<font color="#ff33ff">"pi = "</font> + pi + <font color="#ff33ff">" ; po = "</font> + po); <i><font color="#339900">// Step 2 （示意图：3-2-2）</font></i></li><li>    pi++; 
</li><li>    po = <b><font color="#0000ff">new</font></b> <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>(); 
</li><li>    <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/System.java.html" target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(<font color="#ff33ff">"pi = "</font> + pi + <font color="#ff33ff">" ; po = "</font> + po); <i><font color="#339900">// Step 3 （示意图：3-2-3）</font></i></li><li>  } 
</li><li>  <b><font color="#0000ff">public</font></b> <b><font color="#0000ff">static</font></b> <b><font color="#0000ff">void</font></b> main(<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/String.java.html" target="_blank"><font class="classLink"><u>String</u></font></a></b>[] args){ 
</li><li>    <b><font color="#0000ff">int</font></b> i = 1; 
</li><li>    <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b> o = <b><font color="#0000ff">new</font></b> <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>(); 
</li><li>    <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/System.java.html" target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(<font color="#ff33ff">"i = "</font> + i + <font color="#ff33ff">" ; o = "</font> + o); <i><font color="#339900">// Step 1 （示意图：3-1-1）</font></i></li><li>    showMe(i, o); 
</li><li>    <b><a href="http://www.javaresearch.org/source/jdk142/java/lang/System.java.html" target="_blank"><font class="classLink"><u>System</u></font></a></b>.out.println(<font color="#ff33ff">"i = "</font> + i + <font color="#ff33ff">" ; o = "</font> + o); <i><font color="#339900">// Step 4 （示意图：3-2-3）</font></i></li><li>  } 
</li><li>} </li></ol></div><br /><br />对上面例子的说明：<br />（1），Step 1中，与上面Assign.java中的Step 1相同，略，下面重复其示意图3-1-1。<br /><br />示意图3-1-1<br /><br /><img height="387" alt="chart3-1-1.bmp" src="http://www.blogjava.net/images/blogjava_net/love1563/chart3-1-1.bmp" width="494" border="0" /><br /> <br /><br />Step 1在我的机器上的一次输出结果：<br /><div class="codeStyle"><ol><li></li><li>i = 1 ; o = java.lang.<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>@a90653 </li></ol></div><br />（2），Step 2中，与上面Assign.java中的Step 2类似，只是Assign.java中的整数j和对象p变成了这里的方法showMe()中的参数：整数pi和对象po。并且，由于这里是参数传递，把Assign.java示意图3-1-2中的“=”替换成PassParameter.java示意图3-2-2中的“&lt;--”，以此表示是参数传递。据我的理解，它们是一回事。<br /><br />示意图3-2-2<br /><br /><img height="702" alt="chart3-2-2.bmp" src="http://www.blogjava.net/images/blogjava_net/love1563/chart3-2-2.bmp" width="541" border="0" /><br /><br />Step 2在我的机器上的一次输出结果：<br /><div class="codeStyle"><ol><li></li><li>pi = 1 ; po = java.lang.<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>@a90653 </li></ol></div><br />（3），Step 3和Step 4合并起来，见示意图3-2-3同样，与上面Assign.java中的Step 3类似。<br /><br />示意图3-2-3<br /><br /> <img height="702" alt="chart3-2-3.bmp" src="http://www.blogjava.net/images/blogjava_net/love1563/chart3-1-3/chart3-2-3.bmp" width="494" border="0" /><br /><br />Step 3和Step 4在我的机器上的一次输出结果：<br /><div class="codeStyle"><ol><li></li><li>pi = 2 ; po = java.lang.<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>@de6ced 
</li><li>i = 1 ; o = java.lang.<b><a href="http://www.javaresearch.org/source/jdk142/java/lang/Object.java.html" target="_blank"><font class="classLink"><u>Object</u></font></a></b>@a90653 </li></ol></div><br /><br />至此，通过上面的例子及其示意图和说明，我得到一个结论：<br />在Java方法参数传递操作中，针对原始类型（primitive type），是对堆栈区的原始类型的值进行复制；针对对象，是对储存在堆栈区的，对象的引用中所储存的对象的地址的值进行复制。这就是术语：“堆栈区数据复制（Stack Data Copy，简称SDC）”在Java方法参数传递操作中的阐述。<br /><br />4，结论<br />综上所述：在Java中，不管是赋值操作还是方法的参数传递操作--针对原始类型（primitive type），是对堆栈区的原始类型的值进行复制；针对对象，是对储存在堆栈区的，对象的引用中所储存的对象的值的地址进行复制。<br />所以，据我的理解，术语：“堆栈区数据复制（Stack Data Copy，简称SDC）”能够有助于理解在Java中进行赋值和传递参数的机制，能够有助于在一定程度上消除“传值”、“传引用”等语义上的多变性的负面影响，可以提出来供大家交流。<br /><br />5，附注：<br />由于本人水平有限，上面的一切全是基于实践进行的带有一些推测成分在内的个人心得总结。我也以上面的自创术语去成功解释过一些文章中的有关问题（如下面参考资料中的例程）。谨希望在能为部分Java初学者提供一个理解Java赋值和参数传递的手段的同时，更能得到各位朋友的斧正，以便能够对这个问题形成更加正确和准确的认识。在我提高认识的同时，我会在本文原始出处：用"堆栈区数据复制"理解Java赋值和参数传递机制的心得 ([link]<a href="http://java.learndiary.com/disDiaryContentAction.do?goalID=2716">http://java.learndiary.com/disDiaryContentAction.do?goalID=2716</a>[/link])中随时更新此文。再次贴出我的邮件：mdx-xx@tom.com。谢谢。<br /><br />6，参考资料：<br /><br />1），Java参数传递方式 ([link]<a href="http://www.jiehoo.com/java-pass-parameter.htm">http://www.jiehoo.com/java-pass-parameter.htm</a>[/link])<br />2），破除java神话之二：参数是传址的 ([link]<a href="http://www.javaresearch.org/article/showarticle.jsp?column=544&amp;thread=443">http://www.javaresearch.org/article/showarticle.jsp?column=544&amp;thread=443</a>[/link])<br />3），Java 应用程序中的按值传递语义 ([link]<a href="http://www.javaresearch.org/article/showarticle.jsp?column=1&amp;thread=706">http://www.javaresearch.org/article/showarticle.jsp?column=1&amp;thread=706</a>[/link])<br />4），我对《Java 应用程序中的按值传递语义》的理解 ([link]<a href="http://www.javaresearch.org/article/showarticle.jsp?column=1&amp;thread=3156">http://www.javaresearch.org/article/showarticle.jsp?column=1&amp;thread=3156</a>[/link])<br />5），Thinking in Java, 3rd Edition in Java ([download]<a href="http://www.mindviewinc.com/downloads/TIJ-3rd-edition4.0.zip">http://www.mindviewinc.com/downloads/TIJ-3rd-edition4.0.zip</a>[/download])<br /><br />                                                              全文完<br />                                                              2006年11月22日午     <br /><img src ="http://www.blogjava.net/love1563/aggbug/118566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2007-05-19 17:30 <a href="http://www.blogjava.net/love1563/archive/2007/05/19/118566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>java中换行的\r\n</title><link>http://www.blogjava.net/love1563/archive/2007/04/16/110916.html</link><dc:creator>潘玉武</dc:creator><author>潘玉武</author><pubDate>Mon, 16 Apr 2007 03:28:00 GMT</pubDate><guid>http://www.blogjava.net/love1563/archive/2007/04/16/110916.html</guid><wfw:comment>http://www.blogjava.net/love1563/comments/110916.html</wfw:comment><comments>http://www.blogjava.net/love1563/archive/2007/04/16/110916.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/love1563/comments/commentRss/110916.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/love1563/services/trackbacks/110916.html</trackback:ping><description><![CDATA[
		<p>如: <span>案件情報．選定理由＋\r\n＋案件情報．選定理由２</span></p>
<img src ="http://www.blogjava.net/love1563/aggbug/110916.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/love1563/" target="_blank">潘玉武</a> 2007-04-16 11:28 <a href="http://www.blogjava.net/love1563/archive/2007/04/16/110916.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>