學習Java的框架,Java的框架也是多,如,, 等等,主要是學習Java的設計,如IoC等。
Java的技術也是爛多,重點學習J2EE架構以及JMS, RMI, 等消息傳遞和遠程調用的技術。
學習使用Java做Web (官方教程在這里)
實踐任務:嘗試在或框架下構建一個有網絡的Web 的遠程調用程序,并可以在兩個中通過JMS傳遞消息。
C++和Java都不是能在短時間內能學好的,C++玩是的深,Java玩的是廣,我建議兩者選一個。我個人的學習經歷是:
2、加強系統了解
重要閱讀下面的幾本書:
《Unix網絡編程卷2,進程間通信》信號量,管道,共享內存,消息等各種IPC…… 這些技術好像有點老掉牙了,不過還是值得了解。
實踐任務:
學習《核心編程》一書。把,線程、線程調度、線程同步(Event, 信號量,互斥量)、異步I/O,內存管理,DLL,這幾大塊搞精通。
實踐任務:使用啟動一個記事本或IE,并監控該程序的運行。把前面寫過的那個簡易的HTTP服務用線程池實現一下。寫一個DLL的鉤子程序監控指定窗口的關閉事件,或是記錄某個窗口的按鍵。
有了多線程、多進程通信,TCP/IP,套接字,C++和設計模式的基本,你可以研究一下ACE了。使用ACE重寫上述的聊天程序和HTTP服務器(帶線程池)
實踐任務:通過以上的所有知識,嘗試
3、系統架構
寫了那么多,回顧一下,覺得自己相當的有成就感。希望大家不要嚇著,我自己這十來年也在不斷地學習,今天我也在學習中,人生本來就是一個不斷學習和練級的過程。不過,一定有漏的,也有不對的,還希望大家補充和更正。(我會根據大家的反饋隨時更新此文)歡迎大家通過我的微博(@左耳朵耗子)和(@haoel)和我交流。
—– 更新 2011/07/19 —–
1)有朋友奇怪為什么我在這篇文章開頭說了web+移動,卻沒有在后面提到iOS/的前端開發。因為我心里有一種感覺,移動設備上的UI最終也會被取代。大家可以用或看看+,你就會明白了。
2)有朋友說我這里的東西太多了,不能為了學習而學習,我非常同意。我在文章的前面也說了要思考。另外,千萬不要以為我說的這些東西是一些新的技術,這份攻略里95%以上的全是基礎。而且都是久經考驗的基礎技術。即是可以讓你一通百通的技術,也是可以讓你找到一份不錯工作的技術。
3)有朋友說學這些東西學完都40了,還不如想想怎么去掙錢。我想告訴大家,一是我今年還沒有40歲,二是學無止境啊程序員敲代碼動態圖,三是我不覺得掙錢有多難,難的是怎么讓你值那么多錢?無論是打工還是創業,是什么東西讓你自己的價值,讓你公司的價值更值錢?別的地方我不敢說,對于互聯網或IT公司來說,技術實力絕對是其中之一。
4)有朋友說技術都是工具,不應該如此癡迷這句話沒有錯,有時候我們需要更多的是抬起頭來看看技術以外的事情,或者是說我們在作技術的時候不去思考為什么會有這個技術,為什么不是別的,問題不在于技術,問題在于我們死讀書,讀死書,成了技術的書呆子。
5) 對于NoSQL,最近比較火,但我對其有點保守,所以,我只是說了解就可以。對于,我覺得其在分布式系統上有巨大的潛力,所以需要學習。對于關系型數據庫,的確是很重要的東西,這點是我的疏忽程序員敲代碼動態圖,在原文里補充。