1. 程式人生 > >如何做到招聘中要求的【具有紮實的Java基礎】

如何做到招聘中要求的【具有紮實的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的核心