??xml version="1.0" encoding="utf-8" standalone="yes"?>99999久久久久久亚洲,亚洲熟妇AV日韩熟妇在线,亚洲剧场午夜在线观看http://m.tkk7.com/mark1207/MyEclipse, Java EE, Spring, Struts, Hibernate, JPA, SWT, Swing, AJAX, JavaScript,SOAzh-cnWed, 14 May 2025 18:27:06 GMTWed, 14 May 2025 18:27:06 GMT60转蝲Q华为十q?(徐家?http://m.tkk7.com/mark1207/archive/2009/03/02/257351.htmlMarkMarkMon, 02 Mar 2009 07:47:00 GMThttp://m.tkk7.com/mark1207/archive/2009/03/02/257351.htmlhttp://m.tkk7.com/mark1207/comments/257351.htmlhttp://m.tkk7.com/mark1207/archive/2009/03/02/257351.html#Feedback1http://m.tkk7.com/mark1207/comments/commentRss/257351.htmlhttp://m.tkk7.com/mark1207/services/trackbacks/257351.html 转眼工作十年了,在华为的十年Q正是华Z名不Z业圈子到现在成ؓ路h皆知的大公司Q高速发展的十年Q见证了公司多年的奋斗历E。也投n其中Q在大潮中边学边游泳Q走C天。现在我要离开公司了,准备d始新的事业,接受全新的挑战,我将要去做的事情Q风险很大,很有可能是九M生,九死后还能不能有一生,也难说。在开始新的事业之前,惌v了对q去的十q做个一个详l的ȝ。在一个象华ؓq样高速发展的大企业工作,有时是一U炼p的锻|如果我能够ȝ十年的经验和教训Q从中学到关键的做事、做人的道理Q我惛_来一定大有益处?br />
q些q来有些人离开公司Q写一些东西或书,对公司指手画脚、评头论뀁指Ҏ山,对公司的高层领导逐个点评一番,我个人感觉除了带来一些娱乐h|q有什么益处呢Q公司照样在发展Q发展的背后Q?万hU种梦想、努力、A献、牺牌Ӏ奋斗、抱怨、不满、沉淀、离厅R希望、失落;发展的背后,U种Z、重大决{、危机、失误等{的内在逻辑又岂是局外h说得清楚Q我不想多说公司Q只是想对自q工作l历好好反思反思,x自己做了什么努力,做了什么A献,做了什么自己最高兴、做了什么自己最受益、学C什么?d说来Q我在华为的十年是懵應|懂过来的Q当初我好像没有什么远大的理想、没有详l的规划Q只是想着把一件一件事情做好。通过自己的ȝ和反思,来我希望自p够更加有规划、更加清C炏V?br />

大概想了惻I我觉得有以下几点Q是q些q深有体会的l验和教训,值得今后再发扬?br />
一?#8220;从小事做P学会吃亏Q与他h合作”Q这是研I生毕业前最后一堂课Q电子电路的老师最后送给我们几句话,虽然我忘了这位老师的名字,但这几句话却至今铭记。在华ؓ的工作实践,发感受到这单的几条的道理深刅R从事做v不是一直满于做小事,也不是夸夸其谈好高骛q。学会吃亏不是忍受吃亏,是不斤斤计较于一时一地的是非得失Q是有勇气关键时候的攑ּ?br />
二?#8220;心有多大Q舞台就有多?#8221;Q我们很多的成功Q来自于敢想Q敢做,p我第一ơ接到问题单Q根本不懂,但敢去试Q敢去解冻Iq真的解决了Q就像我们做 SPESQ即使没人、没技术、没U篏Q还有CISCO{大公司也在做,我们也敢做,敢推行,不盲目崇拜或畏惧权威Q也取得了成功。当Ӟq不只是盲目的胆大,心大q意味着U极地关注广大的外部世界Q开阔宽容的心胸接受U种新鲜事物?br />
三?#8220;好好学习Q天天向?#8221;Q这句话用来形容对IT人的要求Q最贴切不过了。真正的成功者和专家都是“最不怕学?#8221;的hQ啥东西不懂Q拿q来学呗。我?IT现在有个技术大牛K博,其实他不是天生大牛,也是从外行通过学习成ؓ专家的,他自己有一ơ跟我说Q当q一开始做UNIXpȝ理员时Q看刎ͼ提示W大吃一惊,因ؓ自己用过多年在UNIX下搞开发都是%提示W,从未有过理员权限。看看专家的当初p水^Q当q跟我做备䆾目Ӟ我让他研I一?ORALCE数据库时点回退的备份和恢复ҎQ他望文生义Q以为数据库的回退是象人倒退走\一LQ这很有点幽默的味道了,但他天天早上hQ上班前先看一时书,多年U篏下来Q现在在pȝ、数据库、开发等多个领域已成为没人挑战的专家了。但是,学习l对不是光从书本学习Q其实更重要的是从实践工作中学习Q向周边学习。比如说我在华ؓ觉得学到最重要的一个理忉|“要善于利用逆境”Q华为在冬天的时候没有天天强调困难,而是提出“利用冬天的机会扭转全球竞争格局”q真的取得成功,如果没有q个冬天Q华为可能还要落后业界大腕更多年份;华ؓ在被CISCO赯时没有慌乱,而是U极应对Q利用了q次赯辑ֈ了花几亿金可能达不到的提高知名度的效果。等{这些,把几乎是灭顶之灾的境遇反而{化ؓ成功的有利条ӞҎ留下的印象十分深刻,也对公司高层十分佩服?br />
四、勇于实践,勇于犯错Q善于反思。很多事情知易行难,关键是要有行动,特别是管理类的一些理论、方法、观c空谈、空规划一点用处都没有Q不如实际把它做出来Q做出来后不断反思改q,实实在在最有说服力。没有实践中的反复演l和反思,即是h人皆知的东西要做好都其实不容易,举个例子,比如做管理者要会們֐Q我惛_?9.9%的管理者都很懂q一点,但实际做的如何呢Q华为有多少理者做C不打断别话?不急于下结论给定义Q不急于提供解决ҎQ有多少理者能够做到自然地引导Ҏ表达Q问问对Ҏ受?认自己明白ҎQ?br />
五、要有方法、有套\Q对问题pȝ思考、对解决Ҏ有战略性的设计。在前几q的工作中,׃取得了一Ҏ功,技术上也有了一点研IӞ开始夜郎自大v来了Q后来公司化重金h了大扚w问,一开始对有些Nq真不怎么感冒。后来几q公司规模越来越大、IT的复杂性越来越增加的情况下Q逐渐理解了很多。西方公司职业化的专Ӟ做Q何事情都有方法论、有套\Q甚至于如何开一个会都有很多套\Q后来我对这些套路的研究有了兴趣Q自己ȝZ不少套\q给部门的骨q培训和讨论。在一个复杂的环境下,很多问题已经不能׃Z来研I和解决Q非帔R要系l性的Ҏ和战略性的眼光。对于一个组l的q作来讲Q制度和程的设计尤光要这一炏V爱恩斯坦说q:We can't solve problems by using the same kind of thinking we used when we created them.

六、独立思考,不h云亦云。公司大了,人多了,h子也Ҏ了。h很容易陷入随波逐流、不深入业务的境圎ͼ而看不到问题和危险。专家有q一个研IӞ雪崩发生Ӟ一般受完都是一批一批的Q很有单个人的受害者,原因很简单,单个人在雪崩多发C相当心和警觉。但一个群体,体大Q每个个体就会有一U虚qȝ安全感和Z亦云的判断,但现实是不管体的力量有多大Q雪崩都是不可抵抗的。因此我觉得在大的机构里Q保持独立思考的能力ؓ重要?br />
七、少抱怨、少I、积极主动,多干实事。我曄是个抱怨很多的愤青Q经常容易陷入抱怨之中。但多年的工作得我有所转变Q因为知道了抱怨是最无济于事的。世界上永远有不完美的事情,永远有麻烦,唯一的解决之道是面对它,解决它。做实实在在的事情,改变我们不满的现Ӟ改变我们不满的自己。实际上也有很多值得抱怨的事情都是我们自己一手搞出来的,比如C会上很常见的是高q部退下来了,抱怨h心不古、感慨世态炎凉,如果好好LI一下,原因很可能是他权位在手春风得意时不可一世、视他h如粪土造成的?br />
八、对职业负责、对目标负责Q对自己负责Q成功者往往自觉自律、信守承诺、心无旁骛。大企业肯定会有l效考核、会有论功行赏、会有KPI、会有领导指C、甚至会有一点企业政治,但如果我们片面地q求考核成W、片面追求KPI指标、片面追求权钱利益,片面地对上负责、对别h负责Q而不对自p责、不对自q目标负责Q失d作的使命感、责d、热情和好奇心,必将不能辑ֈ自己的最佛_界。而一个企业如何能够成功营造一个环境,让每个个体尽量发挥到最佛_界,企业也会战无不胜?br />
九、多点h文修d审美情趣Q看h与工作不怎么相关Q其实太相关了。杰出成q取得M开对美的境界的q求Q最伟大的科学发玎ͼ往往蕴涵着U序、简z和。缺乏一点审的q求Q什么UGLY的事情都敢做、不择手Dc凡事凑合,一炚w?#8220;高雅”Q必不能长久?br />
十?#8220;大家好,才是真的?#8221;Q关注hQ帮助hQ真诚待人,厚道做h。快速发展的CC会Q由于媒体的作用Q过分渲染了ZZ间日益冷漠、诡诈的关系Q但实际的社会、社区可能真的不是那么回事,L我来华ؓ之前Q对一个大企业中工作的Z关系开始还有点未知的恐惧,但实际上在这个集体中的感觉几乎h人都能开放、真诚相待,关系融洽和谐。所以关键是我们自己要能够真诚对待他人,在与他h互动中将心比心。当Ӟ工作中的冲突是不可避免的Q实际上冲突也是没有必要去避免,甚至很多冲突对组l来Ԍ是大有益处的。就象夫d一架后感情往往更好。只要我们掌握两大原则:1Q对事不对hQ?Q与Zؓ善。就肯定能把适度的冲H引导到对自己、对l织都有利的方向?br />
十一、开攑֒分n的态度Q在一个高U技公司工作Q如果报着保守和封闭的心态,成长肯定会受阅R?br />
十二、做好时间管理。在华ؓ工作十年Q?650天,工作?000天左叻Iq些旉是不是花在最重要的事情上了,有效的、有产出的工作时间究竟有多少Q实在值得怀疑。时间管理是我在华ؓ工作当中最大的教训之一Q可能也是公司整体性的问题Q工作缺乏计划,l常是面临不断的被打断;或者是不断L断同事下属;或者是不断的会议、讨论,占去l大部分的时_或者是被自q兴趣所牵引Q花大量旉搞一些不着辚w的事情;或者是花很多时间在一些细枝末节的事情上,把很隑־重要的事情一直拖到非解决不可的地步然后被q仓促行事。现在回惻I如果真的能管理好q十q时_我觉得成应该大很多?br />  

Mark 2009-03-02 15:47 发表评论
]]>
Struts2讉K隐藏的request和sessionhttp://m.tkk7.com/mark1207/archive/2008/05/27/203105.htmlMarkMarkTue, 27 May 2008 01:26:00 GMThttp://m.tkk7.com/mark1207/archive/2008/05/27/203105.htmlhttp://m.tkk7.com/mark1207/comments/203105.htmlhttp://m.tkk7.com/mark1207/archive/2008/05/27/203105.html#Feedback0http://m.tkk7.com/mark1207/comments/commentRss/203105.htmlhttp://m.tkk7.com/mark1207/services/trackbacks/203105.html
在Struts1.*中,要想讉Krequest、response以及session{Servlet对象是很方便的,因ؓ它们一直是作ؓ形参在各个方法之间进行传递的Q而在Struts2中我们就很难看到它们的芳t了Q因为我们获得表单中的值都是通过预先讄好了的getҎ来得到的Q那么如果有些参数我们必通过request.getParametre或者session.getAttribute来得刎ͼ那么应该怎么做呢Q按照Max的教E上的说法,可以分ؓ两种QIoC方式和非IoC方式Q如何理解这两种方式的区别呢QIoC是Spring里面的特征之一Q字面意思是反{控制Q说白了是依赖注入Q比方说cA依赖cBQ那么就d的给A注入一个类B的对象,下面看一下这两种Ҏ的具体实现?br />
1Q非Ioc方式

q种方式主要是利用了com.opensymphony.xwork2.ActionContextcM及org.apache.struts2.ServletActionContextc,具体的方法如下所C?br /> 获得request对象Q?br />
AQHttpServletRequest request = ServletActionContext.getRequest ();
BQActionContext ct= ActionContext.getContext()
   HttpServletRequest request=(HttpServletRequest)ct.get(ServletActionContext.HTTP_REQUEST);

获得session对象Q?br />
在Struts2中底层的session都被装成了MapcdQ我们称之ؓSessionMapQ而^常我们所说的session则是指HttpSession对象Q具体的获得Ҏ如下所C?br />
AQMap session=ActionContext.getSession();
BQMap session=(Map)ActionContext.getContext().get(ActionContext.SESSION);
得到q个SessionMap之后我们可以对sessionq行d了,如果我们惛_到原始的HttpSession可以首先得到HttpServletRequest对象Q然后通过request.getSession()来取得原始的HttpSession对象。一般情况下SessionMap已经可以完成所有的工作Q我们不必再ȝ底层的session了?br />
2QIoC方式

q种方式相对来说变化比较少了,具体程如下所C?br /> 获得request对象Q?br />
W一步:让action实现ServletRequestAware接口
W二步:在action中声明一个HttpServletRequestcd的实例变?br /> W三步:在action中实现ServletRequestAware接口的setServletRequestҎQ实现方式很单,如下所C?br />          private HttpServletRequest request;
publicvoid setServletRequest(HttpServletRequest request) {
            this.request = request;
    }

获得Session对象(注意Q此时的session是SessionMapcd)Q?br />
W一步:让action实现SessionAware接口
W二步:在action中声明一个HttpServletRequestcd的实例变?br /> W三步:在action中实现SessionAware接口的setSessionҎQ实现方式很单,如下所C?br />          private Map session;
publicvoid setSession(Map session) {
            this. session = session;
    }
 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1721226

Mark 2008-05-27 09:26 发表评论
]]>
java基本cd计算与运符试Q一Q?/title><link>http://m.tkk7.com/mark1207/archive/2008/05/09/199449.html</link><dc:creator>Mark</dc:creator><author>Mark</author><pubDate>Fri, 09 May 2008 03:44:00 GMT</pubDate><guid>http://m.tkk7.com/mark1207/archive/2008/05/09/199449.html</guid><wfw:comment>http://m.tkk7.com/mark1207/comments/199449.html</wfw:comment><comments>http://m.tkk7.com/mark1207/archive/2008/05/09/199449.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/mark1207/comments/commentRss/199449.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/mark1207/services/trackbacks/199449.html</trackback:ping><description><![CDATA[H然有h问vQ自己做了些验Q把l果记录下来?br /> <br /> java的几U数值基本类型:int,short,long,float,double<br /> <br /> 试代码Q?br /> <br /> <p> public static void main(String[] args) {<br /> <br />   short x = 100;<br />   long b = 2;<br />   int a = 2;<br />   double y=1.1;<br />   float z=(float) 1.2;<br />   double c=1.1;<br />   float d=(float) 1.2;<br />   <br />   a=x+a;<br />   x+=1.1;<br />   b=b+a;<br />   y=y-1;<br />   z=z-1;<br />   c=c+1;<br />   d=d+1;<br />   <br />   System.out.println(a);<br />   System.out.println(x);<br />   System.out.println(b);<br />   System.out.println(z);<br />   System.out.println(y);<br />   System.out.println(c);<br />   System.out.println(d);</p> <p>  c=c+d;<br />   System.out.println(c);<br />   c=c-d;<br />   System.out.println(c);<br />   d=(float) (d-1.1);<br />   System.out.println(d);<br />  }<br /> <br /> q行l果Q?br /> <br /> 102<br /> 101<br /> 104<br /> 0.20000005<br /> 0.10000000000000009<br /> 2.1<br /> 2.2<br /> 4.3000000476837155<br /> 2.0999999999999996<br /> 1.1<br /> <br /> 试说明Q?br /> <br /> 不同cd数据做计时按照计算中最大范围数据类型返回,例如Qa=x+a;(如果负值对象是较小范围的类型就需要强转类型,否则会报?<br /> doublecd做加时运精度准,做减q算时有_ֺ偏差Q且和floatcd怺作加减操作都会出现精度缺失;<br /> +=W号做运不牉|cd转换问题Q按照负值对象的cdq回?br /> </p> <img src ="http://m.tkk7.com/mark1207/aggbug/199449.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/mark1207/" target="_blank">Mark</a> 2008-05-09 11:44 <a href="http://m.tkk7.com/mark1207/archive/2008/05/09/199449.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate的saveorUpdate与unsaved-valueQsaveQupdateQdeleteȝ(?http://m.tkk7.com/mark1207/archive/2008/05/05/198563.htmlMarkMarkMon, 05 May 2008 13:16:00 GMThttp://m.tkk7.com/mark1207/archive/2008/05/05/198563.htmlhttp://m.tkk7.com/mark1207/comments/198563.htmlhttp://m.tkk7.com/mark1207/archive/2008/05/05/198563.html#Feedback0http://m.tkk7.com/mark1207/comments/commentRss/198563.htmlhttp://m.tkk7.com/mark1207/services/trackbacks/198563.htmlq些操作对经怋用hibernate的同学已l很熟悉了,我也l常用但一些细节ƈ不了解,
最q遇到问题才开始有看了一下?/p>

