在反射机制中,Class.forName(className).newInstance();
如果你想通过反射机制得到当前包的某个类的实例,传入类名的同时必须传入包名。
例如在包com.coderdream下有两个类Shape,ShapeFactory,如果你想在ShapeFactory中的某个方法中用反射的方法生成Shape类,那么如果直接使用:
Class.forName("Shape").newInstance();
会抛出找不到类的异常,因为确实没有Shape类,而只有com.coderdream.Shape类。
但是我们传参数时一般只会传不带包的类名,那么我们可以这样处理:
String packageName = new ShapeFactory().getClass().getPackage().getName();
return (Shape) Class.forName(packageName + "." + className).newInstance();
其中 new ShapeFactory().getClass().getPackage().getName() 会得到包名“com.coderdream”,我们只要加上“.”和类名就没有问题了。
posted @
2007-11-23 15:34 CoderDream 阅读(6343) |
评论 (2) |
编辑 收藏
我没有什么超人的记忆,也不属于别人说的那种牛人,但是我就是在三个月的时间内把《新概念英语》三册&四册的共108篇文章全背下来了。
第一篇:过去将来时(思想准备篇)
有人会问:你为什么要把它背下来呢?我觉的学一学就蛮好的吗?
故事的起因一个真实的小故事:(2002年的夏天在新东方听到)
新东方有个学员现在在Duke大学,他从高一开始背《新概念英语》第三册,背到高三就背完了。高考考进了北大,进北大后,他本来不想再背了。但当他背给同学听的时候,其他同学都露出了羡慕的眼光,于是,为了这种虚荣心,他就坚持背第四册,把第三、四册都背得滚瓜烂熟,他熟到什么地步呢,有人把其中任何一句说出来,把能把上一句和下一句连接下去,而且语音非常标准,因为他是模仿着磁带来背的。后来他去了美国Duke大学,他给新东方的教师写信,老师不敢回,因为老师对他的英文有畏惧感,他的英文学得太好,只能给他回中文信,并告诉他不是不会写英文,而是想让他温习温习中文,不要忘记祖国的语言。
这位学员到美国第一个星期写文章,教授把他叫过去说他的文章是剽窃的,因为他的文章写得太好了,教授说:"我20年教书没有教出这么漂亮的文章来。"这个学员说,我没有办法证明我能写出这么优秀的文章,但我告诉你,我能背108篇文章,而且背得非常熟练,你想不想听。结果,他没有背完两篇,教授就哭了起来,为什么?因为这个教授想一想自己教了20年了,居然一篇文章也没有背过,被中国学生背掉了,所以很难过……
从那个时候起我就有一种冲动,有一天我相信我也能将这108篇文章全背下来,看来我是做到了。
我相信也会有人问:你在背诵的过程中最大的困难是什么?我的回答就是:“坚持”。其实我能够坚持下来也是原于一个我在《读者》上看到的一个小故事:
古希腊哲学家苏格拉底在给学生上第一节课的时候,要求他的学生在每天上课之前都向上挥一下手。过了一个星期,他发现已经有一半的学生不在挥手了;过了一个月,他发现只剩下三分之一在挥手;过了半年,他再看,发现最后只剩下一个人在挥手,那个人就是柏拉图。柏拉图后来成为伟大的思想家和哲学家。
其实任何一件事到最后都是“简单的重复和机械的劳动”。只要你做到了,ok,你就有可能在一个领域做到很前列,甚至是Number One。
第二篇:现在进行时(背诵具体策略篇)
无论我们学习什么,都可能给自己做一个计划或者是有一个步奏。
在很早以前就听说过王国维的三种境界:
昨夜西风凋碧树,独上高楼望尽天涯路。
衣带渐宽终不悔,为伊消得人憔悴。
众里寻她前百度,慕然回首那人却在灯火阑珊处。
这些话是不是让你在做事情上有一定的启发呢?
我很喜欢《毛主席诗词》,所以我也有了用《毛主席诗词》串联起来我的做事三境界。
雄关漫道真如铁,而今迈步从头跃。(此乃第一境界)
一万年太久,只征朝夕。(此乃第二境界)
待到山花烂漫时,“我”在丛中笑。(此乃终极目标)
三个月的正式背诵,每天基本上是狂背10-12小时,对我来说既是一种痛苦又是一种快乐。痛苦,是因为太累了,有时一看到《新概念》我都恶心的想吐;快乐,看着自己一天天一篇篇把这些文章背掉,那种愉悦的心情是不言而喻的。也许这就叫作“痛,并快乐着”吧。
在这个“痛,并快乐着”中我也经历了几个过程:
1。从小我背课文就拿者一本书在我自己的小屋里低着头边走边背(出声背)。在一开始背《新概念》的时候我也是这样,结果一天下来弄得我简直是精疲力尽,而且效率不高,这种方法很快就被淘汰。
2。我发现坐在自己的床上背诵(出声音背)效率大大的提高,这样一天下来,感觉除了嗓子有点累还是蛮轻松的。就这样我在4月30日把第三册背完了。想想第三册有60课我仅用了一个多月(哦,我的背诵是从2003年3月20日开始)就搞定,那么第四册才48课估计一个月搞定应该没什么问题。但是事实超出了我的预料。
3。五月一日正式开始背诵第四册,当背到第10课(silicon vallay)的是时候我的嗓子已经受不了了,只要我一背就咳嗽,而且咳的很厉害,背诵被迫终止了5天。后来我只能不出声音的背(就是默背),结果奇迹出现了,我不再咳嗽了,而且我的效率提高了一倍。(也许“默背”是很多人的背诵习惯,可是对我来说就意味着要改变从“儿时”养成的背诵习惯,还是挺不容易的。)事情到此,可能也就没有什么可讲的了。但是,在我快要把第四册背完的时候(背到第39课what every writer wants),我遇到了一个大困难,那就是“噪音”。因为我家是住在(天津人叫做)“大杂院”。时值夏日,人们都出来乘凉,这种生活噪音成了我的最大敌人。背诵的速度被迫降了下来。就这样原定第四册最迟在6月10日拿下,结果直到6月21日才全部搞定。
所以,对我而言(是否适用其他人我不敢说)背诵的最快的方法是:1。坐在一个地方 2。默背 3。尽量找噪音小的地方背。
第三篇:现在完成时(背诵过后的感觉)
《新概念英语》30年不衰说明她的确是一本好书。
1。第三册大部分文章都会让你觉的:这篇文章真好玩,这个故事有意思。第三册的文章可以说都是作者象做一个精品一样来把这个文章弄出来。如果你能背下三册的前40篇文章,那么你的写作功力一定会大增。如果你说我背下来三册前40篇了,我还是不会写作文,那不是你问题,就是我有问题,要不就是《新概念》有问题。
2。第四册难了。但是她究竟难在什么地方呢?她比第三册究竟难在哪里呢?实际上我的感觉就是第四册基本上都是“说明文”而第三册可以说都是“记叙文”。所以第四册难在她的文体上,她没有什么情节,而且她有自己的Ideas。所以,像第44课patterns of culture 这课简直就是超超难,她没有什么情节,背诵的难度非常的大。
posted @
2007-11-21 17:21 CoderDream 阅读(436) |
评论 (2) |
编辑 收藏
1、未知异常
Security Manage系统中新增功能时报“未知异常”,后来在本地测试看Log信息知道是“空指针异常”,然后定位到抛出异常的位置:
iFuncNo = iFuncNo + 1;
然后单步调试,发现iFuncNo为Null,所以操作时会报空指针异常,这是iFuncNo的赋值语句:
List list = functionDao.selectByParentId(functionVo.getParentId());
if (list != null && list.size() > 0) {
Functiontb functb = (Functiontb) list.get(0);
iFuncNo = functb.getFunctionNo();
从中可以看出,iFuncNo是一个Functiontb的属性,而且可能为空,如果不加判断直接用操作符对它进行操作,会报“空指针异常”。
iFuncNo用于菜单的排序,因为菜单是动态生成的,根据权限不同,看到的菜单也不同,而且应该可以根据客户的要求对菜单排序,所以增加了这个字段,但是由于这个字段是后来新增的,所以数据库中的某些记录该字段的值为空。在程序中先判断一下就可以了,如果为空,就置为0;
List list = functionDao.selectByParentId(functionVo.getParentId());
if (list != null && list.size() > 0) {
Functiontb functb = (Functiontb) list.get(0);
iFuncNo = functb.getFunctionNo();
if (null == iFuncNo) {// 如果資料庫中該欄位的值為null,則先置為0
iFuncNo = 0;
}
iFuncNo = iFuncNo + 1;
}
这样就OK了。
2、季帐单的团体险及意外险部分的数据在生成的PDF报表中看不到。
原因:手工输入数据时,弱体等级(标准体、次标准体)栏位不是必填的,也就是说值可以为空,但是我生成报表时是按照这两种弱体等级来生成报表的,所以没有在报表中。就好像一个公共厕所,上面写着“男”和“女”,这时候来了一个性别为“空”的人,我肯定不好让“他/她”进其中的任何一个地方了。
今天要客户确认一下怎么处理!
posted @
2007-11-20 09:18 CoderDream 阅读(326) |
评论 (0) |
编辑 收藏
一直喜欢用 MySQL Front来管理数据库,前段时间还因为他被迫关闭而惋惜,近日浏览了下他们的主页,没想到 生命力是这么的强.
被迫关闭的MySQL Front 现在更名为SQL Front 继续开发,授权方式为开源,以下为原 mysqlfront.de 的注释:
MySQL-Front has been renamed to SQL-Front
MySQL-Front has been renamed to >> SQL-Front <<.
Please help to publish the new new name by posting it in a lot of forums,
and please update your links to this page.
Thanks a lot for your help!
We hope that humanity will learn to work together instead of fighting one another senselessly...
-------------------------------------
MySQL-Front has been renamed to >> SQL-Front <<.
posted @
2007-11-16 17:23 CoderDream 阅读(436) |
评论 (0) |
编辑 收藏
我家使用ADSL拨号上网,每次需要上网的时候,都需要双击一下“宽带上网”的图标,然后在弹出的对话框上点击“确认”,方可上网。
我一向是个懒人,非常讨厌这样一次次的手工操作,有什么办法实现自动拨号呢?一般来说,微软那些用界面实现的东西,后台其实还是一系列的脚本或者是配置命令。那么,我只要找到“宽带上网”的配置文件所在,应该就可以了。
首先查看“网络连接”里面的“宽带上网”的属性,找不出什么有帮助的信息。然后将“宽带上网”拉到桌面上,形成一个快捷方式出来,查看快捷方式的属性,发现它的实际位置被微软屏蔽了,看不到。
不死心,将该快捷方式用UltraEdit打开,终于发现,原来它指向 “C:\Documents and Settings\All Users\application data\Microsoft\Network\Connections\Pbk”目录下的 rasphone.pbk 文件。打开 rasphone.pbk,果然,我所建立的所有拨号方式,全部在里面。
现在找到这个配置文件了,下一步就是找找看,用什么东西来运行它。
查看 windows 帮助文件,搜索“自动拨号”,仔细查看后,找到了 rasdial 命令。通过几次在命令行试运行该命令后,终于掌握了它的用法。至此,我只要编写一个脚本,并将它放在桌面上,只要双击它一次,我就可以拨号上网了。而让系统启动的时候运行这个脚本,我就可以实现开机自动拨号了。
脚本非常简单,就下面那么一行:
rasdial EntryName username password
其中的 EntryName ,一定是要在上述 rasphone.pbk 里面真实存在的。比如,我的ADSL拨号名称,叫做“宽带上网”,我的用户名是 Michael,密码是 123456,则命令为
rasdial 宽带上网 Michael 123456
最后,为了避免重装系统之后需要重新配置这些拨号上网参数,将上述 rasphone.pbk 文件备份到 d:\backup 目录下,则脚本也就改成下面这样了:
rasdial 宽带上网 Michael 123456 /phonebook:d:\backup\rasphone.pbk
posted @
2007-11-16 17:22 CoderDream 阅读(1687) |
评论 (0) |
编辑 收藏
1、
Equals and Hash Code
2、
关于java的hashCode方法
3、
学习笔记:java中HashCode
4、
Java 理论与实践: 哈希
5、
有效和正确定义hashCode()和equals()
posted @
2007-11-16 17:20 CoderDream 阅读(457) |
评论 (0) |
编辑 收藏
1、
下载
2、
使用SUBCLIPSE——针对ECLIPSE的SUBVERSION插件
3、eclipse插件下载
4、
如何结合使用 Subversion 和 Eclipse
5、
Book
6、
Subversion之路----利用 svnserve.exe 实现精细的目录访问控制(v1.0)
7、
subversion 一个小技巧 -如何一次添加分布在不同子目录下的多个文件
8、
使用Subversion进行源代码管理(一):体验Subversion客户端
9、
使用Subversion进行源代码管理(二):创建和发布版本库
10、
使用Subversion进行源代码管理(三):常用操作
11、
SVN登录方式与AD整合
12、
Subversion安装手记
13、
Subversion安装记录
14、
Subversion配置安装教程(一)
15、
Apache和Subversion 搭建安全CVS
16、
SVN(Subversion)简易入门教程
posted @
2007-11-16 17:16 CoderDream 阅读(322) |
评论 (0) |
编辑 收藏
1、
http://www.downflv.com/
posted @
2007-11-16 13:23 CoderDream 阅读(320) |
评论 (0) |
编辑 收藏
1.定位:一个人怎样给自己定位,将决定其一生成就的大小
2.完美:世界并不完美,人生当有不足
3.缺憾:让不幸赋予你生命的动力,企图以不幸博取别人同情的人永远只能躺在自己的不幸上.
4.进退:人生贵在把握进退之机."进"与"退"都是处世行事的技巧,该进则进,该退则退
5舍得:学会舍弃方能得到.放弃是一种境界,大弃大得,小弃小得,不弃不得.
6.贫穷:穷人最缺少的是野心.野心决不是成就,但没有野心,肯定不会有成就.
7.免费的午餐:不要希望不劳而获.成功不会从天而降,需要自己去争取,去寻找,去创造.
8.金钱:不要做金钱的奴隶.人赚钱是为了活着,但活着绝不是只为了赚钱.
9.浮躁:人生浮躁要不得.一个人如果有轻浮急躁的缺点,是什么事情都做不成的.
10.失业:一切只不过是从头再来.被解雇不一定是坏事,只要树立信心,定会有柳暗花明。
11.面子:面子只是小问题,成功才是硬道理;
12.压力:潜能在压力中诞生.潜能就象是装在牙膏袋中的牙膏,只有经受压力的挤压之后,才会迸发.
13.小事:平凡成就大业.在欧洲,有一首流传很广的民谚:因为一根铁钉,我们失去了一块马蹄铁;因为一块马蹄铁我们失去了一匹骏马;因为一匹骏马,我们失去一名骑手;因为一名骑手,我们失去了一场战争.
14.怀才不遇:少一点哀叹,多一点审思.你越是沉不住气,别人越是看轻你.
15.情感隐私:给彼此一些适度的距离.健康的爱侣关系是相互尊重,包括尊重对方的隐私.
16.孤独:勇于走出孤独,才能品尝甘美的人生.走出孤独的阴影,你的人生会变得阳光灿烂.
17.失恋:分了再谈,将爱情进行到底.人生最怕失去的不是已经拥有的东西而是失去对未来的希望.
18.感情变淡:走过热恋的缘分天空,每个人都要在婚姻的隧道里经受着考验.
19.不合理的批评:从来没有人会踢一只死狗.卡耐基告诉我们:"不合理批评往往是一种掩饰的赞美."
20.奴性:尊严,任何时候都不容侵犯.那些见了主子就哈腰,做了主子就张狂的人充其量只是一些没有尊严的可怜的爬行动物而已.
21.怀旧:怀旧的结果往往是使人逃避成熟的思考,进入一种虚无飘渺的境界.屏弃过去,活在今天.
22.较真:人生如此短暂而宝贵,不必为那些令人不愉快的事情计较而浪费时间.红尘本混沌,处事何太真.
23.平庸:如果你相信自己,并且深信自己一定能达到梦想,你就够步入坦途.自信,让神奇降临.
24.后悔:正像苦难伴随生命的始终一样,遗憾与悔恨也与生命同在.不为打翻的牛奶哭泣.
25.模仿:整日装在别人套子里的人,终究有一天会发现,自己已变得面目全非了!秉持自我本色,独立于世.
26.依赖:依赖是阻止你走向成功的一个绊脚石,要想成大事,你必须把它们踢开.抛开拐杖你才能跑起来.
27.人格:人格就是力量,从某种意义上来说,这句话比知识就是力量更为正确.人格就是力量.
28.责备他人:责备只会让对方耿耿于怀,于己于事都会产生不良影响.要采蜂蜜,就别踢翻蜂巢.
29.说"不":在不利的环境下说"不",是对自我的尊重,而且只有懂得尊重自己,别人才会懂得如何尊重我们.不要活在别人的价值观里.
30.步入低谷:人生浮沉,步入低谷,在所难免.惟有达观的人才能豁然无累,真正地解脱.有个柠檬,就做柠檬水.
31.恶习:一个人如果养成良好的习惯,就等于事业成功了一半;反之,就会离失败不远了.好习惯源于自我培养.
32.自卑:自卑的人并不是自己想自卑,而是因为他们缺乏内心的安全感.越过人生最大的跨栏.
33.借口:成功,不需要借口.制造托词来解释失败,这已是世界性的问题.这种习惯与人类的历史同样古老,这是成功的致命伤!
34.失败:人生路上,一帆风顺者少,曲折坎坷者多,成功是由无数失败构成的.在失败的河流中泅渡.
35.恐惧:恐惧剥夺人的幸福与能力,使人变为懦夫;恐惧使人失败,使人流于卑贱;恐惧比什么东西都可怕.驱除侵蚀心灵的魔鬼.
36.迷惘:在人生的旅途中,有时我们会迷失自己,对未来失去了明确的追求方向,这时候你就要用人生的罗盘指引自己.
37.创业资金:许多人一心想发财,但又不屑于赚小钱,只想赚大钱,于是苦苦等待有了雄厚的资金再去创业,结果大钱小钱都没有赚到.从"小钱"开始起步
38.形象不佳:那些对自我形象很随意的人,在和别人的交往中,个人魅力和交际效果会大打折扣.努力塑造新形象.
39.违逆潮流:适应变化,与时代同步.一个人跟不上时代变化的步伐,势必被人类进步的潮流所淹没.
40.受到伤害:释加牟尼说:"以恨对恨,恨永远存在;以爱对恨,恨自然消失."
41.气量:气量是一种情操,更是一种修养.只有拥有"雅量"的人才真正懂得善待自己,善待他人,人生才会活出大境界.雅量是一种修养.
42.猜疑:猜疑心强的人常常吹毛求疵,无中生有,甚至把一些正常的情况扭曲了.猜疑能乱人心性.
43.机遇:人生的得失常常就在于机遇的得失.抓住人生的每一个机遇.
44.愤怒:别为小事发怒.不能生气的人是笨蛋,而不去生气的人才是聪明人.
45.思维定势:当面对创新的事物时,如若受思维定势约束,就会形成对创造力的障碍.敢于突破,才有创造力.
46.尴尬:面对人生道路上的种种无奈,幽默是摆脱困境的最好方式.幽默能化解尴尬.
47.健康:我们生活在一个失衡的时代,节奏太快,精神压力太大,然而又无所逃避.忧虑是健康的大敌.
48.优柔寡断:犹豫不决的人肯定是个性软弱,没有生气的人,他们最终将一事无成.果断的性格是人生的守护神.
49.痛苦:如果你紧紧抓住痛苦不放,快乐就永远也不会到来.痛苦的时候别忘了给自己一点快乐.
50.时间管理:鲁迅说过:"浪费别人的时间等于谋财害命,浪费自己的时间等于慢性自杀."
posted @
2007-11-15 11:28 CoderDream 阅读(267) |
评论 (0) |
编辑 收藏
1.两个对象值相同(x.equals(y)==true),但却可有不同的hash code,这句话对不对?为什么?
2.GC是什么?为什么要有GC?
3.请简要描述一下J2EE应用中的class loader的层次结构?
4.写一段代码,实现银行转帐功能:
接口定义如下:
public interface ITransfer {
/**
* <pre>
* 银行内部转帐,从转出帐号中扣除转帐金额,给转入帐号增加转帐金额,
* 需要保证以上两个操作,要么同时成功,要么同时失败
* </pre>
*
* @param fromAccountId
* 转出帐号
* @param outAccountId
* 转入帐号
* @param amount
* 转帐金额
*/
public void transferInner(String fromAccountId, String outAccountId,
BigDecimal amount);
/**
* <pre>
* 外部转帐-转出,从转出帐号中扣除转帐金额
* </pre>
*
* @param fromAccountId
* 转出帐号
* @param amount
* 转帐金额
*/
public void transferOut(String fromAccountId, BigDecimal amount);
/**
* <pre>
* 外部转帐-转入,给转入帐号增加转帐金额
* </pre>
*
* @param toAccountId
* 转入帐号
* @param amount
* 转帐金额
*/
public void transerIn(String toAccountId, BigDecimal amount);
}
请编写你的实现类,来实现上述接口
Account表
字段:accountId , 主键 varchar2(32), 用户帐号
字段:amount , 金额 number(18,3)
5."组合优于继承",是否同意这句话,并阐述你的观点。
6.请说下Template模式与Strategy模式的异同点。
posted @
2007-11-14 15:09 CoderDream 阅读(1041) |
评论 (1) |
编辑 收藏