日本天堂在线,91露出在线,www.亚洲.comhttp://www.aygfsteel.com/b47617/攀登!進步!zh-cnMon, 04 Aug 2025 17:37:10 GMTMon, 04 Aug 2025 17:37:10 GMT60[Z] 給自己收藏幾句話 http://www.aygfsteel.com/b47617/archive/2006/12/29/90755.html原語原語Fri, 29 Dec 2006 08:05:00 GMThttp://www.aygfsteel.com/b47617/archive/2006/12/29/90755.htmlhttp://www.aygfsteel.com/b47617/comments/90755.htmlhttp://www.aygfsteel.com/b47617/archive/2006/12/29/90755.html#Feedback0http://www.aygfsteel.com/b47617/comments/commentRss/90755.htmlhttp://www.aygfsteel.com/b47617/services/trackbacks/90755.html1. 男人是社會的主體,不管你信或不信。所以男人應該有種責任感。
?
2. 25歲之前,請記得,愛情通常是假的,或者不是你所想象的那樣純潔和永遠。如果你過了25歲,那么你應該懂得這個道理。?

3. 吃飯7成飽最舒服。對待女友最多也請你保持在7成。?

4. 30歲之前請愛惜自己的身體,前30年你找病,后30年病找你。如果你過了30歲,你自然也會懂得這個道理。?

5. 事業遠比愛情重要。如果說事業都不能永恒,那么愛情只能算是曇花一現。?
  
6. 不要輕易接受追求你的女孩。女追男隔層紗。如果你很容易就陷進去,你會發現你會錯過很多東西,失去很多東西。?
  
7. 請你相信,能用錢解決的問題,都不是問題。如果你認為錢索王道,有錢有女人,沒錢沒女人,那么。女人不是問題。?
  
8 . 請永遠積極向上。每個男人都有他可愛的地方,但是不可愛的地方只有不積極面對生活。?
  
9. 不要連續2次讓同一個女人傷害。好馬不吃回頭草,是有他道理的。如果認真考慮過該分手,那么請不要做任何舍不得的行動。?
  
10. 如果你和你前女友能做朋友,那么你要問自己:為什么?如果分手后還是朋友,那么只有2個可能:。你們當初都只是玩玩而已,沒付出彼此最真的感情?;蛘撸罕囟ㄓ袀€人是在默默的付出無怨無悔!?
  
11. 永遠不要太相信女人在戀愛時的甜言蜜語。都說女人愛聽甜言蜜語,其實,男人更喜歡。?
  
12. 請不要為自己的相貌或者身高過分擔心和自卑。人是動物,但是區別于動物。先天條件并不是阻擋你好好生活的借口。人的心靈遠勝于相貌,請相信這點。如果有人以相貌取人,那么你也沒必要太在意。因為他從某種意義來講,只是只動物。你會跟動物慪氣嗎??
  
13. 失戀時,只有2種可能,要么你愛她她不愛你,或者相反。那么,當你愛的人不再愛你,或者從來沒愛過你時。你沒有遺憾,因為你失去的只是一個不愛你的人。?
  
14. 請不要欺騙善良的女孩。這個世界上,善良的女孩太少。?
  
15. 不能偏激的認為金錢萬能,至少,金錢治不好艾滋病。?
  
16. 請一定要有自信。你就是一道風景,沒必要在別人風景里面仰視。

17. 受到再大的打擊,只要生命還在,請相信每天的太陽都是新的。?
 
18. 愛情永遠不可能是天平。你想在愛情里幸福就要舍得傷心。?
  
19. 如果你喜歡一個認為別人應該對她好的mm,請盡早放棄。沒有人是應該對一個人好的。如果她不明白這個道理,也就是她根本不懂得珍惜。?
  
20. 不要因為寂寞而找gf,寂寞男人請要學會品味寂寞。請記住:即使寂寞,遠方黑暗的夜空下,一定有人和你一樣,寂寞的人不同,仰望的星空卻是唯一。?
  
21. 任何事沒有永遠。也別問怎樣才能永遠。生活有很多無奈。請盡量充實自己,充實生活。請善待生活。?

??? 剛剛走上社會的年輕人,充滿了蓄勢待發的豪情、青春的朝氣、前衛的思想,夢想著豐富的待遇和轟轟烈烈的事業??墒?,社會畢竟是一所包羅萬象、喧囂復雜的大學校,這里沒有寒暑假,拒絕虛假和膚淺,更拒絕空想和庸碌,難以預告何時開課何時放學。

 ?如何在涉世之初少走彎路,有一個好的開端,開始一番成功的事業?以下是一些先行者積累的10條有益的涉世忠告。好好地遵循、把握這些忠告和建議吧,比起所學的課堂課程來,它毫不遜色!

 ?1.?買個鬧鐘,以便按時叫醒你。貪睡和不守時,都將成為你工作和事業上的絆腳石,任何時候都一樣。不僅要學會準時,更要學會提前。就如你坐車去某地,沿途的風景很美,你忍不住下車看一看,后來雖然你還是趕到了某地,卻不是準時到達?!棒[鐘”只是一種簡單的標志和提示,真正靈活、實用的時間,掌握在每個人的心中。

 ?2.?如果你不喜歡現在的工作,要么辭職不干,要么就閉嘴不言。初出茅廬,往往眼高手低,心高氣傲,大事做不了,小事不愿做。不要養成挑三揀四的習慣。不要雨天煩打傘,不帶傘又怕淋雨,處處表現出不滿的情緒。記住,不做則已,要做就要做好。

 ?3.?每個人都有孤獨的時候。要學會忍受孤獨,這樣才會成熟起來。年輕人嘻嘻哈哈、打打鬧鬧慣了,到了一個陌生的環境,面對形形色色的人和事,一下子不知所措起來,有時連一個可以傾心說話的地方也沒有。這時,千萬別浮躁,學會靜心,學會忍受孤獨。在孤獨中思考,在思考中成熟,在成熟中升華。不要因為寂寞而亂了方寸,而去做無聊無益的事情,白白浪費了寶貴的時間。

 ?4.走運時要做好倒霉的準備。有一天,一只狐貍走到一個葡萄園外,看見里面水靈靈的葡萄垂涎欲滴??墒峭饷嬗袞艡趽踔?,無法進去。于是它一狠心絕食三日,減肥之后,終于鉆進葡萄園內飽餐一頓。當它心滿意足地想離開葡萄園時,發覺自己吃得太飽,怎么也鉆不出柵欄了。相信任何人都不愿做這樣的狐貍。退路同樣重要。飽帶干糧,晴帶雨傘,點滴積累,水到渠成。有的東西今天似乎一文不值,但有朝一日也許就會身價百倍。

 ?5.?不要像玻璃那樣脆弱。有的人眼睛總盯著自己,所以長不高看不遠;總是喜歡怨天尤人,也使別人無比厭煩。沒有苦中苦,哪來甜中甜?不要像玻璃那樣脆弱,而應像水晶一樣透明,太陽一樣輝煌,臘梅一樣堅強。既然睜開眼睛享受風的清涼,就不要埋怨風中細小的沙粒。

 ?6.管住自己的嘴巴。不要談論自己,更不要議論別人。談論自己往往會自大虛偽,在名不副實中失去自己。議論別人往往陷入雞毛蒜皮的是非口舌中糾纏不清。每天下班后和你的那些同事朋友喝酒聊天可不是件好事,因為,這中間往往會把議論同事、朋友當做話題。背后議論人總是不好的,尤其是議論別人的短處,這些會降低你的人格。

 ?7.?機會從不會“失掉”,你失掉了,自有別人會得到。不要凡事在天,守株待兔,更不要寄希望于“機會”。機會只不過是相對于充分準備而又善于創造機會的人而言的。也許,你正為失去一個機會而懊悔、埋怨的時候,機會正被你對面那個同樣的“倒霉鬼”給抓住了。沒有機會,就要創造機會,有了機會,就要巧妙地抓住。

 ?8.若電話老是不響,你該打出去。很多時候,電話會給你帶來意想不到的收獲,它不是花瓶,僅僅成為一種擺設。交了新朋友,別忘了老朋友,朋友多了路好走。交際的一大訣竅就是主動。好的人緣好的口碑,往往助你的事業更上一個臺階。

 ?9.千萬不要因為自己已經到了結婚年齡而草率結婚。想結婚,就要找一個能和你心心相印、相輔相攜的伴侶。不要因為放縱和游戲而戀愛,不要因為戀愛而影響工作和事業,更不要因一樁草率而失敗的婚姻而使人生受阻。感情用事往往會因小失大。

 ?10.?寫出你一生要做的事情,把單子放在皮夾里,經常拿出來看。人生要有目標,要有計劃,要有提醒,要有緊迫感。一個又一個小目標串起來,就成了你一生的大目標。生活富足了,環境改善了,不要忘了皮夾里那張看似薄薄的單子。



原語 2006-12-29 16:05 發表評論
]]>
我的星座http://www.aygfsteel.com/b47617/archive/2006/12/28/90458.html原語原語Thu, 28 Dec 2006 04:09:00 GMThttp://www.aygfsteel.com/b47617/archive/2006/12/28/90458.htmlhttp://www.aygfsteel.com/b47617/comments/90458.htmlhttp://www.aygfsteel.com/b47617/archive/2006/12/28/90458.html#Feedback0http://www.aygfsteel.com/b47617/comments/commentRss/90458.htmlhttp://www.aygfsteel.com/b47617/services/trackbacks/90458.html

