(五)Java最重要的21個技術點和知識點之網絡編程、泛型、編程規范相關
寫這篇文章的目的是想總結一下自己這么多年JAVA培訓的一些心得體會,主要是和一些java基礎知識點相關的,所以也希望能分享給剛剛入門的Java程序員和打算入Java開發這個行當的准新手們,希望可以給大家一些經驗,能讓大家更好學習和使用Java。
這次介紹的主要內容是和J2SE相關的部分,另外,會在以后再介紹些J2EE相關的、和Java中各個框架相關的內容。
經過這么多年的Java開發Java培訓的一些經驗,我覺得對於J2SE方面主要就是要掌握以下的一些內容。
以下內容承接上期http://www.lechenggu.com/bbs/topic/57df5204120fc701e328587c Java最重要的21個技術點和知識點之JAVA多線程、時間處理、數據格式
網絡編程、泛型、編程規范相關
15.JAVA培訓學習之網絡編程
Java中也是提供了可以直接操作 TCP協議、UDP協議的API。在需要強調網絡性能的情況下,可以直接使用TCP/UDP 進行通訊。在查看Tomcat等的源碼中,就可以看到這些相關API的使用情況。不過一般也比較少會直接使用TCP,會使用諸如MINA、Netty這樣的框架來進行處理,因為這個方面的開發涉及不多,所以就不再詳細羅列了。
16.JAVA培訓學習之標注
也是jdk5 之后引入的。Spring是個優秀的框架,最開始就以xml作為標准的配置文件。不過到了Spring3 之后,尤其是 spring-boot 興起之后,越來越推崇使用標注來簡化xml配置文件了,對於開發者來說,可以節省不少xml配置的時間。但是劣勢是在於標注散落在各個類中,不像xml,可以對所有配置有個全局性的理解和管理,所以還沒有辦法說完全就取代所有的xml。對於一般開發者,會使用標注即可,一些公共組建的開發者可能會需要了解標注的定義和實現,可以在具體需要的時候再細看。
17.JAVA培訓學習之泛型
這是JDK5開始引入的新概念,其實是個語法糖,在編寫java代碼時會有些許便利, 一般的應用或者是業務的開發,只需要簡單使用,不一定會用到定義泛型這樣的操作, 但是開發一些基礎公共組件會使用到,可以在需要的時候再細看這個部分,一般情況下只要會簡單使用即可。
18.JAVA培訓學習之JVM相關(包括了各個版本的特性)
對於剛剛接觸Java的人來說,JVM相關的知識不一定需要理解很深,對此里面的概念有一些簡單的了解即可。
在JVM這個大類中,我認為需要掌握的知識有:
①JVM內存模型和結構
②GC原理,性能調優
③調優:Thread Dump, 分析內存結構
④class 二進制字節碼結構, class loader 體系 , class加載過程 , 實例創建過程
⑤方法執行過程
⑥Java各個大版本更新提供的新特性(需要簡單了解)
19.JAVA培訓學習之Maven的使用
Maven也不是Java里面的內容,但是maven是革命性的,給java開發帶來了巨大的便利。從依賴的引入和管理,開發流程的更新和發布產出,乃至版本的更新,使用maven可以大大簡化開發過程中的復雜度,從而節省大量時間。可以說,maven已經成為java開發者的標配了。所以我把maven也作為一個java開發者對於基礎必備的知識點。以后會再放上一些我的一些對於maven使用的經驗和技巧等,這里就不再細說了。
20.JAVA培訓學習之JNI
Java Native Interface,可以允許Java中調用本地接口方法,一般用於C/C++代碼的調用。需要注意的是在java中加載so/dll文件的路徑問題,本身調用接口並不復雜,但是經常在是否加載了所需的本地接口庫中花費較多時間。
以上也只是簡單介紹了下我對於這些java基本知識點和技術點的一些看法和介紹, 這些內容都源自於我這些年來使用java的一些總結, 希望給剛剛接觸Java, 或者打算從Java開發的人一些經驗, 希望能夠更有效率地學習和使用java, 避免走了彎路浪費了寶貴的時間。這當中還有些內容不夠完善的地方,會通過以后的文章再添加上。由於個人能力有限,當然其中也會有些錯誤和疏漏,歡迎指正,一起討論,共同來把這篇文章再完善下,希望它可以真正幫助到有需要的人。
21.JAVA培訓學習之RMI
RemoteMethodInvocation ,Java語言特有的遠程調用接口,使用還是比較簡單方便。不過需要跨語言的情況下,就需要使用 webservice 等其他方式來支持。一般來說,程序都不需要使用RMI,不過可以在特定的情況下使用,我就在一個項目中,使用RMI來進行程序遠程啟動停止的控制。
最后有句大牛們的口頭禪,想必在你的JAVA培訓學習過程中,能給你有所啟示。網絡編程怎么玩?多線程怎么玩?性能調優怎么玩?