如何做到招聘中要求的【具有紮實的Java基礎】
一句話:玩好JDK(Java Development Kit)
總的來說,JDK包括三部分,第一:Java執行環境(JVM),第二:Java的基礎類庫(lang 、uitl、io等等),第三:Java開發工具(java、javac等等)。
第一部分:Java執行環境
這裡的執行環境就是指咱們平常的所說的JRE(Java Runtime Environment),它的核心就是java虛擬機器(JVM),可以說它是java中的重中之重,沒有它class檔案就無法解析
Java稍微高階一點的職位,面試必問的;
建議:對於JVM,多深入研究,能有多深就多深
第二部分:Java基礎類庫
Java基礎類庫有近200多個包,這裡就不一一列舉了,以下是對所有的包進行分級,大夥可以根據以下進行分級學習
第一級別:精讀原始碼
java.lang、java.util(使用資料結構常用的)、java.io(讀寫檔案必不可少的)
這3個包是最常用的,這裡要求精讀原始碼,一方面增加讀程式碼的能力,另一方面的學習大神們的寫程式碼風格
第二級別:深刻理解
java.lang.reflect(反射)、java.net(網路IO)、javax.net.*(網路)、java.nio.*(非阻塞IO)、java.util.concurrent(併發包).*
以上這些包雖然比精讀原始碼要求低一級,但是卻很重要,這些類的原始碼非常複雜,需要花太多時間去研究,其實會得不償失。
不過在使用這些類的過程中遇到了問題,第一反應是先看看它們的原始碼試著解決問題,而不是百度或者谷歌
Java.reflect,反射要搞清楚的話,需要弄明白JVM的類載入機制;
網路IO要搞清楚的話,需要弄清楚TCP/IP和HTTP\HTPS
併發包要弄清楚的話,需要理解併發的相關知識
這4個包的熟悉程度決定你的程式設計師所在的水平
第三級別:會用即可
java.lang.annotation javax.annotation.* java.lang.ref java.math java.rmi.* javax.rmi.* java.security.* javax.security.* java.sql javax.sql.* javax.transaction.* java.text javax.xml.* org.w3c.dom.* org.xml.sax.* javax.crypto.* javax.imageio.* javax.jws.* java.util.jar java.util.logging java.util.prefs java.util.regex java.util.zip
第三級別的包你會用就行,,這些包在特定情況下會用到,但不會時刻用到。比如sql包和transaction包就是操作資料庫的使用用到,xml、dom\sax對xml操作的時候用到 第四級別:請無視他
除了上述所提及的包,剩下的包可以無視他們,幾乎不用到它們
第三部分:Java的開發工具
這些開發工具是輔助你開發的,java javac是常用的,
還有其他的比較實用的工具,可以幫助你排查問題,
這兒列出常用的工具有jmap、jconsole,jstack,jvisualvm,其他工具可在bin目錄下查詢
小結
到目前為止,具有紮實的Java基礎到目前為止說完了;
總的來說,先從第二部分開始著手比較好,在第二部分中,可以把第一級別稱為基礎,第二級別成為進階,第三第四級別後續慢慢熟練就行了
不過最最重要的還是JVM,JVM才是Java的核心