我的星座

白羊座的人令人覺得他開朗而熱情。即使他內心是有那么點害羞,表面上仍可以很自在、大方。當一頭白羊愁眉苦臉時,只會出現在他家里鏡子中。他再傷心,就是不會在別人面前擺出苦臉。好強?可以這么說。誰不好強呢?其實白羊座的人仍會向朋友吐苦水,但真正的眼淚,你是看不到的。

  一群朋友,開開心心的,在陽光下嬉耍,是白羊座最懷念的美好時光。悲郁的人生絕不是白羊座的人所向往的,不幸陷入時,他也會極力設法讓自己不要太相信會就這么過一生,他全心希望有一個新生活。

  愛恨分明不吃回頭草

  白羊座的人愛恨分明,愛就是愛,恨就是恨。不過A型白羊,對“恨”這個字眼沒多大興趣,他是不愛就是不愛而已。在愛情上,白羊是相當干脆的,不喜歡拖泥帶水,屬于行動派,要求立見真章。他們最不能忍受一廂情愿。

  凡是白羊決定不要的東西,絕不會再撿回來,否則他無顏面對自己。不吃回頭草,也是白羊座人好強的證據。由于白羊座對愛情具有童話格,要求純潔、唯一與童稚心的戀情,與舊情人復燃愛曲當然是白羊座不屑的。

  談戀愛時,白羊座的人是不會騙你的,大可放心。但是他的愛意來得快,去得快。除非你有超強的吸引力,一旦一頭白羊陷入不可自拔的情網時,你要抽身,也就很難了。那將會是悲劇的下場。你也得不到好處。

  樂觀乃天性不是不悲觀

  白羊座天性樂觀,但長大后遭遇到的事了,他們也會悲觀到了極點。只不過悲觀歸悲觀,既然不想死,活下去就得樂觀點,日子才會有趣些。因此白羊座的人只不過是不把悲觀當一回事,并不是不悲觀。而他們樂觀的天性極具感染力,你得穩著點,以免誤陷入一塌糊涂的樂觀絕地之中。

  白羊行使俠義的性格,使他能結交許多剖心相見的朋友。但是他對朋友的要求也很高,不少人受不了白羊座對朋友的殷殷期許。自然啦,白羊對情人、對丈夫(或妻子)、對同事,也都有些標準在心中測量。與標準不符時,他便會覺沮喪、食欲不振?,F實的人永難成為白羊座人的朋友。

  爆發型的浪漫

  白羊座的人當然是浪漫的,但是是屬于爆發型的浪漫。公羊、母羊皆如此。一點一滴積出來的浪漫,對白羊座來說,強度不夠,只覺累贅、厚重,這種浪漫容易分叉、斷裂。白羊座喜歡在慶典的夜晚,與情人并肩仰望煙火在夜空中爆放出光芒萬丈,而那也正象征著愛情發生的瞬間,浪漫不過了。

  當白羊座處于浪漫的瞬間,幾乎沒有什么事可以挪動他們的感性。浪漫過后他顯然全已清醒,接下來端看那瞬間爆發的浪漫,到底能在他的記憶中存留多久,才能知他到底有多在乎曾經發生過的感動。

  因此,你也可以推論出,工作、事業、婚姻、友情都不在白羊浪漫的范疇中,他對這些反是以細水長流的方式經營?!巴讲皆竭^愛琴島是可能的,你只要逐島跳過去就行了?!?/p>

  嗨!我在這里

  不必等到風吹草低見牛羊的那一刻,你便會遠遠看到有只羊在拚命蹬踢他強健的小蹄子,在半空中跳躍,向你打招呼:“嗨!我在這?!?/p>

  是的,白羊座的人就是這么令人覺得他開朗而熱情。即使他內心是有那么一點害羞,表面上仍可以很自在、大方。當一頭白羊愁眉苦臉時,只會出現在他家鏡子中。他再傷心,就是不會在別人面擺出苦旦臉。好強?可以這么說。誰不好強呢?其實白羊座的人仍會向朋友吐苦水,但真正的眼淚,你是看不到的。

  一群朋友,開開心心的,在陽光下嬉耍,是白羊座最懷念的美好時光。悲郁的人生絕不是一頭白羊所向往的,不幸陷入時,他也會極力設法讓自己不要太相信就這么過一生,他會全心希望有一個新生活。

  正經八百的,會要他的命

  白羊座出現在高貴、華麗的場合中,不會顯得格格不入,但是他自己卻難受得要命,因為他不能自在地蹺二郎腿,不能在高興時放浪形骸。正經八百的,會要他的命。

  一般社會上流行的娛樂,白羊座都能欣然加作,但是他本來就有的獨特娛樂品味也不會放棄。也就是說很愛聽歌劇,但也喜歡到卡拉OK高歌一曲。基本上,白羊座的是很雅、俗共賞的。他們的適應很強,但又隨遇而安。在白羊的心中總是有一個更好的天堂在等著他。

  白羊座的人對于生命力旺盛的人,特別注意。他喜歡被專家領導,不會隨便懷疑,一旦懷疑便打入十八層地獄。而他成為專家時,也不要隨便懷疑他,如果你不能拿出令他心服口服的證據,你將永不能再從他那得到教誨。

  若不能舉足輕重,寧可自動消失

  白羊座的人常因過度自信而沖動行事,又因沖動行事失敗而自毀信心。對白羊座的人來說,三思而后行是比較好的。在一個團體中,白羊座若不能舉足輕重,他寧可自動消失,并且不會以任何借口。消失就消失了,這不是我的王國,他把自己在團體中的角色看得很重,相對地也愿意承擔更多的責任,他不會認為自己可以不勞而獲。一旦勞了還是沒有獲得的時候就絕不戀棧。

  他的自尊心強,你的一句“老實說”會傷他的心許久。如果你問他會不會表演空中飛人,他心中盤算自己應可勝任,便會點頭,答應你一個月后的表演,這一個月中他就會勤加苦練。而對于自己沒有把握的事,白羊座的人是不至于去強出頭的。

  愛情是一生中最大的課題

  白羊是很容易不耐煩的。在戀愛中,你得把那些小把戲收藏起來,他可受不了什么“考驗”之類的事。既然愛他就應該信任他。不管公羊、母羊,他們對愛情都是十分認真的。對他們來說,愛情有兩種,一種是真的,一種是假的。假情愛情,極易發生在沖動而善感的白羊座身上,但很快會結束,并且會像是從未發生過。真正的愛情,是白羊座一生中最大的課題,他總覺得這個課題怎么寫也寫不完整。

  友情與情是白羊座不可或缺的兩大支柱。當愛情沒著落時,他們可靠著這兩大支柱中的任一項,發展他的事業。即使他十七歲時就有了結婚的對象,但到了七十歲若未結婚,他也仍在心中保有一個結婚對象,這是他的樂天知命所使然。

  相信小精靈的孩子

  僅管白羊座的人長得人高馬大,他仍是個孩子,他一直保有天真的一面,即使長大了,他還是相信世界上有小精靈的存在。有時白羊座的人相當幼稚,可是他絕不是不聰明,他的反應可快得很呢!

  他有帶頭當第一的強烈欲望,做第二免談。所以他做起事來動作很快,甚少優柔寡斷。他非常自信,深信自己處理事務的能力無人可及。他也從不向命運低頭,僅管挫折一次又一次的出現。他信任所有的人,很少會去懷疑別人是否會對他不利,而他的勇敢也使他能不斷地站在最前面。

  與白羊座的人相處時,你必須注意一些重要的關鍵,他是個喜歡爭先的人,這是所有白羊座的天性,所以有時你必須要有心理準備。他說話或做事都相當直接,很少會跟你拐彎抹角,他也相當誠實,只要一說謊就很容易被人察覺。

  他是個不擅處理細節的人,所以,如果你想請他處理些較細微的工作的話,倒不如自己做還來的恰當些。

