能夠使用java開發出類似qq的聊天小程式達到了java學習的什麼水平?
作為一個已經寫了十幾年程式碼的老司機,在寫程式碼之餘還會寫點技術感受,或者分享一些程式設計心的,幾年下來也積攢了幾萬粉絲,也有一些對於技術不是很懂的小夥伴,在交流過程中經常說出這樣的話,開發一個類似qq的軟體需要多長時間,需要花費多少資金。軟體這種東西可以說的很大,也可以說的很小。就拿簡單的聊天功能其實就是簡單的網路通訊功能直接掌握socket程式設計就能完成資料接收和傳送,現在經常在區域網內傳輸檔案的飛秋軟體就是這個基本功能,不過現在這個軟體功能做的越來越多了,已經不是僅僅是簡單的資料傳輸那麼簡單的功能了。
真要分析qq的功能,這種就不是單純的資料傳遞這麼簡單的事情了,首先要有強大的伺服器叢集支撐,現在只是qq上面快取的圖片以及視訊在伺服器裡面的叢集處理就是一種技術難度不低的技術,而且這麼多伺服器之間需要協調配合好,一旦一個出現安全問題別的伺服器是不是能夠及時啟動安全預警功能,當然這只是對於伺服器區域性的一些功能的舉例,還沒有說到qq客戶端一些技術,這個主要分為windows版本,蘋果系統版本,安卓版本等等,每項幾乎都需要對執行環境非常熟悉,而且開發對應的程式語言。
如果只是簡單的資料傳送,初學者在清楚socket機制的情況下,基本上就能搞定,至於要能對qq功能落實到底,基本上都不是個人考慮的事情,而且不同的平臺上使用的程式語言的種類還不一樣,實現的方式還是多少有些差異,針對樓主的題目利用java開發小程式。
其實這個另外的深層含義,如何知道自己是不是能夠成為一個標準的java程式設計師?
1.首先要把java基礎知識搞定,這點只要是從事java開發都繞不開的問題
2.java高階程式設計,掌握如何判斷記憶體以及效能問題,多執行緒,網路程式設計,反射機制等基本功能
3.如何在服務端開發需要掌握至少一種框架,並且嘗試在這個框架上實踐專案
編寫任何程式碼都需要有一個紮實的基本功, 初學者在找不到實踐專案的情況下能做的就是打好基礎。
原文釋出時間為:2018-10-5
本文作者:東輝線上
本文來自雲棲社群合作伙伴“ ofollow,noindex">程式設計師互動聯盟 ”,瞭解相關資訊可以關注“ 程式設計師互動聯盟 ”。