我的周?chē)绦騿T太多了,他們有著占有一切語(yǔ)言的欲望。在如今的面向?qū)ο蟮哪甏菍?duì)面向?qū)ο笳Z(yǔ)言有著強(qiáng)烈的占有欲。他們通過(guò)一本書(shū),熟悉IDE,幫助文檔掌握。可我總覺(jué)得有些重要的東西給遺忘了,是什么?是對(duì)象本身,更重要的應(yīng)該是如何利用對(duì)象構(gòu)建軟件。
幻想一下,如果有人給你一個(gè)建造房子的活(北京的房子大家應(yīng)該知道是什么價(jià)吧),如果你知道建造房子的一些基本的技能(當(dāng)然是假的)。你的客戶(hù)告訴你建造房子所需的一切材料都是你的活。就在即將開(kāi)工的日子,一輛大卡車(chē)開(kāi)到工地倒下一堆藍(lán)色,星狀的,中間帶洞的材料。你估計(jì)蒙了。你習(xí)慣用水泥,木材建造房子。對(duì)一對(duì)藍(lán)色星狀不知如何是好。
中國(guó)文化真是博大精深,午睡能拯救一下午的精神。午飯后小睡一會(huì)兒能夠有效補(bǔ)償人體腦力、體力方面的消耗,對(duì)于健康是大有裨益的。我的椅子真爽聽(tīng)說(shuō)是1700一把,我的公司真有錢(qián),要知道所以員工都是相同的椅子。可以當(dāng)床睡,我建議華為公司也換成這種椅子,不要老睡在地上了。
從生理學(xué)角度而言,人體腦細(xì)胞的興奮一般可以持續(xù)4~5個(gè)小時(shí),之后便會(huì)轉(zhuǎn)入抑制狀態(tài)。特別是午飯后,消化道的血液供應(yīng)明顯增多,大腦的血液供應(yīng)明顯減少,從而導(dǎo)致隨血流進(jìn)入大腦的氧氣和營(yíng)養(yǎng)物質(zhì)也相應(yīng)減少,于是人體的生物鐘出現(xiàn)一次睡眠節(jié)律,使人產(chǎn)生精神不振、昏昏欲睡的感覺(jué)。此時(shí),身體需要進(jìn)行短時(shí)間的調(diào)整,以消除疲勞,恢復(fù)體力,穩(wěn)定神經(jīng)系統(tǒng)功能的平衡。那么,怎樣科學(xué)地進(jìn)行午睡呢?
首先,午睡時(shí)間不宜太長(zhǎng),最好在1小時(shí)以?xún)?nèi)。生理學(xué)研究表明,人體睡眠分淺睡眠與深睡眠兩個(gè)階段。通常情況下,人們?cè)谌胨?0~100分鐘后,便逐漸由淺睡眠轉(zhuǎn)入深睡眠。在深睡眠過(guò)程中,大腦各中樞的抑制過(guò)程明顯加強(qiáng),腦組織中許多毛細(xì)血管網(wǎng)暫時(shí)關(guān)閉,腦血流量減少,機(jī)體的新陳代謝水平明顯降低。如果人們?cè)谏钏唠A段突然醒來(lái),由于大腦皮層中較深的抑制過(guò)程不能馬上解除,關(guān)閉的毛細(xì)血管網(wǎng)也不能立即開(kāi)放,勢(shì)必造成大腦出現(xiàn)一過(guò)性供血不足,植物神經(jīng)系統(tǒng)功能出現(xiàn)暫時(shí)性紊亂,人體會(huì)感覺(jué)非常難受。這種不適感覺(jué)大約要持續(xù)30分鐘左右才會(huì)逐漸消失。可見(jiàn),午睡時(shí)間不是越長(zhǎng)越好,而應(yīng)以1小時(shí)以?xún)?nèi)為宜,這樣既能有效消除疲勞,又不至于睡得過(guò)沉而不易醒來(lái)。
其次,不宜飯后立即午睡。因?yàn)槲顼埡笪竷?nèi)充滿尚未消化的食物,此時(shí)立即臥倒會(huì)使人產(chǎn)生飽脹感。正確的做法是吃過(guò)午飯后,先做些輕微的活動(dòng),如散步、揉腹等,然后再午睡,這樣有利于食物的消化吸收。
第三,要講究睡眠姿勢(shì)。經(jīng)常可見(jiàn)有些人午睡時(shí)坐在椅子或沙發(fā)上打盹兒,有些人干脆趴在桌子上睡。其實(shí),這些做法都不科學(xué)。人體在睡眠狀態(tài)下,肌肉放松,心率變慢,血管擴(kuò)張,血壓降低,流入大腦的血液相對(duì)減少。尤其是午飯后,較多的血液進(jìn)入胃腸,此時(shí)若再坐著睡,時(shí)間久了大腦就會(huì)缺氧,使人產(chǎn)生頭重、乏力、腿軟等不適感覺(jué)。而趴在桌子上睡,會(huì)壓迫胸部,妨礙呼吸,增加心肺負(fù)擔(dān)。一般認(rèn)為睡覺(jué)姿勢(shì)以右側(cè)臥位為好,因?yàn)檫@樣可使心臟負(fù)擔(dān)減輕,肝臟血流量加大,有利于食物的消化代謝。但實(shí)際上,由于午睡時(shí)間較短,可以不必強(qiáng)求臥睡的偏左、偏右、平臥,只要能迅速入睡就行。
In
synchronous receiving, while the server is waiting to receive data from a client, if the stream is empty the main thread will block until the request for data is satisfied. Hence, the server cannot do anything else until it receives data from the client. If another client attempts to connect to the server at that time, the server cannot process that request because it is blocked on the first client. This behavior is not acceptable for a real-world application where we need to support multiple clients at the same time.
In asynchronous communication, while the server is listening or receiving data from a client, it can still process connection requests from other clients as well as receive data from those clients. When a server is receiving asynchronously, a separate thread (at the OS level) listens on the socket and will invoke a callback function (specified when the asynchronous listening was commenced) when a socket event occurs. This callback function in turn will respond and process that socket event. For example, if the remote program writes some data to the socket, a "read data event" (callback function you specify) is invoked; it knows how to read the data from the socket at that point.
簡(jiǎn)而言之,同步是一對(duì)一的,異步是一對(duì)多的。我翻譯的太牛了,這么多英文就讓我一句話就概括了。
http://www.infoq.com/一大群以前在微軟和ibm等頂尖公司的大牛人開(kāi)的。
牛人有什么了不起的,讓大家追捧的感覺(jué)一定不錯(cuò)吧,虛榮!!!我突然想到我以前上的中學(xué),那時(shí)候沒(méi)有把心思放到學(xué)習(xí)上,所以學(xué)習(xí)不好,感覺(jué)低人一等。其實(shí)我覺(jué)的是老師們有問(wèn)題,他們沒(méi)有好好引導(dǎo)我,沒(méi)有把本來(lái)就不復(fù)雜的知識(shí)說(shuō)清楚,現(xiàn)在看來(lái)他們知道什么?所以我鄙視迂腐的老師們,他們能跟上時(shí)代的腳步?拜托,我還記得當(dāng)初給我評(píng)的全校三差生。靠,現(xiàn)在想起來(lái)還歷歷在目。
?
??????????????????????????????????????
http://www.javaalmanac.com
Java開(kāi)發(fā)者年鑒一書(shū)的在線版本. 要想快速查到某種Java技巧的用法及示例代碼, 這是一個(gè)不錯(cuò)的去處.
http://www.onjava.com
O'Reilly的Java網(wǎng)站. 每周都有新文
http://java.sun.com
官方的Java開(kāi)發(fā)者網(wǎng)站 - 每周都有新文章發(fā)表
http://www.developer.com/java
由Gamelan.com 維護(hù)的Java技術(shù)文章網(wǎng)站
http://www.java.net
Sun公司維護(hù)的一個(gè)Java社區(qū)網(wǎng)站
http://www.builder.com
Cnet的Builder.com網(wǎng)站 - 所有的技術(shù)文章, 以Java為主.
http://www.ibm.com/developerworks/java
IBM的Developerworks技術(shù)網(wǎng)站; 這是其中的Java技術(shù)主頁(yè)
http://www.javaworld.com
最早的一個(gè)Java站點(diǎn). 每周更新Java技術(shù)文章
http://www.devx.com/java
DevX維護(hù)的一個(gè)Java技術(shù)文章網(wǎng)站
http://www.fawcette.com/javapro
JavaPro在線雜志網(wǎng)站.
http://www.sys-con.com/java
Java Developers Journal的在線雜志網(wǎng)站.
http://www.javadesktop.org
位于Java.net的一個(gè)Java桌面技術(shù)社區(qū)網(wǎng)站.
http://www.theserverside.com
這是一個(gè)討論所有Java服務(wù)器端技術(shù)的網(wǎng)站.
http://www.jars.com
提供Java評(píng)論服務(wù). 包括各種framework和應(yīng)用程序
http://www.jguru.com
一個(gè)非常棒的采用Q&A形式的Java技術(shù)資源社區(qū).
http://www.javaranch.com
一個(gè)論壇,得到Java問(wèn)題答案的地方,初學(xué)者的好去處。
http://www.ibiblio.org/javafaq/javafaq.html
comp.lang.java的FAQ站點(diǎn) - 收集了來(lái)自comp.lang.java新聞組的問(wèn)題和答案的分類(lèi)目錄.
http://java.sun.com/docs/books/tutorial/
來(lái)自SUN公司的官方Java指南 - 對(duì)于了解幾乎所有的java技術(shù)特性非常有幫助.
http://www.javablogs.com
互聯(lián)網(wǎng)上最活躍的一個(gè)Java Blog網(wǎng)站.
http://java.about.com/
來(lái)自About.com的Java新聞和技術(shù)文章網(wǎng)站.
java是一個(gè)類(lèi)似.net的一個(gè)東西,是競(jìng)爭(zhēng)的結(jié)果還是他們?cè)缬蓄A(yù)謀。看似對(duì)手,其實(shí)是搞聯(lián)合壟斷。看來(lái)最后還是回歸到寫(xiě)機(jī)器碼的時(shí)代
我在Java 1.0正式問(wèn)世前就開(kāi)始學(xué)習(xí)Java,這么多年過(guò)去了,到現(xiàn)在我的Java學(xué)習(xí)歷程還沒(méi)有停過(guò)。我閱讀原文書(shū),研究原始碼,撰寫(xiě)程序,自認(rèn)為走得扎實(shí),不奢望一步登天。像我這樣老式的學(xué)習(xí)方式,顯然和現(xiàn)在的快餐主義背道而馳。從許多讀者的來(lái)信和學(xué)生的反應(yīng)中,我發(fā)現(xiàn)大多數(shù)的人對(duì)于Java的學(xué)習(xí)歷程都差不多是:因?yàn)楣拘枰褂肑ava來(lái)進(jìn)行服務(wù)器的計(jì)畫(huà),所以急急忙忙地學(xué)習(xí)Java語(yǔ)言,然后就開(kāi)始使用J2EE的API,開(kāi)始寫(xiě)起程序來(lái)了。如此急就章的學(xué)習(xí)方式,程序員基礎(chǔ)能力根本就不夠,對(duì)于對(duì)象導(dǎo)向精髓不能掌握,對(duì)于Java語(yǔ)言?xún)?nèi)部的運(yùn)作機(jī)制毫無(wú)所悉,對(duì)API的整體連貫性懵懵懂懂。
當(dāng)然,我們也不好因此責(zé)怪程序員,畢竟軟件技術(shù)變動(dòng)得太快。公司不可能給程序員足夠的訓(xùn)練之后才開(kāi)始做計(jì)畫(huà)。程序員一下子被指派使用A技術(shù),還沒(méi)弄懂A技術(shù)是怎么回事,又被指派使用B技術(shù),而且都是縫縫補(bǔ)補(bǔ)的方式邊學(xué)邊用,每次都像是全新的開(kāi)始,遑論技術(shù)能量的累積。
我很慶幸的是,我不太有這樣的困擾。因?yàn)槲沂琴Y訊工程系出身(而且我大學(xué)時(shí)上課一向很認(rèn)真),所以理論基礎(chǔ)穩(wěn)固,學(xué)習(xí)新技術(shù)對(duì)我來(lái)說(shuō)不是難事。我就讀大學(xué)時(shí),周遭許多同學(xué)都瞧不起數(shù)據(jù)結(jié)構(gòu)、程序語(yǔ)言、操作系統(tǒng)這些所謂「學(xué)院派」的課程,以為這些課程一點(diǎn)都不實(shí)用。他們認(rèn)為到了外面公司,這些信息科系所學(xué)的一切都派不上用場(chǎng),「只要會(huì)Visual Basic和數(shù)據(jù)庫(kù)就夠了」。這種偏差的心態(tài),恐怕會(huì)使得他們?cè)谥R(shí)經(jīng)濟(jì)時(shí)代吃足了苦頭。
另外還有一派同學(xué)很瞧不起程序設(shè)計(jì)工作,他們告訴我,像我這樣會(huì)寫(xiě)程序的人,未來(lái)進(jìn)了社會(huì)「還不是被他們這些走管理的人踩在腳下」。所以,他們很輕忽理工課程的學(xué)習(xí),甚至還有人相當(dāng)熱衷「成功學(xué)」,認(rèn)為這是邁向成功的快捷方式,卻因此把學(xué)校的課業(yè)棄之不顧。我不敢相信有人竟然如此地本末倒置。
前一類(lèi)的人太過(guò)于短視近利,后一類(lèi)的人太過(guò)于好高騖遠(yuǎn)。我一直很不能理解這些人的想法為什么會(huì)這樣,或許是因?yàn)樯鐣?huì)環(huán)境的風(fēng)氣使然。我很慶幸我到目前還沒(méi)被社會(huì)的大染缸給玷污了(最好這輩子都不要)。我不認(rèn)為我的學(xué)習(xí)方式是一種典范,但是一路走來(lái),倒也頗有進(jìn)展。許多讀者來(lái)信問(wèn)我的學(xué)習(xí)歷程,雖然我個(gè)人的學(xué)習(xí)方式不見(jiàn)得適用于每個(gè)人,但或許還有一些參考價(jià)值(特別是對(duì)于那些有志進(jìn)入信息行業(yè)的年輕學(xué)子),我想透過(guò)本文簡(jiǎn)短地?cái)⑹鲆幌隆?BR>
我一向是采用先深后廣(也稱(chēng)為Bottom-Up,Deep-First)的學(xué)習(xí)方式。比方說(shuō),當(dāng)我在學(xué)A技術(shù)的時(shí)候,學(xué)到一半發(fā)現(xiàn)需要B技術(shù)的基礎(chǔ),我會(huì)到書(shū)局找出一兩本B技術(shù)的書(shū),然后把A先擱著,開(kāi)始看起B(yǎng)技術(shù)的書(shū)。甚至,我在技術(shù)書(shū)籍上看到不太熟悉的英文句構(gòu)時(shí),我會(huì)找出一本英文文法書(shū)詳細(xì)讀過(guò)。這種先深后廣的學(xué)習(xí)方式,適合學(xué)生時(shí)代全面地自我能力提升,但不適合業(yè)界人士。試想,老板要你開(kāi)發(fā)的ERP系統(tǒng)已經(jīng)延遲了,你怎有空研究J2EE原文書(shū)中的英文文法。先深后廣的好處是,學(xué)習(xí)很扎實(shí);缺點(diǎn)是有時(shí)候會(huì)偏離主題太多。有一次我發(fā)現(xiàn)我原本是要學(xué)某軟件技術(shù),幾次「先深后廣」下來(lái),我居然看起老子的道德經(jīng)了。
在技術(shù)上,我一直都是一個(gè)喜新厭舊的人,很少有軟件技術(shù)能讓我持續(xù)研究半年以上,我?guī)缀趺扛魩讉€(gè)月就要換一次領(lǐng)域。Java 能讓我持續(xù)這么久,也正是因?yàn)镴ava的領(lǐng)域廣。透過(guò)Java,我的技術(shù)視野變開(kāi)闊了。這些年來(lái),我換過(guò)的 Java 相關(guān)領(lǐng)域包括了:虛擬機(jī)器、數(shù)據(jù)庫(kù)、企業(yè)運(yùn)算、多媒體、2D/3D圖學(xué)、網(wǎng)絡(luò).…..等。
我的學(xué)習(xí)完全是興趣導(dǎo)向的,所以壓力并不大。因?yàn)橛信d趣,所以我會(huì)很想充分理解一切細(xì)節(jié)。又因?yàn)槔斫猓栽S多原本片片斷斷的知識(shí)都可以漸漸互相融會(huì)貫通,累積技術(shù)能量,理論和實(shí)務(wù)之間的藩籬被打破了,學(xué)習(xí)效率倍增。
我多年來(lái)的學(xué)習(xí)觸覺(jué)很敏銳,我常常會(huì)搶先一步學(xué)好有前瞻性的技術(shù)。比方說(shuō),Java還在beta時(shí)、UML還在0.8時(shí)、XML還在draft時(shí),我都已經(jīng)透過(guò)網(wǎng)絡(luò)下載技術(shù)文件回來(lái)每天抱著猛讀了。而在Java、UML、XML當(dāng)紅之后,我已經(jīng)差不多把這些技術(shù)都摸熟了。
至于該學(xué)什么技術(shù),我的判斷方式是以技術(shù)的優(yōu)劣來(lái)決定。優(yōu)秀而有獨(dú)到之處的技術(shù)是我的最?lèi)?ài),雖然這類(lèi)的技術(shù)不見(jiàn)得會(huì)在市場(chǎng)上勝出,但學(xué)習(xí)這些技術(shù)所得到的啟發(fā),對(duì)于技術(shù)能量的累積與能力的提升會(huì)有相當(dāng)大的助益。至于技術(shù)差,但市場(chǎng)需求甚殷者,我還是懶得碰。(好吧!我承認(rèn)我曾因?yàn)槭袌?chǎng)需求的緣故而學(xué)過(guò)MFC。越清楚MFC的技術(shù)細(xì)節(jié),越是討厭它,這真是個(gè)不堪回首的經(jīng)驗(yàn)。)
我通常只看英文技術(shù)資料,畢竟大部分第一手的技術(shù)信息都是以英文來(lái)傳播。所以我很早就開(kāi)始閱讀英文技術(shù)資料。讀英文技術(shù)資料的好處是,就算沒(méi)有學(xué)到書(shū)中的專(zhuān)業(yè)知識(shí),至少也累積培養(yǎng)了英文閱讀能力,我一直都是抱著這樣的態(tài)度。一開(kāi)始是正襟危坐的看英文技術(shù)書(shū)籍,字典、翻譯機(jī)隨侍在側(cè);幾年下來(lái),現(xiàn)在是躺著看、趴著看、很隨性地看英文技術(shù)書(shū)籍,因?yàn)榭从⑽募夹g(shù)書(shū)籍變成一種習(xí)慣了。現(xiàn)在,我可以用很快的速度吸收英文技術(shù)書(shū)籍的知識(shí)(有人叫我「吃書(shū)的機(jī)器」,我把這稱(chēng)號(hào)當(dāng)作是一種恭維)。
近年來(lái),我花在寫(xiě)程序的時(shí)間不多,因?yàn)闀r(shí)間對(duì)我來(lái)說(shuō)很寶貴,而寫(xiě)程序很浪費(fèi)時(shí)間。對(duì)初學(xué)者來(lái)說(shuō),大量地寫(xiě)程序是必要的,但過(guò)了某個(gè)階段之后,寫(xiě)程序所帶來(lái)的技術(shù)能力成長(zhǎng)已經(jīng)到了極限,還不如多花一點(diǎn)時(shí)間看書(shū),學(xué)新技術(shù)和新觀念。
我從國(guó)小時(shí)期開(kāi)始學(xué)習(xí)寫(xiě)程序,迄今已有近十八年的時(shí)間;采取上述的方式密集學(xué)習(xí),迄今也有近十年的光景。邇來(lái)數(shù)年,我接觸的領(lǐng)域越來(lái)越廣,而且學(xué)習(xí)速度正在加快,我認(rèn)為是以前那些努力植下的根苗開(kāi)始成長(zhǎng)了。看看現(xiàn)在的我,或許你會(huì)覺(jué)得羨慕,但回顧這段學(xué)習(xí)的歲月,何嘗不是一條漫長(zhǎng)的道路。