想成為Java高級工程師,有哪些要求呢?
1.Core Java,就是java基礎、JDK的類庫,很多童鞋都會說,JDK我懂,但是懂還不足夠,知其然還要知其所以然,JDK的源代碼寫的非常好,要經常查看,對使用頻繁的類,比如String,集合類(List,Map,Set)等數據結構要知道它們的實現,不同的集合類有什么區別,然后才能知道在一個具體的場合下使用哪個集合類更適合、更高效,這些內容直接看源代碼就OK了
2.多線程并發編程,現在并發幾乎是寫服務端程序必須的技術,那對Java中的多線程就要有足夠的熟悉,包括對象鎖機制、synchronized關鍵字,concurrent包都要非常熟悉,這部分推薦你看看《Java并發編程實踐》這本書,講解的很詳細
3.I/O,Socket編程,首先要熟悉Java中Socket編程,以及I/O包,再深入下去就是Java NIO,再深入下去是操作系統底層的Socket實現,了解Windows和Linux中是怎么實現socket的,如果你想學習Java可以來這個群,首先是五三二,中間是二五九,后是九五二,里面有大量的學習資料可以下載。
4.JVM的一些知識,不需要熟悉,但是需要了解,這是Java的本質,可以說是Java的母體, 了解之后眼界會更寬闊,比如Java內存模型(會對理解Java鎖、多線程有幫助)、字節碼、JVM的模型、各種垃圾收集器以及選擇、JVM的執行參數(優化JVM)等等,這些知識在《深入Java虛擬機》這本書中都有詳盡的解釋,或者去oracle網站上查看具體版本的JVM規范.
5.一些常用的設計模式,比如單例、模板方法、代理、適配器等等,以及在Core Java和一些Java框架里的具體場景的實現,這個可能需要慢慢積累,先了解有哪些使用場景,見得多了,自己就自然而然會去用。
6.常用數據庫(Oracle、MySQL等)、SQL語句以及一般的優化
7.Javaweb開發的框架,比如Spring、iBatis等框架,同樣他們的原理才是重要的,至少要知道他們的大致原理。
8.其他一些有名的用的比較多的開源框架和包,Netty網絡框架,Apache common的N多包,Google的Guava等等,也可以經常去Github上找一些代碼看看。
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。