?

????? 偶然機會看到這樣一個帖子,對著我自己來一條條比較,發現竟然那么的相似,那么的準確!其實我一直都不是很相信命運的,我媽曾經給我算過命,說我這幾年運道不是很好,我都沒有相信,但是最近發生在我身上的一些事,好像不得不使我有那么一點相信它的存在了。最后祝愿所有白羊座的人們都開心!愉快!



原語 2006-12-28 12:09 發表評論
]]>
二拿的"酸溜溜"http://www.aygfsteel.com/b47617/archive/2006/10/27/77570.html原語原語Fri, 27 Oct 2006 03:10:00 GMThttp://www.aygfsteel.com/b47617/archive/2006/10/27/77570.html? 最近思緒很亂,總是想說點什么,但又不知道想說什么。在鍵盤上停頓的一刻,特意提醒自己不要寫錯。就像早晨一覺醒來,豁然又是陽光明媚的一天,生活嘩啦啦的翻過一頁。
? 來北京的時間快一年了,值得回味的事情太多了。前八家(海淀區)一個小小的部落(最近又想起了“礦野的心聲”),在一個不足八平方米的空間,度過了整整五個月的生活,帶給我的是曾經所沒有的感覺,嘗到了曾經所沒有的味道。生活是什么?生活不可以能按部就班,它有太多的意外,就像你不可能把所有的料準備好了才一起下鍋,它因為這些無法預知的意外才顯得精彩。記得對李安的《飲食男女》有這樣一句點評“生活就像一碗五味湯,苦辣酸舔放了多少姜”你要自己嘗。
? 我呵呵的笑,在太陽下時常微笑,生活自然會賜予你幸福。即使沒有很多的錢,也要留很多的愛在心中。我也相信,太陽下的微笑,總是好過冬天里的眼淚。沒有很多錢沒關系,可是我們必須有很多很多的愛,這是生活里,最溫暖人心的細節。
? 再說最后一個細節吧,我最喜歡的一個場景, “你的魚不錯,紅燒可惜了,清蒸好……”
? 生活這道美味,只要吃的人用心去品嘗,不在乎是紅燒還是清蒸。



原語 2006-10-27 11:10 發表評論
]]>
你有生之日的價值怎么衡量? http://www.aygfsteel.com/b47617/archive/2006/10/24/76942.html原語原語Tue, 24 Oct 2006 04:42:00 GMThttp://www.aygfsteel.com/b47617/archive/2006/10/24/76942.htmlhttp://www.aygfsteel.com/b47617/comments/76942.htmlhttp://www.aygfsteel.com/b47617/archive/2006/10/24/76942.html#Feedback0http://www.aygfsteel.com/b47617/comments/commentRss/76942.htmlhttp://www.aygfsteel.com/b47617/services/trackbacks/76942.html不管你是否準備好,總有一天都會結束,不再有旭日東升,不再有燦爛白晝,不再有一分一秒的光陰。你收藏的一切,不論是彌足珍貴的還是忘記的 , 都將留給別人。

   你的財富、名望和世俗的權利都將變成細枝末節的事情,不管你擁有的還是虧欠的,都不再重要。

你的嫉恨、冤仇、挫敗和嫉妒之心終將消失。

   同樣,你的希望、雄心、計劃和未竟之事都將終止。曾經無比重要的成敗得失也將褪色。

   你來自哪里,用什么方式生活都不重要了。

   你是貌美如花還是才華橫溢也不重要了。你的性別、膚色、種族都無關緊要了。

   那么什么變得重要了呢?你有生之日的價值怎么來衡量呢?

   重要的不是你所買到的,而是你所 創造 的。

   重要的不是你所得到的,而是你所 付出 的。

   重要的不是你的成功,而是你的 價值 。

   重要的不是你學到的,而是你 傳授 的。

   重要的是你的每一次正直、勇敢和犧牲之行為能夠使人充實,讓人強大或是能夠激勵他人,讓他們 以你為榜樣 。

   重要的不是你的能力,而是你的 性格 。

    重要的不是你認識多少人,而是在你離開時,有多少人感到這是永久的損失。

   重要的不是你的記憶,而是 愛你的人的記憶

   重要的是你為人所懷念的時間有多長,重要的是誰在懷念你,重要的是他們 為什么懷念你 。

    讓我們的一生不是因為偶然而變得重要,不是因為環境而變得重要。而是我們自己的選擇,是 正確的選擇 讓我們的生命更有意義,更為重要。



原語 2006-10-24 12:42 發表評論
]]>
轉 Java1.5語言新特性簡單總結http://www.aygfsteel.com/b47617/archive/2006/03/27/37520.html原語原語Sun, 26 Mar 2006 16:19:00 GMThttp://www.aygfsteel.com/b47617/archive/2006/03/27/37520.htmlhttp://www.aygfsteel.com/b47617/comments/37520.htmlhttp://www.aygfsteel.com/b47617/archive/2006/03/27/37520.html#Feedback0http://www.aygfsteel.com/b47617/comments/commentRss/37520.htmlhttp://www.aygfsteel.com/b47617/services/trackbacks/37520.html?例1.1
??Integer?i?=?10;
??int?j?=?i;
??
2.?更優化的for循環?對應就C#---foreach循環
?例2.1
??String[]?names?=?{"BadBoy","GoodBoy","HappyGirl","sadGirl"};
??for(String?option:?names)?{
???System.out.println(option);
??}
?例2.2?加泛型?對應C++模板
??import?java.util.*;
??
??ArrayList<String>?animals?=?new?ArrayList<String>();
??animals.add("Dog");
??animals.add("Cat");
??animals.add("Chick");
??animals.add("Cow");
??for(String?option?:?animals)?{
???System.out.println(option);
??}
??
3.參數可變的方法和printf
?例3.1
??定義:
??public?int?sum(int...?n)?{??//傳過來n為一個int型數組
???int?tempSum;
???for(int?option?:?n)?{
????tempSum+=option;
???}
???/*
???for(int?i?=?0;?i?<?n.length;?i++)?{
????tempSum+=n[i];
???}
???*/
???return?tempSum;
??}
??調用1:?sum(1);
??調用2:?sum(1,2);
??調用3:?sum(1,2,3,4);
?例3.2?printf方法,??對應c語言的printf
??int?x?=?10;
??int?y?=?20;
??int?sum?=?x?+?y;
??System.out.printf("%d?+?%d?=?%d",x,y,sum);
4.?枚舉
?例4.1
??public?enum?MyColors?{
???red,
???black,
???blue,
???green,
???yellow
??}
??
??MyColors?color?=?MyColors.red;
??for(MyColors?option?:?color.values())?{
???System.out.println(option);
??}

/**不能在switch語句里這樣寫case?MyColors.red:
?*這樣編譯器不會讓你通過*/
switch(color)?{
?case?red:
??System.out.println("best?color?is?"+red);
??break;
?case?black:
??System.out.println("NO?"?+?black);
??break;
?default:
??System.out.println("What");
??break;
}

5.靜態引用
?例5.1
??1.5版本以前的寫法是:
?
??  import?java.lang.Math;?//程序開頭處
??
??  ...
??
??  double?x?=?Math.random();?
??1.5版本中可以這樣寫
???import?static?java.lang.Math.random;?//程序開頭處
???
???...
??  
???double?x?=?random();??


原語 2006-03-27 00:19 發表評論
]]>
面試歸來續http://www.aygfsteel.com/b47617/archive/2006/03/24/37246.html原語原語Fri, 24 Mar 2006 09:40:00 GMThttp://www.aygfsteel.com/b47617/archive/2006/03/24/37246.htmlhttp://www.aygfsteel.com/b47617/comments/37246.htmlhttp://www.aygfsteel.com/b47617/archive/2006/03/24/37246.html#Feedback0http://www.aygfsteel.com/b47617/comments/commentRss/37246.htmlhttp://www.aygfsteel.com/b47617/services/trackbacks/37246.html??????那天(2006-03-22)面試回來心情特別好,和幾位剛面試完的同學(應該叫同事)從那棟大廈出來時,我們也互相認識了一下,各自的反應都很好,互相留下了手機號,等待著今天(2006-03-24)hr jj 給我們回復.我是今天上午接到電話的.于周一上班.就在下午我小休的時候,"同事"給我發了一條信息.問我那個hr jj 給我打電話了嗎? 我的回答是肯定的.不過,他確沒有接到電話,他認為可能是被刷了(什么原因我還不知道-可能以后我也不會知道).我的第一反應是,有可能的某一天,自己一覺起來,就會拿著簡歷去找工作了.事實真是太殘酷了.

