java中的轮子是什么意思_后端的轮子(一) - java后端开发的个人空间 - OSCHINA - 中文开源技术交流社区...
前言
首先,看看這個,想必大家對下面這種簡歷看得比較多了吧?
精通JAVA,Python,熟練掌握C++ 精通Redis,Memcached,Mysql 精通Nginx配置,模塊開發 精通Kafka,ActiveMQ 等消息隊列 精通多線程,多進程,IO復用編程
這里面每個都是輪子,如果都是精通,那能精通這些輪子得多強大,至少我hold不住這么多東西。但是,這并不妨礙愛學習的我們來了解和制造這些輪子。
我們這里造輪子并不是真的是為了造輪子,現在的輪子非常多也非常好用,不到萬不得已,完全沒有必要去造自己的輪子,我們造輪子,只是為了了解輪子的構造,知道為什么這東西會成為輪子,還有就是這個輪子是怎么造出來的,在造輪子的過程中,用到的知識基本上會涵蓋整個后端需要涉及到的知識,所以自己造輪子或者了解輪子還是很有必要的。
后端的輪子們
說起后端的輪子們,大家都可以說出一大串來,我們大致來數一數啊。
抗在最前面的:LVS,F5,HAProxy這類負載均衡
接下來有Nginx,Apache,Lighttpd這類Http服務
后面還有Redis,Memcached這一類KV存儲器和緩存系統
如果是多機部署,肯定還有Kafka,ActiveMQ這種負責解耦的消息隊列
當然也少不了Thrift這種RPC框架和Protobuf這種序列化技術
如果夠高端,到了分布式領域了,zookeeper也是輪子了
恩,感覺上差不多也就這些了吧?和上面的簡歷出現的東西差不多能對上了吧?后端的輪子們,排得上號的也就是這些個方面了吧,可以做一個技能樹出來,精通了上面這些輪子和輪子的使用,基本上后端的工作就游刃有余了,剩下的就是一些業務邏輯了,哦,當然,放心,你精通不了全部的,但了解甚至熟悉還是能做到的,好了,接下來的一段時間,讓我們一起來點亮這棵技能樹吧。
這里沒有寫數據庫這個東西,一是我認為他不是輪子了,他比輪子復雜多了,屬于像操作系統一樣的基礎結構了,二是這系列文章都是會對應代碼的,數據庫我寫不出來,這才是關鍵原因。
接下來的文章更新不會很頻繁了,我會按照上面這個技能樹,一個技能一個技能的點亮這個技能樹,有些我了解得多的就說詳細點,有些了解不深的就少說點,反正都會點出來,每個技能樹都會配上最最最基礎的代碼實現這個輪子,當然這些代碼是不能用在生產環境拉。 最后,我會使用實現的輪子們,打造一個簡單的推薦引擎,也算物有所用了。
恩。。。代碼還沒有寫一行,所以這個系列文章更新會比較慢。望耐心:) 另外,不要對代碼抱有很大的希望,都只會是最最基礎的測試代碼,不能用在生產環境,比如http服務器的話,不會實現整個http服務,可能只會實現后面會用到的GET方法,請把關注點聚焦到每篇文章上
輪子的輪轂
既然要造輪子,那首先還是要有點基礎技術才行,也就是先要知道哪些東西是輪子的輪轂,哪些東西是輪子的胎了,代碼說到底就是數據結構和算法了,所以無論什么輪子也逃不開這兩個東西,除了這個還需要一些操作系統和網絡相關的知識,要實現上面的那些個輪子,需要用到哪些知識呢?我們撿最基礎的和最常用的說說,后面的文章會一一說到這些東西。
哈希表,這個是很多輪子都要用到的東西,之前有一篇介紹哈希表的文章,后面還會繼續這個算法和對應的數據結構。
樹,棧,隊列這些個最基礎的數據結構也是會經常用到的,其中包括了各種各樣的樹的實現。
數據編碼的基本知識。
計算機網絡知識,包括一些網絡協議,不僅僅是http協議,還有底層一點的tcp協議,因為有些輪子需要在tcp上實現自己的協議。
操作系統和計算機體系結構的一些知識也是必不可少的。
分布式的一些知識也是需要知道的,最后一個輪子是zookeeper,實際上是paxos協議了,我覺得我實現不了一個最簡的paxos(因為這玩意就沒有最簡可言,必須要全實現出來),但是這部分知識還是會說到的。
好了,大約上面這一些知識就差不太多了,畢竟只是一個最簡的實現,別看每個也就一句話,要真正了解這些也不是一件簡單的事情,更別說精通了,所以看到那種全屏精通的簡歷,肯定是扯淡的,找準一個你了解的領域,一頓虐吧。
輪子的胎
除了輪子的輪轂,那是支撐整個輪子的,還有一些外圍的基礎技術,構成了輪子的輪胎,這部分東西就是一些編程上的技術了,都包括:
多協程,多線程,多進程編程。
網絡編程,多路復用技術,還有相應的事件輪詢模型。
共享內存,內存映射,管道技術。
這里也就簡單的三行,要都了解并且精通也很不容易,所以這些東西我也不可能講得很好,肯定有不正確的地方,歡迎大家指正出來,共同進步哈:)
造輪子的材料
造輪子的材料選golang,有時候可能會直接使用C,因為啊,Java不怎么會,其他語言來造輪子也不太常見。
結尾
本篇就是開了個頭,后面我們慢慢說。
想獲取更多資料的童鞋私戳老十就好啦。
總結
以上是生活随笔為你收集整理的java中的轮子是什么意思_后端的轮子(一) - java后端开发的个人空间 - OSCHINA - 中文开源技术交流社区...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 办理公积金贷款需要什么材料 居民身份证、
- 下一篇: java标注释_跪请JAVA高手帮忙标一