在读完robbin的这两个_֍贴的时候,感觉清晰了很多,实好文章?
http://www.javaeye.com/topic/2712
http://www.javaeye.com/topic/1604?page=1
q有q个_֍?
http://www.javaeye.com/topic/7484
也很不错?/p>

里面ȝ的很好了Q我l合以上三个帖子、自q试验Q版本hibernate-3.0.5Q和Hibernate文档也ȝ了一点,加深理解?strong>希望对刚开始学Hibernate的同学有所帮助?/strong>

一、saveorUpdate与unsaved-value
到底是savaq是update
Hibernate需要判断被操作的对象究竟是一个已l持久化q的持久对象q是临时对象?
1Q.主键Hibernate的id generator产生
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="increment" />
</id>

Project project = new Project();
project.setId(XXX);
this.projectDao.saveOrUpdate(project);

1、默认unsaved-value="null"
主键是对象类型,hebernate判断project的主键是否位nullQ来判断project是否已被持久?/strong>
是的话,对project对象发送save(project)Q?
若自p|了主键则直接生成update的sqlQ发送update(project)Q即便数据库里没有那条记录?
主键是基本类型如int/long/double/
自己讄unsaved-null="0"?
所以这L话save和update操作肯定不会报错?/p>

2、unsaved-value="none"Q?
׃不论主键属性ؓM|都不可能为noneQ因此HibernateL对project对象发送update(project)