??????只能對自己說,在以后的工作中不斷的努力學習(為自己).生活是不公平的,要去適應它.
???



原語 2006-03-24 17:40 發表評論
]]>
Hibernate 的原理與配置快速入門 http://www.aygfsteel.com/b47617/archive/2006/03/22/36938.html原語原語Wed, 22 Mar 2006 15:31:00 GMThttp://www.aygfsteel.com/b47617/archive/2006/03/22/36938.htmlhttp://www.aygfsteel.com/b47617/comments/36938.htmlhttp://www.aygfsteel.com/b47617/archive/2006/03/22/36938.html#Feedback0http://www.aygfsteel.com/b47617/comments/commentRss/36938.htmlhttp://www.aygfsteel.com/b47617/services/trackbacks/36938.html

也許你聽說過Hibernate的大名,但可能一直不了解它,也許你一直渴望使用它進行開發,那么本文正是你所需要的!在本文中,我向大家重點介紹Hibernate的核心API調用庫,并講解一下它的基本配置。

  看完本文后,我相信你對什么是ORM(對像/關系映射)以及它的優點會有一個深刻的認識,我們先通過一個簡單的例子開始來展現它的威力。

  正如一些傳統的經典計算機文章大都會通過一個“hello,world”的例子開始講解一樣,我們也不例外,我們也將從一個相對簡單的例子來闡述Hibernate的開發方法,但如果要真正闡述Hibernate的一些重要思想,僅僅靠在屏幕上打印一些字符是遠遠不夠的,在我們的示例程序中,我們將創建一些對象,并將其保存在數據庫中,然后對它們進行更新和查詢。

閱讀導航
“Hello World”“Hello world”示例程序讓您對Hibernate有一個簡單的認識
理解Hibernate的架構介紹Hibernate接口的主要功能。
核心接口Hibernate有5個核心接口,通過這幾個接口開發人員可以存儲和獲得持久對象,并且能夠進行事務控制
一個重要的術語:TypeType是Hibernate發明者發明的一個術語,它在整個構架中是一個非?;A、有著強大功能的元素,一個Type對象能將一個Java類型映射到數據庫中一個表的字段中去。
策略接口Hibernate與某些其它開源軟件不同的還有一點――高度的可擴展性,這通過它的內置策略機制來實現。
基礎配置Hibernate可以配置成可在任何Java環境中運行,一般說來,它通常被用在2-3層的C/S模式的項目中,并被部署在服務端。
創建一個SessionFactory對象要創建一個SessionFactory對象,必須在Hibernate初始化時創建一個Configuration類的實例,并將已寫好的映射文件交由它處理。



  “Hello World”

  Hibernate應用程序定義了一些持久類,并且定義了這些類與數據庫表格的映射關系。在我們這個“Hello world”示例程序中包含了一個類和一個映射文件。讓我們看看這個簡單的持久類包含有一些什么?映射文件是怎樣定義的?另外,我們該怎樣用Hibernate來操作這個持久類。

  我們這個簡單示例程序的目的是將一些持久類存儲在數據庫中,然后從數據庫取出來,并將其信息正文顯示給用戶。其中Message正是一個簡單的持久類:,它包含我們要顯示的信息,其源代碼如下:

  列表1 Message.Java 一個簡單的持久類

package hello;
public class Message {
 private Long id;
 private String text;
 private Message nextMessage;
 private Message() {}
 public Message(String text) {
  this.text = text;
 }
 public Long getId() {
  return id;
 }
 private void setId(Long id) {
  this.id = id;
 }
 public String getText() {
  return text;
 }
 public void setText(String text) {
  this.text = text;
 }
 public Message getNextMessage() {
  return nextMessage;
 }
 public void setNextMessage(Message nextMessage) {
  this.nextMessage = nextMessage;
 }
}

  Message類有三個屬性:Message的id 、消息正文、以及一個指向下一條消息的指針。其中id屬性讓我們的應用程序能夠唯一的識別這條消息,通常它等同于數據庫中的主鍵,如果多個Message類的實例對象擁有相同的id,那它們代表數據庫某個表的同一個記錄。在這里我們選擇了長整型作為我們的id值,但這不是必需的。Hibernate允許我們使用任意的類型來作為對象的id值,在后面我們會對此作詳細描述。

  你可能注意到Message類的代碼類似于JavaBean的代碼風格,并且它有一個沒有參數的構造函數,在我們以后的代碼中我將繼續使用這種風格來編寫持久類的代碼。

  Hibernate會自動管理Message類的實例,并通過內部機制使其持久化,但實際上Message對象并沒有實現任何關于Hibernate的類或接口,因此我們也可以將它作為一個普通的Java類來使用:

Message message = new Message("Hello World");
System.out.println( message.getText() );

  以上這段代碼正是我們所期望的結果:它打印“hello world”到屏幕上。但這并不是我們的最終目標;實際上Hibernate與諸如EJB容器這樣的環境在持久層實現的方式上有很大的不同。我們的持久類(Message類)可以用在與容器無關的環境中,不像EJB必須要有EJB容器才能執行。為了能更清楚地表現這點,以下代碼將我們的一個新消息保存到數據庫中去:

Session session = getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
Message message = new Message("Hello World");
session.save(message);
tx.commit();
session.close();

  以上這段代碼調用了Hibernate的Session和Transaction接口(關于getSessionFactory()方法我們將會馬上提到)。它相當于我們執行了以下SQL語句:

insert into MESSAGES (MESSAGE_ID, MESSAGE_TEXT, NEXT_MESSAGE_ID)
values (1, 'Hello World', null)

  在以上的SQL語句中,MESSAGE_ID字段到底被初始化成了什么值呢?由于我們并沒有在先前的代碼中為message對象的id屬性賦與初始值,那它是否為null呢?實際上Hibernate對id屬性作了特殊處理:由于它是一個對象的唯一標識,因此當我們進行save()調用時,Hibernate會為它自動賦予一個唯一的值(我們將在后面內容中講述它是如何生成這個值的)。

  我們假設你已經在數據庫中創建了一個名為MESSAGE的表,那么既然前面這段代碼讓我們將Message對象存入了數據庫中,那么現在我們就要將它們一一取出來。下面這段代碼將按照字母順序,將數據庫中的所有Message對象取出來,并將它們的消息正文打印到屏幕上:

Session newSession = getSessionFactory().openSession();
Transaction newTransaction = newSession.beginTransaction();
List messages =newSession.find("from Message as m order by m.text asc");
System.out.println( messages.size() + " message(s) found:" );
for ( Iterator iter = messages.iterator(); iter.hasNext(); ) {
 Message message = (Message) iter.next();
 System.out.println( message.getText() );
}
newTransaction.commit();
newSession.close();

  在以上這段代碼中,你可能被find()方法的這個參數困擾著:"from Message as m order by m.text asc",其實它是Hibernate自己定義的查詢語言,全稱叫Hibernate Query Language(HQL)。通俗地講HQL與SQL的關系差不多就是方言與普通話之間的關系,咋一看,你會覺得它有點類似于SQL語句。其實在find()調用時,Hibernate會將這段HQL語言翻譯成如下的SQL語句:

select m.MESSAGE_ID, m.MESSAGE_TEXT, m.NEXT_MESSAGE_ID
from MESSAGES m
order by m.MESSAGE_TEXT asc

  以下就是運行結果:

1 message(s) found:
Hello World

  如果你以前沒有ORM(對象-關系映射)的開發經驗,那你可能想在代碼的某個地方去尋找這段SQL語句,但在Hibernate中你可能會失望:它根本不存在!所有就SQL語句都是Hibernate動態生成的。

  也許你會覺得還缺點什么,對!僅憑以上代碼Hibernate是無法將我們的Message類持久化的。我們還需要一些更多的信息,這就是映射定義表!這個表在Hibernate中是以XML格式來體現的,它定義了Message類的屬性是怎樣與數據庫中的MESSAGES表的字段進行一一對應的,列表2是這個示例程序的映射配置文件清單:

  列表2:示例程序的對象-關系映射表

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="hello.Message" table="MESSAGES">
?。糹d name="id" column="MESSAGE_ID">
 ?。糶enerator class="increment"/>
 </id>
?。紁roperty name="text" column="MESSAGE_TEXT"/>
 <many-to-one name="nextMessage" cascade="all" column="NEXT_MESSAGE_ID"/>
