在反射機制中,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 閱讀(6354) |
評論 (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 閱讀(440) |
評論 (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 閱讀(339) |
評論 (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 閱讀(442) |
評論 (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 閱讀(1695) |
評論 (0) |
編輯 收藏
1、
Equals and Hash Code
2、
關于java的hashCode方法
3、
學習筆記:java中HashCode
4、
Java 理論與實踐: 哈希
5、
有效和正確定義hashCode()和equals()
posted @
2007-11-16 17:20 CoderDream 閱讀(464) |
評論 (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 閱讀(331) |
評論 (0) |
編輯 收藏
1、
http://www.downflv.com/
posted @
2007-11-16 13:23 CoderDream 閱讀(327) |
評論 (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 閱讀(274) |
評論 (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 閱讀(1049) |
評論 (1) |
編輯 收藏