3、unsaved-value="any"
׃不论主键属性ؓM|都肯定ؓanyQ因此HibernateL对project对象发送save(project)Qhibernate生成主键?/p>

Hibernate文中写?
saveOrUpdate()完成了如下工作:
如果对象已经在这个session中持久化q了Q什么都不用?
如果对象没有标识|调用save()来保存它
如果对象的标识gunsaved-value中的条g匚wQ调用save()来保存它
如果对象使用了版?version或timestamp),那么除非讄unsaved-value="undefined",版本查会发生在标识符查之?
如果q个session中有另外一个对象具有同L标识W,抛出一个异?

2Q.主键p己来赋?/strong>
<id name="id" type="java.lang.Long">
<column name="ID" precision="22" scale="0" />
<generator class="assigned" />
</id>

Project project = new Project();
project.setId(XXX);
this.projectDao.saveOrUpdate(project);

1、默认unsaved-value="null"
q时有所不同Qhibernate会根据主键生一个selectQ来判断此对象是否已被持久化
已被持久化则updateQ未被持久化则save?
2、unsaved-value="none"Qupdate对象Q同?/p>

3、unsaved-value="any" Qsave对象Q?
如果自己自己讄的ID在数据库中已存在Q则报错?/p>

二、save与update操作
昑ּ的用session.save()或者session.update()操作一个对象的时候,实际上是用不到unsaved-value?
在同一SessionQsave没什么可说得
update对象? 最直接的更改一个对象的Ҏ是load()它,保持Session打开Q然后直接修改即?
Session s =…
Project p = (Project) sess.load(Project.class, id) );
p.setName(“test”);
s.flush();
不用调用s.update(p);hibernate能察觉到它的变化Q会自动更新。当然显C用的话也不会?/p>