</class>
</hibernate-mapping>

  以上這個文檔告訴Hibernate怎樣將Message類映射到MESSAGES表中,其中Message類的id屬性與表的MESSAGE_ID字段對應,text屬性與表的MESSAGE_TEXT字段對應,nextMessage屬性是一個多對一的關系,它與表中的NEXT_MESSAGE_ID相對應。

  相對于有些開源項目來說,Hibernate的配置文件其實是很容易理解的。你可以輕松地修改與維護它。只要你定義好了持久類與數據庫中表字段的對應關系就行了,Hibernate會自動幫你生成SQL語句來對Message對象進行插入、更新、刪除、查找工作,你可以不寫一句SQL語句,甚至不需要懂得SQL語言!

  現在讓我們做一個新的試驗,我們先取出第一個Message對象,然后修改它的消息正文,最后我們再生成一個新的Message對象,并將它作為第一個Message對象的下一條消息,其代碼如下:

  列表3 更新一條消息

Session session = getSessionFactory().openSession();
Transaction tx = session.beginTransaction();
// 1 is the generated id of the first message
Message message =(Message) session.load( Message.class, new Long(1) );
message.setText("Greetings Earthling");
Message nextMessage = new Message("Take me to your leader (please)");
message.setNextMessage( nextMessage );
tx.commit();
session.close();

  以上這段代碼在調用時,Hibernate內部自動生成如下的SQL語句:

select m.MESSAGE_ID, m.MESSAGE_TEXT, m.NEXT_MESSAGE_ID
from MESSAGES m
where m.MESSAGE_ID = 1

insert into MESSAGES (MESSAGE_ID, MESSAGE_TEXT, NEXT_MESSAGE_ID)
values (2, 'Take me to your leader (please)', null)

update MESSAGES
set MESSAGE_TEXT = 'Greetings Earthling', NEXT_MESSAGE_ID = 2
where MESSAGE_ID = 1

  當第一個Message對象的text屬性和nextMessage被程序修改時,請注意Hibernate是如何檢測到這種變化,并如何在數據庫中自動對它更新的。這實際上是Hibernate的一個很有價值的特色,我們把它稱為“自動臟數據檢測”,Hibernate的這個特色使得當我們修改一個持久對象的屬性后,不必顯式地通知Hibernate去將它在數據庫中進行更新。同樣的,當第一個Message對象調用setNextMessage()方法將第二個Message對象作為它的下一條消息的引用時,第二條消息會無需調用save()方法,便可以自動地保存在數據庫中。這種特色被稱為“級聯保存”,它也免去了我們顯式地對第二個Message對象調用save()方法之苦。

  如果我們再運行先前的那段將數據庫中所有的Message對象都打印出來的代碼,那它的運行結果如下:

2 message(s) found:
Greetings Earthling
Take me to your leader (please)

  “Hello world”示例程序現在介紹完畢。我們總算對Hibernate有了一個簡單的認識,下面我們將回過頭來,對Hibernate的主要API調用作一下簡要的介紹:


  理解Hibernate的架構

  當你想用Hibernate開發自己的基于持久層的應用時,第一件事情應當是熟悉它的編程接口。Hibernate的API接口設計得盡量簡潔明了,以方便開發人員。然而實際上由于ORM的復雜性,它的API一般都不可能設計得很簡單。但是別擔心,你沒有必要一下子了解所有的Hibernate的API接口。下面這張圖描述了Hibernate在應用層和持久層中的一些重要的接口類:


  在上圖中,我們將應用層放在了持久層的上部,實際上在傳統的項目中,應用層充當著持久層的一個客戶端角色。但對于一些簡單的項目來說,應用層和持久層并沒有區分得那么清楚,這也沒什么,在這種情況下你可以將應用層和持久層合并成了一層。

  在上圖中,Hibernate的接口大致可以分為以下幾種類型:

  · 一些被用戶的應用程序調用的,用來完成基本的創建、讀取、更新、刪除操作以及查詢操作的接口。這些接口是Hibernate實現用戶程序的商業邏輯的主要接口,它們包括Session、Transaction和Query。

  · Hibernate用來讀取諸如映射表這類配置文件的接口,典型的代表有Configuration類。

  · 回調(Callback)接口。它允許應用程序能對一些事件的發生作出相應的操作,例如Interceptor、Lifecycle和Validatable都是這一類接口。

  · 一些可以用來擴展Hibernate的映射機制的接口,例如UserType、CompositeUserType和IdentifierGenerator。這些接口可由用戶程序來實現(如果有必要)。

  Hibernate使用了J2EE架構中的如下技術:JDBC、JTA、JNDI。其中JDBC是一個支持關系數據庫操作的一個基礎層;它與JNDI和JTA一起結合,使得Hibernate可以方便地集成到J2EE應用服務器中去。

  在這里,我們不會詳細地去討論Hibernate API接口中的所有方法,我們只簡要講一下每個主要接口的功能,如果你想了解得更多的話,你可以在Hibernate的源碼包中的net.sf.hibernate子包中去查看這些接口的源代碼。下面我們依次講一下所有的主要接口:

  核心接口

  以下5個核心接口幾乎在任何實際開發中都會用到。通過這些接口,你不僅可以存儲和獲得持久對象,并且能夠進行事務控制。

  Session接口

  Session接口對于Hibernate 開發人員來說是一個最重要的接口。然而在Hibernate中,實例化的Session是一個輕量級的類,創建和銷毀它都不會占用很多資源。這在實際項目中確實很重要,因為在客戶程序中,可能會不斷地創建以及銷毀Session對象,如果Session的開銷太大,會給系統帶來不良影響。但值得注意的是Session對象是非線程安全的,因此在你的設計中,最好是一個線程只創建一個Session對象。

  在Hibernate的設計者的頭腦中,他們將session看作介于數據連接與事務管理一種中間接口。我們可以將session想象成一個持久對象的緩沖區,Hibernate能檢測到這些持久對象的改變,并及時刷新數據庫。我們有時也稱Session是一個持久層管理器,因為它包含這一些持久層相關的操作,諸如存儲持久對象至數據庫,以及從數據庫從獲得它們。請注意,Hibernate 的session不同于JSP應用中的HttpSession。當我們使用session這個術語時,我們指的是Hibernate中的session,而我們以后會將HttpSesion對象稱為用戶session。

  SessionFactory 接口

  這里用到了一個設計模式――工廠模式,用戶程序從工廠類SessionFactory中取得Session的實例。

  令你感到奇怪的是SessionFactory并不是輕量級的!實際上它的設計者的意圖是讓它能在整個應用中共享。典型地來說,一個項目通常只需要一個SessionFactory就夠了,但是當你的項目要操作多個數據庫時,那你必須為每個數據庫指定一個SessionFactory。
