亚洲激情视频,成人自拍偷拍,在线亚洲一区观看http://www.aygfsteel.com/b47617/攀登!進步!zh-cnWed, 18 Jun 2025 20:48:30 GMTWed, 18 Jun 2025 20:48:30 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型白羊,對“恨”這個字眼沒多大興趣,他是不愛就是不愛而已。在愛情上,白羊是相當干脆的,不喜歡拖泥帶水,屬于行動派,要求立見真章。他們最不能忍受一廂情愿。

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

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

  樂觀乃天性不是不悲觀

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

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

  爆發型的浪漫

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

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

  因此,你也可以推論出,工作、事業、婚姻、友情都不在白羊浪漫的范疇中,他對這些反是以細水長流的方式經營。“徒步越過愛琴島是可能的,你只要逐島跳過去就行了。”

  嗨!我在這里

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

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

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

  正經八百的,會要他的命

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

  一般社會上流行的娛樂,白羊座都能欣然加作,但是他本來就有的獨特娛樂品味也不會放棄。也就是說很愛聽歌劇,但也喜歡到卡拉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發明者發明的一個術語,它在整個構架中是一個非常基礎、有著強大功能的元素,一個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">
 <id name="id" column="MESSAGE_ID">
  <generator class="increment"/>
 </id>
 <property 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,它在整個構架中是一個非常基礎、有著強大功能的元素。一個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

女人最想要的是什么

?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


男人最想要的是什么??

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





原語 2006-03-20 11:10 發表評論
]]>
主站蜘蛛池模板: 仙游县| 泸溪县| 蒙山县| 闻喜县| 凤阳县| 曲松县| 株洲市| 堆龙德庆县| 逊克县| 贵溪市| 凭祥市| 乌什县| 临江市| 黄浦区| 洪江市| 腾冲县| 冕宁县| 称多县| 株洲市| 仁怀市| 开封市| 临安市| 清原| 蒲城县| 梓潼县| 白山市| 阿图什市| 米易县| 安国市| 长垣县| 馆陶县| 虞城县| 宜良县| 太仆寺旗| 天峨县| 彩票| 通辽市| 金乡县| 汉中市| 富川| 山东|