Hibernate文中写?
update()Ҏ在下列情形下使用Q?
E序在前面的session中装载了对象
对象被传递到UIQ界面)?
对该对象q行了一些修?
对象被传递回业务?
应用E序在第二个session中调用update()保存修改

三、delete操作
删除时直接自己构造一个project卛_删除
this.projectDao.delete(preojct);

以前删除我是q样写的
public void deleteProject(String id) {
Project project = (Project) this.projectDao.get(Project.class, id);
if (project != null) {
this.projectDao.delete(project);
}
卌样也是可以的
Project project = new Project();
project.setId(id);
this.projectDao.delete(project).

如果有联关p,需要把U联的子cM构造出来addq去Q同样可以删除?/p>

Mark 2008-05-05 21:16 发表评论
]]>
J2EE基础Q对于Spring初学者的学习Q{Q?/title><link>http://m.tkk7.com/mark1207/archive/2008/04/21/194414.html</link><dc:creator>Mark</dc:creator><author>Mark</author><pubDate>Sun, 20 Apr 2008 16:40:00 GMT</pubDate><guid>http://m.tkk7.com/mark1207/archive/2008/04/21/194414.html</guid><wfw:comment>http://m.tkk7.com/mark1207/comments/194414.html</wfw:comment><comments>http://m.tkk7.com/mark1207/archive/2008/04/21/194414.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/mark1207/comments/commentRss/194414.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/mark1207/services/trackbacks/194414.html</trackback:ping><description><![CDATA[<p align="justify">一、首先Java的基、面向对象的基础和设计模式的基础知识是必不可的?<br /> <br />   关于设计模式我觉得不用学太多Q但以下三个模式是学习Spring必不可少的:factory模式Q包括简单工厂和抽象工厂Q,Strategy模式QTemplate method模式。如果不掌握q些你就Ҏ没法领悟Spring的精髓,只能依样画葫芦地照搬Q这是很可怕的事?<br /> <br />   我这里强烈徏议的书可能让人有Ҏ外,那就是Expert one on one J2EE design and development的第四章Q这一章不仅仅是Spring初学者,而是M搞Java开发的人必ȝ一章。经典! <br /> <br />   二、接下可以看一些Spring的入门书c?<br /> <br />   其实我自己没怎么看过q方面的书,我当时只看过Spring的referenceQ不q现在这斚w的书好象多的是,而Spring reference看v来还是有些吃力的。JavaEye上很多h夏昕的Spring开发指南,据说入门很容易。另外的入门书应该是Spring live或Spring in action。我大概扫了一下,Spring live是一本只讲怎么做而不讲ؓ什么的书,我不太喜Ƣ(偶尔参考一下倒不错)Q不q有些h特别喜欢q样的书Q看自己的个人爱好吧?<br /> <br />   三、研I几个用Spring做的开源项?<br /> <br />   理论q是要与实际l合Q所以看完书后是要看实际的项目的。很多h喜欢appfuseQ我觉得appfuseq东西太多Q真正实质性的内容又太。我更喜ƢSpring自带的jpetstoreQ这是一个非常完整的例子Q看完后Spring的基本用法应该都能掌握?<br /> <br />   四、开始做实际的项?<br /> <br />   在上q这些都完备以后Q我觉得应该要去实际目中锻g。当然ƈ不是每h都有q样的机会的Q这时只能自己做个玩具项目啦。项目的ȝ是非常关键的Q其实每个h都清楚,我就不重复了?<br /> <br />   五、l深入学?<br /> <br />   l过目的锤|对Spring的用法和原理有了一定的了解的时候,才有可能真正掌握Spring的精髓。这时要ȝ书才是Rod Johnson的三本经典名著,分别是: <br /> <br />   Expert one on one J2ee design and development <br /> <br />   Expert one on one J2ee without EJB <br /> <br />   Professional Java Development with SpringFramework <br /> <br />   前两本书的经典程度我׃说了Q只有读了它们,才能真正了解Spring的设计意图,掌握Spring的精髓?<br /> <br />   W三本书是我强烈不徏议初学者读的书。里面的东西深入而全Q但是原理讲解得又不够深Q很Ҏ让初学者犯qL。但是却是Spring的高U用户必ȝ一本书Q还有一本pro Spring据说也不错,不过我没读过Q。我q几天会写一下这本书的书评?<br /> <br />   当然q个阶段与第四阶D|交错的,边读书边做项目学到的东西才会更多的?<br /> <br />   六、分析源代码Q扩展Spring <br /> <br />   有h认ؓ没有必要分析Spring的源代码Q因是很累h又不计好的事。但是要x为Spring的高U用Pq是必经的阶Dc在学习的过E中Q我们学到的不仅是SpringQ更重要的是他的设计思想。不怎样Q看牛h的源代码是绝Ҏ好处的。不q这是一个很累h的过E,要有思考准备哦Q?/p> <img src ="http://m.tkk7.com/mark1207/aggbug/194414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/mark1207/" target="_blank">Mark</a> 2008-04-21 00:40 <a href="http://m.tkk7.com/mark1207/archive/2008/04/21/194414.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JavaE序员的学习目标Q破坏源E序Q(转,_ֽ文章Q推荐)http://m.tkk7.com/mark1207/archive/2008/04/21/194413.htmlMarkMarkSun, 20 Apr 2008 16:35:00 GMThttp://m.tkk7.com/mark1207/archive/2008/04/21/194413.htmlhttp://m.tkk7.com/mark1207/comments/194413.htmlhttp://m.tkk7.com/mark1207/archive/2008/04/21/194413.html#Feedback0http://m.tkk7.com/mark1207/comments/commentRss/194413.htmlhttp://m.tkk7.com/mark1207/services/trackbacks/194413.htmlJava作ؓ一门编E语aQ最好的学习Ҏ是写代码。当你学习一个类以后Q你可以自己写个简单的例子E序来运行一下,看看有什么结果,然后再多调用几个cȝҎQ看看运行结果,q样非常直观的把cȝ学会了,而且记忆非常深刻。然后不应该满把代码调通,你应该想想看如果我不q样写,换个方式Q再试试行不行。记得哪个高q学习编E就是个破坏的过E,把书上的例子Q自己学习Documentation~写的例子在q行通过以后Q不断的试着用不同的Ҏ实现Q不断的试破坏代码的结构,看看它会有什么结果。通过q样的方式,你会很彻底的很精通的掌握Java。D个例子,我们都编q?a target="_bank">Hello Worldq个E序?   
public class HelloWorld {

  public static void main(String[] args) {

  System.out.println("Hello World");

  }

  }


        很多初学者不是很理解Z么mainҎ一定要q样来定义public static void main(String[] args)Q能不能不这样写?包括我刚学习Java的时候也有这L疑问。想知道{案?很简单,你把main改个名字q行一下,看看报什么错误,然后Ҏ出错信息q行分析;把main的public取掉Q在试试看,报什么错?staticLq能不能q行;不知道mainҎ是否一定要传一个String[]数组的,把String[]ҎQ改?a target="_bank">int[]Q或者String试试?不知道是否必dargs参数名称的,也可以把argsҎ别的名字Q看看运行结果如何。我当初学习Java的时候就是这样做的,把Hello WorldE序反复改了七八ơ,不断q行Q分析运行结果,最后就d明白Z么mainҎ是这样定义的了?

  此外Q我对于staticQpublicQprivateQExceptionQtry{ }catch {}finally{}{等一开始都不是很懂Q都是把参考书上面的例子运行成功,然后开始破坏它Q不断的Ҏ自己心里面的疑问来重新改写程序,看看能不能运行,q行出来是个什么样子,是否可以得到预期的结果。这栯然比较费旉Q不q一个例子程序这样反复破坏几ơ之后。我对q个相关的知识彻底学通了。有时候甚x意写一些错误的代码来运行,看看能否得到预期的运行错误。这样对于编E的掌握是及其深ȝ。其中特别值得一提的?a target="_bank">JDK有一个非常棒的调试功?verbose?/p>

  java –verbose

  javac –verbose 以及其它很多JDK工具都有q个选项

  -verbose 可以昄在命令执行的q程中,JVM都依ơ加载哪里ClassQ通过q些宝贵的调试信息,可以帮助我们分析出JVM在执行的q程中都q了些什么。另外,自己在学习过E中Q写的很多的q种破坏例程Q应该有意识的分门别cȝ保存下来Q在工作中积累的典型例程也应该定期整理,日积月篏Q自己就有了一个代码库了。遇到类似的问题Q到代码库里?Copy & Paste QSearch & ReplaceQ就好了Q极大提高了开发速度。最理想的情冉|把一些通用的例E自己再抽象一层,形成一个通用的类库,装好。那么可复用性就更强了。所以我觉得其实不是特别需要例E的Q自己写的破坏例E就是最好的例子Q如果你实在对自己写的代码不攑ֿ的话Q我强烈推荐你看看JDK基础cd的Java源代码。在JDK安装目录下面会有一个src.zipQ解开来就可以完整的看到整个JDK基础cdQ也是rt.jar的Java源代码,你可以参考一?a target="_bank">Sun是怎么写JavaE序的,规范是什么样子的。我自己在学习Java的类库的时候,当有些地方理解的不是很清楚的时候,或者想更加清晰的理解运作的l节的时候,往往会打开相应的类的源代码Q通过看源代码Q所有的问题都会一扫而空?/p>

Mark 2008-04-21 00:35 发表评论
]]>
Ajax 在企业应用上的优势(转)http://m.tkk7.com/mark1207/archive/2008/04/21/194412.htmlMarkMarkSun, 20 Apr 2008 16:31:00 GMThttp://m.tkk7.com/mark1207/archive/2008/04/21/194412.htmlhttp://m.tkk7.com/mark1207/comments/194412.htmlhttp://m.tkk7.com/mark1207/archive/2008/04/21/194412.html#Feedback0http://m.tkk7.com/mark1207/comments/commentRss/194412.htmlhttp://m.tkk7.com/mark1207/services/trackbacks/194412.htmlAjaxQ供应商们正在设法降低它的用难度?

  如今的网l用户都被宠坏了。他们一旦在h公司(Google)或Flickr|站体验q快L响应和良好的互动功能后,传统的点?{待式的Web界面再也无法满他们的需求了。这些功能正是通过Ajax来实现的。由于Ajax所带来的商业h值日益凸玎ͼ微Y公司(Microsoft)?a target="_bank">开?/a>的开发者工作^?a target="_bank">Eclipse的支持者们Q最q正U极开发一些适合Ajax的^収ͼ以便用户能够方便地利用这U工h创徏互动式的Web应用?/p>

  Ajax{网l开发工具和技术与传统的服务器端Y件不同。服务器端Y件普遍具有成熟的技术标准,而Ajax{网l开发技术尚q处在不断的变化中。Ajax是新兴的|络开发技术的象征。它?a target="_bank">JavaScript?a target="_bank">XML技术结合在一P用户每次调用新数据时Q无需反复向服务器发出hQ而是在浏览器的缓存区预先获取下次可能用到的数据,界面的响应速度因此得到了显著提升。Google公司的地图服?Google Maps)是Ajax应用最典型的例子之一?/p>

  不久前,Eclipse开源项目的领导厂商Q包括国际商业机器公?IBM)、英特尔公司(Intel)、红帽公?Red Hat)和思爱普Y件系l公?SAP){宣布,把Eclipse从开发者工作^台扩展成能与微Y公司在企业市场展开竞争的新q_。在日前召开的EclipseCon大会上,Eclipse基金会执行ȝq克·cxU维?Mike Milinkovich)表示Q?#8220;今后3q_微Y公司可能会不断说服一些企业放弃Win32 APIQƈ转向(Windows)Vista?#8221;然而,cxU维奇却企业最好采用Eclipse的富客户q_。因为开发者采用这套组Ӟ可以在企业桌面应用E序创徏交互性更好的界面Q一ơ开发完毕后Q在视窗pȝ(Windows)?a target="_bank">Linux或者苹果系l上都能够运行?/p>

  Eclipse行动

  Eclipse目l正在设法ؓ用户提供除微软公品之外的更多选择。不久前Q该目l推Z一个开源项目Rich Ajax Platform(下称“RAP”)Q吸引开发h员用Eclipse来提供界面组Ӟ包括视窗风格的菜单、拖动条以及支持拖曳功能的弹出窗?Drag-and-Drop Window Expanders){,目的是Web应用在浏览器中更h交互性?/p>

  不久前,IBM公司与Google公司、Laszlopȝ公司、Mozilla公司、网威公?Novell)、甲骨文公司(Oracle)、红帽公司和雅虎公司(Yahoo){多家企业,共同合作创徏了一开源项目Ajax Toolkit FrameworkQ旨在徏立一U基于Eclipse的Y件系l,以降低在Eclipseq_内用Ajax工具的难度。在此之前,使用Ajax开发程序ƈ不那么容易。Google公司是在开发Google Maps的过E中发现q一点的。它发现地图上标C的阴影或者两点之间的N路线Q都会因为浏览器的用差异而生不同的昄效果。不q,Google Maps产品l理布莱?#183;泰勒(Bret Taylor)也表C:“Google公司在创建工具包斚w投入了大量精力,因此大家对这些细节方面大可放心?#8221;Eclipse目在像Google公司q样的大公司帮助下,正在采用Google公司的方法,以便使所有企业都能更方便C用Ajax技术?/p>

  而与此同Ӟ微Y公司也ƈ没有在原地踏步。在日前举行的微软网l技术大会上Q公怸席比?#183;盖茨(Bill Gates)发表了一主题演讌Ӏ盖茨在讲话中承认,C轮的Web应用热潮卛_到来。一些网站变得像传统软g的组件一P可以被API调用Q以及像子程序一栯行?#8220;现在Q富有创新想法的时代已经到来?#8221;盖茨表示Q?#8220;q是软g的新时代?#8221;

  日前Q微软公司发布了一个自有Ajax开发工具?a target="_bank">Atlas的升U测试版。它可以在应用程序的客户端创建标准的JavaScript。微软公怹开发了ZJavaScript的服务器端扩展程序,来优化Ajax应用在视H电脑上的执行。这P用Atlas~写的YӞ可以与Windows Vista的各U元素生互动。而且Q采用Atlas~写的Web应用特别能够与Vista的其他程序生互动,比如日历、即旉讯联系人、照相簿和媒体播放Y件等。微软公司Web工具产品l理布赖?#183;戈d法伯(Brian Goldfarb)q透露_“公司正在考虑其他更丰富的应用场景Q从而可以更好地?a target="_bank">IE览器和视窗pȝq行配合?

  不过Q微软公司在发布代号?#8220;Orcas”的下一版本Visual Studio Ӟ才会正式推出Atlas工具。因此,距离Atlas的面世还要等上好几年的时间。而与此同ӞEclipse却在利用Ajax工具包而快速发展?/p>

  微Y公司的优势就在于Q能够把Atlas工具与公司的视窗pȝ、SQL Server数据库以及其他Y件整合在一赗不q,IBM公司也以开源代码的形式Q捐献出了Eclipse的核心工作^台技术,因ؓ它也希望Java工具拥有与微软公司类似的集成度?/p>

  格雷?#183;斯坦?Greg Stein)是Google公司的工E经理?a target="_bank">Apache软g基金会主席以及Apache Web服务器等目的赞助h。斯坦因认ؓQ?#8220;Eclipse是一U集成的开发环境,因此会在一定程度上化Ajax应用的开发难度?#8221;而d国小型Y件公司Innoopract公司的管理ȝU亨·克劳?Jochen Krause)也预说Q这个^?#8220;会把Eclipse的应用扩展到一个不同的?a target="_bank">?/a>Q即互动Web应用领域?#8221;RAP目是p家公司提出的?/p>

  单ؓ?/strong>

  Eclipse目会l企业带来一定的帮助。有了Eclipse工具包,他们无需掌握专门的JavaScript知识Q可以在Eclipse的框架下工作。而大多数C语言?a target="_bank">C++、Cobol、Java?a target="_bank">PHPE序员,对于Eclipse都不陌生。加拿大研究委员?National Research Council Canada)计算机系l官员丹?#183;辄?Danny D’amours)表示Q?#8220;我们的一些应用程序,响应旉会变得更快捷Q而且q能够有更好的在U互动?#8221;在Eclipse的Ajax framework目中,“Ajax会整合成ؓEclipse开发环境的一部分?#8221;辄补充说道?/p>

  辄会考虑使用微Y公司的Atlas?看上去,他似乎对此不感兴。的,微Y和非微Y阵营的对抗似乎依然处于紧张状态。尽企业往往会同旉用Visual Studio与Eclipsebased的开发工P很可能也包括两者的Ajax和Web应用技术?/p>

  企业通过使用AjaxQ可以强化网站的功能Q提高用户体验。他们可以滚动屏q浏览大量的信息Q或者方便地把物品拖入在U购物RQ或者在UK|品而无需不断地刷新页面。其实,不仅仅是Googleq样的公司在使用AjaxQLands’End|站和沃沃公司(Volvo){也在用Ajax技术让潜在的客戯计他们的产品或汽车,而且Sabre控股公司(Sabre Holdings)也采用了Ajax技术来减少其航I公司客户用的飞行计划软g的响应时间?/p>

Mark 2008-04-21 00:31 发表评论
]]>
Java关键字new和newInstance的区别方??http://m.tkk7.com/mark1207/archive/2008/04/21/194411.htmlMarkMarkSun, 20 Apr 2008 16:19:00 GMThttp://m.tkk7.com/mark1207/archive/2008/04/21/194411.htmlhttp://m.tkk7.com/mark1207/comments/194411.htmlhttp://m.tkk7.com/mark1207/archive/2008/04/21/194411.html#Feedback0http://m.tkk7.com/mark1207/comments/commentRss/194411.htmlhttp://m.tkk7.com/mark1207/services/trackbacks/194411.html  Java中工厂模式经怋用newInstance()Ҏ来创建对象,因此从ؓ什么要使用工厂模式上可以找到具体答案?例如Q?/p>

  
class c = Class.forName(“Example”);

  factory = (ExampleInterface)c.newInstance();

        其中ExampleInterface是Example的接口,可以写成如下形式Q?/p>

  