SessionFactory在Hibernate中實際起到了一個緩沖區的作用,它緩沖了Hibernate自動生成的SQL語句和一些其它的映射數據,還緩沖了一些將來有可能重復利用的數據。

  Configuration 接口

  Configuration接口的作用是對Hibernate進行配置,以及對它進行啟動。在Hibernate的啟動過程中,Configuration類的實例首先定位映射文檔的位置,讀取這些配置,然后創建一個SessionFactory對象。

  雖然Configuration接口在整個Hibernate項目中只扮演著一個很小的角色,但它是啟動hibernate時你所遇到的每一個對象。

  Transaction 接口

  Transaction接口是一個可選的API,你可以選擇不使用這個接口,取而代之的是Hibernate的設計者自己寫的底層事務處理代碼。 Transaction接口是對實際事務實現的一個抽象,這些實現包括JDBC的事務、JTA中的UserTransaction、甚至可以是CORBA事務。之所以這樣設計是能讓開發者能夠使用一個統一事務的操作界面,使得自己的項目可以在不同的環境和容器之間方便地移值。

  Query和Criteria接口

  Query接口讓你方便地對數據庫及持久對象進行查詢,它可以有兩種表達方式:HQL語言或本地數據庫的SQL語句。Query經常被用來綁定查詢參數、限制查詢記錄數量,并最終執行查詢操作。

  Criteria接口與Query接口非常類似,它允許你創建并執行面向對象的標準化查詢。

  值得注意的是Query接口也是輕量級的,它不能在Session之外使用。

  Callback 接口

  當一些有用的事件發生時――例如持久對象的載入、存儲、刪除時,Callback接口會通知Hibernate去接收一個通知消息。一般而言,Callback接口在用戶程序中并不是必須的,但你要在你的項目中創建審計日志時,你可能會用到它。


  一個重要的術語:Type

  Hibernate的設計者們發明了一個術語:Type,它在整個構架中是一個非?;A、有著強大功能的元素。一個Type對象能將一個Java類型映射到數據庫中一個表的字段中去(實際上,它可以映射到表的多個字段中去)。持久類的所有屬性都對應一個type。這種設計思想使用Hibernate有著高度的靈活性和擴展性。

  Hibernate內置很多type類型,幾乎包括所有的Java基本類型,例如Java.util.Currency、Java.util.calendar、byte[]和Java.io.Serializable。

  不僅如此,Hibernate還支持用戶自定義的type,通過實現接口UserType和接口CompositeUserType,你可以加入自己的type。你可以利用這種特色讓你的項目中使用自定義的諸如Address、Name這樣的type,這樣你就可以獲得更大的便利,讓你的代碼更優雅。自定義type在Hibernate中是一項核心特色,它的設計者鼓勵你多多使用它來創建一個靈活、優雅的項目!

  策略接口

  Hibernate與某些其它開源軟件不同的還有一點――高度的可擴展性,這通過它的內置策略機制來實現。當你感覺到Hibernate的某些功能不足,或者有某些缺陷時,你可以開發一個自己的策略來替換它,而你所要做的僅僅只是繼承它的某個策略接口,然后實現你的新策略就可以了,以下是它的策略接口:

  · 主鍵的生成 (IdentifierGenerator 接口)

  · 本地SQL語言支持 (Dialect 抽象類)

  · 緩沖機制 (Cache 和CacheProvider 接口)

  · JDBC 連接管理 (ConnectionProvider接口)

  · 事務管理 (TransactionFactory, Transaction, 和 TransactionManagerLookup 接口)

  · ORM 策略 (ClassPersister 接口)

  · 屬性訪問策略 (PropertyAccessor 接口)

  · 代理對象的創建 (ProxyFactory接口)

  Hibernate為以上所列的機制分別創建了一個缺省的實現,因此如果你只是要增強它的某個策略的功能的話,只需簡單地繼承這個類就可以了,沒有必要從頭開始寫代碼。

  以上就是Hibernate的一些核心接口,但當我們真正開始用它進行開發時,你的腦海里可能總會有一個疑問:我是通過什么方式,并從哪里取得Session的呢?以下我們就解答這個問題。

  基礎配置

  現在回顧一下我們先前的內容:我們寫出了一個示例程序,并簡要地講解了Hibernate的一些核心類。但要真正使你的項目運行起來,還有一件事必須要做:配置。Hibernate可以配置成可在任何Java環境中運行,一般說來,它通常被用在2-3層的C/S模式的項目中,并被部署在服務端。在這種項目中,Web瀏覽器、或Java GUI程序充當者客戶端。盡管我們的焦點主要是集中在多層web應用,但實際上在一些基于命令行的應用中也可以使用Hibernate。并且,對Hibernate的配置在不同的環境下都會不同,Hibernate運行在兩種環境下:可管理環境和不可管理環境

  · 可管理環境――這種環境可管理如下資源:池資源管理,諸如數據庫連接池和,還有事務管理、安全定義。一些典型的J2EE服務器(JBoss、Weblogic、WebSphere)已經實現了這些。

  · 不可管理環境――只是提供了一些基本的功能,諸如像Jetty或Tomcat這樣的servlet容器環境。一個普通的Java桌面應用或命令行程序也可以認為是處于這種環境下。這種環境不能提供自動事務處理、資源管理或安全管理,這些都必須由應用程序自己來定義。

  Hibernate的設計者們將這兩種環境設計了一個統一的抽象界面,因此對于開發者來說只有一種環境:可管理環境。如果實際項目是建立在諸如Tomcat這類不可管理的環境中時,那Hibernate將會使用它自己的事務處理代碼和JDBC連接池,使其變為一個可管理環境。
對于可管理的環境而言,Hibernate會將自己集成在這種環境中。對于開發者而言,你所要做的工作非常簡單:只需從一個Configuration類中創建一個SessionFactory類就可以了。


  創建一個SessionFactory對象

  為了能創建一個SessionFactory對象,你必須在Hibernate初始化時創建一個Configuration類的實例,并將已寫好的映射文件交由它處理。這樣,Configuration對象就可以創建一個SessionFactory對象,當SessionFactory對象創建成功后,Configuration對象就沒有用了,你可以簡單地拋棄它。如下是示例代碼:

Configuration cfg = new Configuration();
cfg.addResource("hello/Message.hbm.xml");
cfg.setProperties( System.getProperties() );
SessionFactory sessions = cfg.buildSessionFactory();

  在以上代碼中,Message.hb.xml這個映射文件的位置比較特殊,它與當前的classpath相關。例如classpath包含當前目錄,那在上述代碼中的Message.hbm.xml映射文件就可以保存在當前目錄下的hello目錄中。

  作為一種約定,Hibernate的映射文件默認以.htm.xml作為其擴展名。另一個約定是堅持為每一個持久類寫一個配置文件,想一想如果你將所有持久類的映射寫入一個單獨的配置文件中的話,那這個配置文件肯定非常龐大,不易維護。但這里又出現了一個新問題:如果為每個類寫一個配置文件的話,這么多的配置文件應該存放在哪里呢?

  Hibernate推薦你將每個映射文件保存在與持久類相同的目錄下,并且與持久類同名。例如我們第一個示例程序中的Message持久類放在hello目錄下,那你必須在這個目錄下存放名為Message.hbm.xml的映射文件。這樣一個持久類都有自己的一個映射文件,避免了出現像struts項目中的“struts-config.xml地獄”的情況。如果你不遵循這種規定,那你必須手動地用addResource()方法將一個個的映射文件載入;但你如果遵循這種規定,那你可以方便地用addClass()方法同時將持久類和它的映射文件載入,以下是體現這種便利性的示例代碼:

SessionFactory sessions = new Configuration()
.addClass(org.hibernate.auction.model.Item.class)
.addClass(org.hibernate.auction.model.Category.class)
.addClass(org.hibernate.auction.model.Bid.class)
.setProperties( System.getProperties() )
.buildSessionFactory();

  當然,Hibernate的映射文件還有很多其它的配置選項,比如數據庫連接的設定,或是能夠改變Hibernate運行時行為的一些設定。所有的設置可能是非常龐雜的,足以讓你喘不過氣來,但是不必擔心,因為Hibernate為絕大多數值都設定了一個合理缺省值,你只需要修改這些配置文件中的極小一部分值。

  你可以通過以下幾種方式來修改Hibernate的系統配置參數:

  · 將一個Java.util.Properties實例作為參數傳給Configuration類的setProperties()方法。

  · 在Hibernate啟動時用Java –Dproperty=value的方式設置值。

  · 在classpath可以找到的路徑下創建一個名為hibernate.properties的配置文件。

  · 在classpath可以找到的路徑下創建一個名為hibernate.cfg.xml的文件,并在其<property>標簽中定義屬性值。

  以上就是對Hibernate的一個大致介紹,如果你想知道得更多,那本文還是遠遠不夠的,我將陸續推出更多關于Hibernate的資料。但有一點是毫無疑問的:它的確是一個非常優秀的持久層解決方案!


原語 2006-03-22 23:31 發表評論
]]>
面試歸來http://www.aygfsteel.com/b47617/archive/2006/03/22/36933.html原語原語Wed, 22 Mar 2006 14:51:00 GMThttp://www.aygfsteel.com/b47617/archive/2006/03/22/36933.htmlhttp://www.aygfsteel.com/b47617/comments/36933.htmlhttp://www.aygfsteel.com/b47617/archive/2006/03/22/36933.html#Feedback0http://www.aygfsteel.com/b47617/comments/commentRss/36933.htmlhttp://www.aygfsteel.com/b47617/services/trackbacks/36933.html??????每次去公司面試,總要延著小月河去公共汽車站(高興),每次面試結束,總要延著小月河回到公寓樓(沮喪).一次次從峰頂跌入峰谷,真是叫人痛苦.???長達四個月的面試時間(2005-11-9至2006-3-22),這已經足夠考驗一個人的耐性了.還好我總算堅持過來了.?今天(2006-3-22)是世界水日,由于第一次筆試答的還不錯,今天也是我的復試的機會.對,就是這次,我被**公司錄用了(應屆畢業生).真是難忘的一天啊!@



原語 2006-03-22 22:51 發表評論
]]>
轉 Unicode是什么.http://www.aygfsteel.com/b47617/archive/2006/03/21/36695.html原語原語Tue, 21 Mar 2006 13:26:00 GMThttp://www.aygfsteel.com/b47617/archive/2006/03/21/36695.htmlhttp://www.aygfsteel.com/b47617/comments/36695.htmlhttp://www.aygfsteel.com/b47617/archive/2006/03/21/36695.html#Feedback0http://www.aygfsteel.com/b47617/comments/commentRss/36695.htmlhttp://www.aygfsteel.com/b47617/services/trackbacks/36695.html 析Unicode和UTF-8

