作爲一個非科班出生的java開發人員,學好jdk能讓你在職場上不被鄙視~~
那麼jdk的學習不能簡單的用瞭解,會用來形容,有些東西還得去了解其原理。那下面我就網上整理的部分資料,來在這裏記錄下,和大家分享下。
摘自:https://www.cnblogs.com/goingforward/p/5979499.html
第一級別:精讀源碼
該級別包含的包如下:
java.iojava.langjava.util第二級別:深刻理解
該級別包含的包如下:
java.lang.reflect
java.net javax.net.* java.nio.* java.util.concurrent.*
第三級別:會用即可
該級別包含的包如下:
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
比較實用的幾個工具主要有jmap、jconsole、jstack、jvisualvm
JVM纔是你Java根基的根本
詳細參見:http://www.cnblogs.com/zuoxiaolong/p/life54.html
以下內容摘自:對於Java程序猿學習當中各個階段的建議
加分項:
1、計算機系統原理。
2、網絡通信協議(TCP/IP,HTTP等)。
3、數據結構與算法。
4、著名開源項目的源碼。
5、你自己有很棒的開源項目。
6、你的個人博客。
階段:
一、Java基礎
二、Web開發
三、開發框架
《Java編程思想》
《大話設計模式》,《重構 改善既有代碼的設計》,《effective java》(優雅的代碼)
《深入理解Java虛擬機》,《Java併發編程實戰》(Java底層和Java類庫)
《深入理解計算機系統》,《tcp/ip詳解 卷一、二、三》,《數據結構與算法》(多樣化)
Github 好的項目 (影響力)
以下內容摘自:技術的正宗和野路子
Tutorial(入門教程)。由該項技術的官網提供。通常是英文的。這份資料是給初次接觸該項技術的人看的,一般是一步一步地教你完成某些例子。當我們說某項技術對於新手不太友好的時候,一般也是因爲這項技術的Tutorial部分做得不夠好。
Specification,簡稱Spec。這是集中體現該項技術的設計思想的東西,是高度抽象的描述。這個一般也是一份完備的、系統的描述,包含該項技術涉及到的方方面面。這部分資料在不同的地方叫法不同,在相對簡單的技術項目中,也可能沒有;在另一些情況下,這部分資料混雜在其它文檔資料之中;它還可能以論文(paper)的形式出現。
API Reference。大而全的API索引和文檔,針對不同的語言接口可能提供多份。當我們使用這項技術進行編程的時候,API Reference自然是個離不開的、總是要不停去查詢的一份資料。
別人寫的技術博客。質量良莠不齊,到底有沒有價值,我們要學會去分辨。
技術書籍。跟技術博客類似,質量有好有壞。稍後我們和技術博客放在一起來分析。
Source Code。如果我們要學習的技術是開源的,那麼很幸運,我們能得到源代碼。這是一份終極資料。
對於那些最核心的技術,我們應該做到:
通讀Spec。讀完就不再困惑。
重要部分的API Reference要通讀。裏面包含了很多跟實現有關的信息。
如果工作需要,還可能需要讀到Source Code。特別是對於平常一直在使用的SDK,不一定從頭到尾把源碼讀通,這樣工作量太大且效率不高,但一定要把你的開發環境設置成一點擊某個調用的方法就能跳轉進源碼實現。只有這樣,你才能把平常開發的時間利用起來,隨時隨刻都點過去看源碼。