String className = "Example";

  class c = Class.forName(className);

  factory = (ExampleInterface)c.newInstance();

        q一步可以写成如下Ş式:

  
String className = readfromXMlConfig;//从xml 配置文g中获得字W串

  class c = Class.forName(className);

  factory = (ExampleInterface)c.newInstance();

        上面代码已经不存在Example的类名称Q它的优ҎQ无论ExamplecL么变化Q上qC码不变,甚至可以更换Example的兄弟类Example2 , Example3 , Example4……Q只要他们承ExampleInterface可以?/p>

  ?a target="_bank">JVM的角度看Q我们用关键字new创徏一个类的时候,q个cd以没有被加蝲。但是用newInstance()Ҏ的时候,必M证:1、这个类已经加蝲;2、这个类已经q接了。而完成上面两个步骤的正是Class的静态方法forName()所完成的,q个静态方法调用了启动cd载器Q即加蝲java API的那个加载器?/p>

  现在可以看出QnewInstance()实际上是把newq个方式分解Z步,即首先调用Class加蝲Ҏ加蝲某个c,然后实例化?q样分步的好处是显而易见的。我们可以在调用class的静态加载方法forName时获得更好的灉|性,提供l了一U降耦的手段?/p>

  最后用最单的描述来区分new关键字和newInstance()Ҏ的区别:

  newInstance: q型。低效率。只能调用无参构造?/p>

  new: 强类型。相寚w效。能调用Mpublic构造?/p>

