1. 程式人生 > >成為一名優秀的高階JAVA工程師必備的知識總結

成為一名優秀的高階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的 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上找一些程式碼看看。