1.????? 各地的方言

  首先說明一下現在常用的一些編碼方案:

1.???????? 在中國,大陸最常用的就是 GBK18030 編碼,除此之外還有 GBK , GB2312 ,這幾個編碼的關系是這樣的。

n???????? 最早制定的漢字編碼是 GB2312 ,包括 6763 個漢字和 682 個其它符號

n???????? 95 年重新修訂了編碼,命名 GBK1.0 ,共收錄了 21886 個符號。

n???????? 之后又推出了 GBK18030 編碼,共收錄了 27484 個漢字,同時還收錄了藏文、蒙文、維吾爾文等主要的少數民族文字,現在 WINDOWS 平臺必需要支持 GBK18030 編碼。

按照 GBK18030 、 GBK 、 GB2312 的順序,3種編碼是向下兼容,同一個漢字在三個編碼方案中是相同的編碼。

?

2.???????? 臺灣,香港等地使用的是 BIG5 編碼

3.???????? 日本: SJIS 編碼

2.????? Unicode

  如果把各種文字編碼形容為各地的方言,那么 Unicode 就是世界各國合作開發的一種語言。

  在這種語言環境下,不會再有語言的編碼沖突,在同屏下,可以顯示任何語言的內容,這就是 Unicode 的最大好處。

?

  那么 Unicode 是如何編碼的呢?其實非常簡單。

  就是將世界上所有的文字用2個字節統一進行編碼。可能你會問,2個字節最多能夠表示 65536 個編碼,夠用嗎?

  韓國和日本的大部分漢字都是從中國傳播過去的,字型是完全一樣的。

  比如:“文”字, GBK SJIS 中都是同一個漢字,只是編碼不同而已。

  那樣,像這樣統一編碼,2個字節就已經足夠容納世界上所有的語言的大部分文字了。

UCS-2 UCS-4

   Unicode 的學名是 "Universal Multiple-Octet Coded Character Set" ,簡稱為 UCS 。

  現在用的是 UCS-2 ,即2個字節編碼,而 UCS-4 是為了防止將來2個字節不夠用才開發的。 UCS-2 也稱為基本多文種平面。

   UCS-2 轉換到 UCS-4 只是簡單的在前面加2個字節 0 。

   UCS-4 則主要用于保存輔助平面,例如 Unicode 4.0 中的第二輔助平面

   20000-20FFF - 21000-21FFF - 22000-22FFF - 23000-23FFF - 24000-24FFF - 25000-25FFF -    26000-26FFF - 27000-27FFF - 28000-28FFF - 29000-29FFF - 2A000-2AFFF - 2F000-2FFFF

  總共增加了 16 個輔助平面,由原先的 65536 個編碼擴展至將近 100 萬編碼。

3.????? 兼容 codepage

  那么既然統一了編碼,如何兼容原先各國的文字編碼呢?

  這個時候就需要 codepage 了。

  什么是 codepage ? codepage 就是各國的文字編碼和 Unicode 之間的映射表。

  比如簡體中文和 Unicode 的映射表就是 CP936 ,點 這里 查看官方的映射表。

以下是幾個常用的 codepage ,相應的修改上面的地址的數字即可。

codepage=936 簡體中文 GBK

codepage=950 繁體中文 BIG5

codepage=437 美國 / 加拿大英語

codepage=932 日文

codepage=949 韓文

codepage=866 俄文

codepage=65001 unicode UFT-8

?

最后一個 65001 ,據個人理解,應該只是一個虛擬的映射表,實際只是一個算法而已。

?

936 中隨意取一行,例如:

0x9993 0x6ABD #CJK UNIFIED IDEOGRAPH

前面的編碼是 GBK 的編碼,后面的是 Unicode 。

通過查這張表,就能簡單的實現 GBK Unicode 之間的轉換。

?

4.????? UTF-8

  現在明白了 Unicode ,那么 UTF-8 又是什么呢?又為什么會出現 UTF-8 呢?

   ASCII 轉換成 UCS-2 ,只是在編碼前插入一個 0x0 。用這些編碼,會包括一些控制符,比如 '' '/' ,這在 UNIX 和一些 C 函數中,將會產生嚴重錯誤。因此可以肯定, UCS-2 不適合作為 Unicode 的外部編碼。

  因此,才誕生了 UTF-8 。那么 UTF-8 是如何編碼的?又是如何解決 UCS-2 的問題呢?

例:

E4 BD A0          11100100 10111101 10100000

這是“你”字的 UTF-8 編碼

4F 60            01001111 01100000

這是“你”的 Unicode 編碼

?

按照 UTF-8 的編碼規則,分解如下: xxxx0100 xx111101 xx100000

把除了 x 之外的數字拼接在一起,就變成“你”的 Unicode 編碼了。

注意 UTF-8 的最前面3個 1 ,表示整個 UTF-8 串是由3個字節構成的。

經過 UTF-8 編碼之后,再也不會出現敏感字符了,因為最高位始終為 1

?

以下是 Unicode UTF-8 之間的轉換關系表:

U-00000000 - U-0000007F: 0xxxxxxx

U-00000080 - U-000007FF: 110xxxxx 10xxxxxx

U-00000800 - U-0000FFFF: 1110xxxx 10xxxxxx 10xxxxxx

U-00010000 - U-001FFFFF: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

U-00200000 - U-03FFFFFF: 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

U-04000000 - U-7FFFFFFF: 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

?

Unicode 編碼轉換到 UTF-8, 簡單的把 Unicode 字節流套到 x 中就變成 UTF-8 了。



原語 2006-03-21 21:26 發表評論
]]>
轉 女人最想要的是什么http://www.aygfsteel.com/b47617/archive/2006/03/20/36257.html原語原語Mon, 20 Mar 2006 03:10:00 GMThttp://www.aygfsteel.com/b47617/archive/2006/03/20/36257.htmlhttp://www.aygfsteel.com/b47617/comments/36257.htmlhttp://www.aygfsteel.com/b47617/archive/2006/03/20/36257.html#Feedback0http://www.aygfsteel.com/b47617/comments/commentRss/36257.htmlhttp://www.aygfsteel.com/b47617/services/trackbacks/36257.html

女人最想要的是什么

?

????? 那是在一次英語口語課上,我們的美國老師給大家留了一個家庭作業:學習一篇文章并思考文章的問題,下一堂課將用英語進行討論。那只是老師為了我們練習說英語的一篇文章,但由此卻引出了一些思考。我把那篇文章翻譯成中文,大意是: ?

??? 年輕的亞瑟國王被鄰國的伏兵抓獲。鄰國的君主被亞瑟的年輕和樂觀所打動,沒有殺他。并承諾只要亞瑟可以回答一個非常難的問題,他就可以給亞瑟自由。亞瑟有一年的時間來思考這個問題。如果一年的時間還不能給他答案,亞瑟就會被處死。 ? ????

??? 這個問題是:女人真正想要的是什么?

??? 這個問題連最有見識的人都困惑難解,何況年輕的亞瑟,對于他這是個無法回答的問題。但總比死亡要好得多,亞瑟接受了國王的命題在一年的最后一天給他答案。

??? 亞瑟回到自己的國家,開始向每個人征求答案:公主,妓女,牧師,智者,宮庭小丑。他問了所有的人,但沒有人可以給他一個滿意的回答。人們告訴他去請教一個老女巫,只有她才能知道答案。但是他們警告他,女巫的收費非常高,因為她昂貴的收費在全國是出名的。一年的最后一天到了,亞瑟別無選擇,只好去找女巫。女巫答應回答他的問題,但他必須首先接受她的交換條件:

??? 她和亞瑟王最高貴的圓桌武士之一,他最親近的朋友——加溫結婚。亞瑟王驚駭極了,看看女巫:駝背,丑陋不堪,只有一個牙齒,身上發出臭水溝般難聞的氣味,而且經常制造出猥褻的聲音。他從沒有見過如此不合諧的怪物。

?? 他拒絕了,他不能強迫他的朋友娶這樣的女人而讓自己背付沉重的精神包袱。加溫知道這個消息后,對亞瑟說:“我同意和女巫結婚,沒有比拯救亞瑟的生命和保存圓桌更重要的事了。”

?? ?? 于是婚禮宣布了。女巫于是回答了亞瑟的問題:女人真正想要的是主宰自己的命運。

??? 每個人都立即知道了女巫說出了一個偉大的真理,亞瑟的生命被解救了。