Mark 2008-04-21 00:19 发表评论
]]>
西方国家q次Z么会如次的团l? Q{Q?/title><link>http://m.tkk7.com/mark1207/archive/2008/04/18/194081.html</link><dc:creator>Mark</dc:creator><author>Mark</author><pubDate>Fri, 18 Apr 2008 09:37:00 GMT</pubDate><guid>http://m.tkk7.com/mark1207/archive/2008/04/18/194081.html</guid><wfw:comment>http://m.tkk7.com/mark1207/comments/194081.html</wfw:comment><comments>http://m.tkk7.com/mark1207/archive/2008/04/18/194081.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.tkk7.com/mark1207/comments/commentRss/194081.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/mark1207/services/trackbacks/194081.html</trackback:ping><description><![CDATA[西方国家q次Z么会如次的团l? <p><strong><font size="3">  Ƨ洲的d国、法国,一般是不会冒着q样的风险得|中国这个经大国的。伊拉克战争时d国和法国都和中国站在一边,不支持美国对伊动武。ؓ伊拉克而得|美国,不符合他们的国家利益啊。法?0q前Z不得|中国,l止了对台军售,损失了几十亿的收入。而ؓ什么今天会冒着q么大的风险公然与中国ؓ敌?隑ֈ是Z和自己根本不相干的西藏和奥运Q?br />        而另一个值得让h思考的问题是,一向是西方老大的美国,Z么这一ơ这么低调?让英、法、d在前台唱主角Q对于西藏,西方国家很清楚,再怎么闹,中国也不可能做出让步。对于奥q,他们也很清楚Q就西方国家没有一个领gh出席北京奥运会,中国也就是面子上q不ȝŞ了,对中国有实质影响吗?没有?br />        所以,西藏只是一个幌子,奥运也只是一个幌子。那么他们到底想从中国得C么? <br />        西方国家正面临着10q来l济陷入衰退的危险,他们需要有一个有实力的国家ؓq次西方l济的衰退买单。不a而喻Q他们不U而同的想C中国?做ؓ一个普通老百姓,我对国际l济没有什么研IӞ?008q一开始我q是隐约C国经面临的危险Q现在也想起了温ȝ说过的一句话Q?008q也许是中国l济最困难的一q。现在想h在进行的q场闹剧Q真的有点让人毛骨耸然了。美国不是低调,是很冷静Q他们早已经不露声色的出招了Q?<br />        1、美元贬倹{因为美元贬|人民币升|中国16000亿美元的外汇储备已经人间蒸发?000亿美元,而且q在l箋蒸发中。更要命的是Q由于h民币升|中国出口产品成本增加Q沉重的打击中国的出口,许多企业面倒闭的危险。因Z国企业的倒闭Q西方国家生产企业就可以开始生产复苏?<br />        2、通过高a价以拖跨中国l济。中国经的高速发展需要大量的q品原aQ而西方国家则不断的提高石油储备,造成高a价一直持l,以增加中国经徏讄成本。这是国Z么要打伊拉克、打伊朗的原因:控制xa是控制了经命脉?br />        3、助涨中国金融沫。h民币升|大量热钱自然要涌入中国,造成中国高成本、高币值的l济泡沫。或许这是Z么政府就是背着千夫所指都l不救市的原因,是Z打击国际投机资本在中国的恶意圈钱行ؓQ而另一斚w却不得不面对成千上万痛不Ʋ生的股民的N而有可能造成国内C会动荡的危险。现在看了,什么西藏事件、抵制奥q都是不ؓ道的事?br />        所以,“西藏”?#8220;奥运”只是西方国家l架的两?#8220;”Q他们真正的目的不是西藏Q也不是奥运Q而是以此挟,要中国ؓ他们的经衰退买单。不买单Q搞׃Q要d家一h。买单:坐下来谈Q你{应我我息事宁人!    <br />        中国政府的冷静是对的Q死L住经徏设这个中心不动摇才是关键。经如果一跨,那就什么都跨了?国民要冷静,要相互理解,不要l政府出N。还是那句话Q发展才是硬道理Q压倒一切的是稳定。一个普通的中国人都能预料到Q我怿政府能从容应寏V我们要支持政府打赢q场表面上看h是舆论战Q而事实上是经的战争  <br /> 我们需要更团结  希望大家奔走先告<br /> 1、多省a  多乘坐公׃通出?nbsp; 能做车就不要开?能开H户׃要开 I<br /> 2、多省电  路灯不用关掉, 能用x׃要开音箱Q家电不用就要把整个开x下来 又省电又安全 希望政府把夜景工E的灯光关?nbsp; <br /> 3、支持国?能买到国货就不要买外国货 促进内需 pl自׃h?nbsp;  <br /> 4、努力工?多开发和刉更好的产品  实业才是救国之本<br /> 5、尊重自?重国h 不要崇洋媚外  <br /> 6、告诉台?西藏 包括其他民族的青q?Z么我们现在还q么痛苦别的国家看不P因ؓ我们的祖辈太喜欢H里斗,?nbsp; <br /> 7、告诉n边的每一个h 中国只有强大才会有更好的?Q落后就要挨打挨?nbsp; <br /> 8、政府在q步 督促政府更快的进?而不是推C 那样高兴的是日 痛苦的是自己<br /> </font></strong></p> <img src ="http://m.tkk7.com/mark1207/aggbug/194081.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/mark1207/" target="_blank">Mark</a> 2008-04-18 17:37 <a href="http://m.tkk7.com/mark1207/archive/2008/04/18/194081.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java语言中的参数传??http://m.tkk7.com/mark1207/archive/2008/04/18/194071.htmlMarkMarkFri, 18 Apr 2008 09:01:00 GMThttp://m.tkk7.com/mark1207/archive/2008/04/18/194071.htmlhttp://m.tkk7.com/mark1207/comments/194071.htmlhttp://m.tkk7.com/mark1207/archive/2008/04/18/194071.html#Feedback0http://m.tkk7.com/mark1207/comments/commentRss/194071.htmlhttp://m.tkk7.com/mark1207/services/trackbacks/194071.html         和其它程序设计语acMQJava语言的参C递也分ؓ两种Q?/div>
1?nbsp;按g?by value)
适用范围Q?U基本数据类型、String对象
特点Q在内存中复制一份数据,把复制后的数据传递到Ҏ内部
作用Q在Ҏ内部改变参数的|外部数据不会跟着发生改变
2?nbsp;按址传?by address)
适用范围Q数l、除String以外的其他所有类型的对象
特点Q将对象的地址传递到Ҏ内部
作用Q在Ҏ内部修改对象的内容,外部数据也会跟着发生改变
基础CZ代码Q?/div>
    public class Test1{
    public static void t1(int n){
        n = 10;
    }
    public static void t2(String s){
               s = "123";
    }
    public static void t3(int[] array){
        array[0] = 2;
    }
    public static void main(String[] args){
           int m = 5;
        t1(m);
        System.out.println(m);
        String s1 = "abc";
        t2(s1);
        System.out.println(s1);
           int[] arr = {1,2,3,4};
        t3(arr);
        System.out.println(arr[0]);
    }   
   }
         按照上面的参C递规则,该代码的输出l果应该是:5 abc 2。因为intcd是按g递,所以把参数m传递到Ҏt1Ӟ相当于又复制了一份m的|在方法t 1内部修改的是复制后的|所以m的g变,s1的输出和mcM。而arr是数l,属于按址传递,也就是把arr的地址传递到了方法t3内部Q在Ҏt3内部修改数组中的值时Q原来的内容也发生改变?/div>
         以上Ҏ是Java语言中的规定Q在语法上无法指定参C递是按g递还是按址传递,但是可以通过下面的变换实玎ͼ