??? 于是鄰國的君主放了亞瑟王并給了他永遠的自由。來看看加溫和女巫的婚禮吧,這是怎樣的婚禮呀!亞瑟王在無法解脫的極度痛苦中哭泣。加溫一如既往的謙和,而女巫卻在慶典上表現出她最壞的行為:她用手抓東西吃,打嗝, ** ,讓所有的人感到惡心,不舒服。

??? 新婚的夜晚來臨了:加溫依然堅強地面對可怕的夜晚,走進新房。是怎樣的景象在等待著他呀!一個他從沒見過的美麗的少女半躺在婚床上!加溫驚呆了,問她到底是怎么回事。

??? 美女回答說,因為當她是個丑陋的女巫時加溫對她非常的好,于是她在一天的時間里一半是她可怕的一面,另一半是她美少女的一面。那么加溫想要她在白天或夜晚是哪一面呢?

??? 多么殘酷的問題呀!加溫開始思考他的困境:在白天向朋友們展現一個美麗的女人,而在夜晚,在他自己的屋子里,面對的是一個又老又丑如幽靈般的女巫呢?還是選擇白天擁有一個丑陋的女巫妻子,但在晚上與一個美麗的女人共同度過每一個親密的時刻?

??? 如果你是加溫,會怎樣選擇呢?

??? 第二天的口語課上,答案五花八門,歸納起來也就是兩種: 一種選擇白天是女巫,夜晚是美女,理由是妻子是自己的,不必愛慕虛榮,苦樂自知就可以了;一種選擇白天是美女,因為可以得到別人羨慕的目光,至于晚上,可以在外作樂,回到家里,漆黑的屋子,美丑都無所謂了。

??? 老師聽了所有同學的答案,沒有說什么,只是問我們是否想知道加溫的回答。大家說當然想。 ?
?

? ??? 老師說:“加溫沒有做任何選擇,只是對他的妻子說:‘既然女人最想要的是主宰自己的命運,那么就由你自己決定吧。’”

??? 于是女巫選擇白天夜晚都是美麗的女人。所有的人都沉默了——竟沒有一個人作出加溫的選擇。

??? 有時我們是不是很自私?以自己的喜好去安排別人的生活,卻沒有想過人家是不是愿意。而當你尊重別人,理解別人時,往往得到的更多。如果我們多一些愛心,多一點關懷給人,我們是不是也會得到更多的回報 ?


男人最想要的是什么??

??????社會實踐殘酷地告訴人們,愛情和婚姻其實是兩碼事。不知你是否同意這個觀點?
愛情總發生在沒結婚的男女之間,異性之間相互吸引的那種特殊的激情被人們稱之為愛情。中國人的觀念是相愛一定要結婚,結婚才是完整的愛情。當然婚姻是人和人美好的結合,是愛情真實的升華,是幸福人生的又一個開始。但現實是愛情未必產生婚姻,更未必產生幸福的婚姻。愛情可以不需要“面包和牛奶”,只要感覺就足夠了?;橐鰟t非?,F實,真正穩定的婚姻,其決定因素已不僅只是愛情,而加之必備的物質條件,合適的社會地位,雙方的文化道德修養。因為結婚后的生活內涵發生本質變化,責任和義務上升為家庭穩定和社會影響的決定性因素。在法律和道德的約束下,男女雙方對社會、事業、家庭;對老人,對孩子,對對方必須負有強烈的責任感。感情已自然降到次要的地位。在緊張的工作壓力和繁雜的日常生活折磨下,人們主要爭取和拼搏的是社會的承認,生活的保障,子女的培養,老人的贍養等切身利益問題。如果在家庭中希望對方表現出種種愛情的言行,苛求對方盡善盡美,甚至要求達到“郎才女貌“、“相敬如賓”、“體貼入微”“紅袖添香夜讀書”、“為濃消的人憔悴”的民間神話故事所描寫的理想境界。其結果往往是忘記自己的缺點,擴大對方的不足,越要求的高,對方的反感就越大。反而得到的只能是失落、苦惱、傷感,雙方沒有了忍讓和寬容,彼此越看越厭倦,吵架的機會越來越多,從而導致婚姻的失敗和破裂。
就目前情況看,我國的家庭婚姻狀況大體上分四種:可惡、可忍、可過、可意。我們都知道:可惡的的婚姻是悲慘的,可意的婚姻是美滿的,這兩種都占少數。對多數人而言,婚姻都維持在“可忍”和“可過”的狀態。然而沒有愛情的婚姻無疑是一座墳墓。一個家庭中,沒有真正的情感,那是很痛苦的事。開放的潮流開始使人們“覺醒”,一些人開始拋開世俗,重新尋找真正的愛情和滿意的婚姻。其中有的人沖破已有的家庭束縛,重新去建立一個新的理想的新家;有的人為了孩子、為了名譽,維持著原有的家庭,也尋找和追求值的愛和愛自己的情人。所以婚外戀,找情人作為補充情感需求的現象在目前十分盛行。
但是,在現實生活中,許多人并不能正確看待男女之間的情感,特別是對已有家庭的男女,如果他們有感情,交往密切,那可怕的流言蜚語就會鋪天蓋地向他們砸去、甚至把他們和無廉無恥、卑鄙齷齪、流氓下流等最骯臟的詞匯聯系在一起。
愛美是人的天性,優秀男女之間純情的愛戀,對已婚的男女來說,也是可能發生的。對美好的渴望和追求本來是人的基本權力,在不傷害他人的情況下,法律和道德都應該給以肯定。但是,對已婚的男女來說,這是一個很“危險”的“游戲”。因為在我們國家現時國情下,它被認為是“不道德”的行為,不僅要受到傳統“道德良心”的譴責,還要在社會上臭名遠揚。這是人們受幾千年封建傳統“三綱五?!彼枷胗绊懙目杀慕Y果。舊的傳統提倡“存天理,滅人欲”,做為人的合理利益和正常生理要求在所謂的“道德貞操”的壓迫下,成為“邪念”。這種不講人性,不考慮人的基本權力的舊觀念,緊箍了人的本性,使人應有的情感需求受到壓抑。在西方發達進步的國家里,主張“天賦人權”,其理論基礎是自然法和人性論。人性的首要法則是“自我保存”,為了實現每個人的自我保存,自然法規定了個人的中心地位,任何社會秩序都以個人的契約自由為基礎,法律的目的是保護和擴大個人自由。在這樣的社會觀念影響下,對情感這樣完全屬于個人行為的現象,社會采取了十分寬容的態度,人們的認識也是給予充分的理解。只要男女雙方情投意合,他們之間的活動包括在床上就是玩“游戲”。只要不產生什么影響,別人無可挑剔。我在蘇聯留學期間,深感這個國家的人民是幸運的。他們男女之間的情感交流是那么和諧和自然。愛在每個人的心里是十分神圣的名詞。只要兩個人產生好感,發生性關系是很正常的。因為男人和男人可以成為好朋友,在一起滑冰、滑雪,打牌、喝酒。女人和女人可以成為好朋友,在一切逛街,泡吧,洗桑拿。而男人和女人成為好朋友,上床游戲也是感情的交流,如同其他活動一樣,并沒有什么可指責的。所以,在蘇聯有情人是男女優秀的象征,沒有的是自己無能的表現。就象人們現在常常引用的一句名言:能做情人的必是女人的精品,擁有情人的必是男人的智者!
當然,說它是“危險的游戲”也是有道理的。因為人是復雜的,好壞如何區分?如何在紛亂的人群中找到屬于你的心上人?而且確實彼此都沒有別的企圖和欲望,確實是相互愛慕,那是需要機遇和緣分,并且要有一定的水平和能力的。這個人能讓你心動,能給你帶來歡樂,同時給你安全感。在你需要他的時候,他隨叫隨到,關心你、體貼你,給你安慰,給你快樂。同時他決不給你帶來任何煩惱和麻煩。這就要看你的眼力,同時需要時間的考驗。





原語 2006-03-20 11:10 發表評論
]]>
主站蜘蛛池模板: 稷山县| 沂源县| 西充县| 海口市| 武陟县| 彭州市| 宜黄县| 洪洞县| 乐昌市| 广西| 镇雄县| 仪征市| 彭山县| 筠连县| 儋州市| 临澧县| 麻江县| 琼结县| 通道| 嘉禾县| 聂拉木县| 牙克石市| 郎溪县| 承德市| 略阳县| 黔江区| 鄱阳县| 临洮县| 宣威市| 信丰县| 中西区| 尼勒克县| 奎屯市| 金塔县| 威海市| 久治县| 商丘市| 班玛县| 奎屯市| 鹤庆县| 子长县|