1?nbsp;对于按g递的参数Q如果需要在Ҏ调用以后修改参数的|可以利用q回值来实现?/div>
2?nbsp;对于按g递的参数Q如果需要在Ҏ内部修改时原来的参数不改变,则可以在Ҏ内部重新创徏该对象实现?/div>
CZ代码如下Q?/div>
public class Test2{
    public static int t1(int n){
        n = 10;
        return n;
    }
    public static String t2(String s){
                  s = "123";
                  return  s;
    }
    public static void t3(int[] array){
        //创徏新的数组q赋?/div>
        int[] newArray = new int[array.length];
        //数据拯
       System.arraycopy(array,0,newArray,0,array.length);
        newArray[0] = 2;
    }
    public static void main(String[] args){
                  int m = 5;
        //重新赋?/div>
        m = t1(m);
        System.out.println(m);
        String s1 = "abc";
        //重新赋?/div>
        s1 = t2(s1);
        System.out.println(s1);
                  int[] arr = {1,2,3,4};
        t3(arr);
        System.out.println(arr[0]);
    }   
}
q样Q程序的输出l果将是:10 123   1?/div>
在实际的E序开发中Q可以根据需要用类似的l构来进行实现?/div>
         下面再介l一个参C递的常见应用Q利用参C递实现返回|q样的功能在IOc设计的readҎ中大量用。示例代码如下:
public class Test3{
    public static void initArray(int[] array){
                  for(int i = 0;i < array.length;i++){
                            array[i] = i;
        }
    }
    public static void main(String[] args){
                  int[] a = new int[10];
        initArray(a);
        for(int i = 0;i < a.length;i++){
                            System.out.println(a[i]);
        }
    }
}
         在该CZ代码中,在initArrayҎ内部修改了数l的g后,外部数组a的g会发生改变,间接实现了返回值的效果。当Ӟ在该CZ代码中,因ؓ只返回一个参敎ͼ所以作用体现的不明显,如果需要返回多个参数时Q用按址传递是一U不错的L?/div>
    因时间仓促,疏漏之处隑օQ请大家U极补充和指正?/div>

Mark 2008-04-18 17:01 发表评论
]]> վ֩ģ壺 91ҹƷһ| þav뾫Ʒ˳| ӰԺ| 91㽶߹ۿ| ƷպAV| 88avѹۿ| AVۺɫ͵| ԭƵ99| ۺһ| 鶹˾Ʒ| ŮƵƵaѴȫƵ| ޾Ʒھþ| ߾ƷƵѹۿ| AV뾫Ʒɫҹ߹ۿ| 777ˬѿһ| ޹ֻߵӰbd| aƬѹۿ| 91˾Ʒ޾Ʒ| ޾Ʒa߹ۿ| ɫɫۺվ | պŷvƬ| ޹˳ɾƷ| ߹ۿ| ޳avƬ| ĻmvƵ8| ɫݺɫۺƵ | ˳վ߹ۿ| ƬAëƬ| ۺƵ߹ۿ| ˬִ̼߳| wwwƵ| ѿ߾Ʒһ| ŮaƵ| ȫƵ߹ۿ| 33333| þþþavӰ| 99re6ƵƷ| ޾Ʒþ| þۺպ޾Ʒɫ| Ļ˾Ʒһվ| ʪôýˬƵ|