本文來(lái)自于一次和群里猿友的交流,具體的情況且聽(tīng)LZ慢慢道來(lái)。

一日,LZ在群里發(fā)話(huà),“招人啦?!?

然某群友曰,“群主,俺想去?!?

LZ回之,“你年幾何?”

群友曰,“兩年也?!?

LZ憾言之,“惜了,三至五為佳。然如汝有扎實(shí)之基礎(chǔ),且附一技之長(zhǎng),倒也并非不可呀?!?

群友惑,問(wèn)之,“何為一技之長(zhǎng)?”

LZ撫須答曰,“皆可,吾之一技即為寫(xiě)?!?

群友又問(wèn)之,“何為基礎(chǔ)扎實(shí)?”

LZ撫**答曰,“玩好JDK!”


引言


好了,LZ終于特么可以說(shuō)人話(huà)了,請(qǐng)?jiān)廘Z的文言文不好,這逼裝的好累。其實(shí)很多人對(duì)于公司的招聘要求中寫(xiě)的,要有“扎實(shí)的Java基礎(chǔ)”,都很迷茫。

這特么到底啥意思?什么東西算作Java基礎(chǔ)?學(xué)到什么程度才算扎實(shí)?

這些問(wèn)題的答案,LZ已經(jīng)用文言文告訴你了,咳咳,答案就是玩好JDK就可以了。

不過(guò)JDK這東西包含的東西實(shí)在太多,群里的猿友還是拎不清到底應(yīng)該學(xué)哪個(gè),所以,LZ就專(zhuān)門(mén)寫(xiě)一篇文章,來(lái)講一講JDK應(yīng)該怎么玩。

或許有的猿友會(huì)問(wèn),“林蕭是誰(shuí)?”

恩,問(wèn)得好!林蕭就是某程序員小說(shuō)的主角啦,傳言無(wú)所不知,看看你就知道咯。


玩好JDK


在詳細(xì)講解JDK之前,LZ首先要強(qiáng)調(diào)下,本文的內(nèi)容,都是LZ個(gè)人的主觀判斷。因此,各位猿友務(wù)必結(jié)合自己的判斷之后,再?zèng)Q定是否要學(xué)習(xí),以及學(xué)習(xí)到什么程度。

此外,本文只是告訴你學(xué)什么,學(xué)到什么程度,本文不會(huì)包含太多具體的技術(shù)細(xì)節(jié)講解。

JDK其實(shí)就是Java SE Development Kit的縮寫(xiě),要玩好這東西可不簡(jiǎn)單。JDK主要包含了三部分,第一部分就是Java運(yùn)行時(shí)環(huán)境,這其實(shí)就是JVM。此外,第二部分就是Java的基礎(chǔ)類(lèi)庫(kù),這個(gè)類(lèi)庫(kù)的數(shù)量還是非常可觀的。最后,第三部分就是Java的開(kāi)發(fā)工具,它們都是輔助你更好的使用Java的利器。

那么很顯然,要玩好JDK,就是要玩好JDK的這三部分。接下來(lái),咱們就逐個(gè)的來(lái)說(shuō)一下,每一個(gè)部分要學(xué)什么,學(xué)到什么程度。

 

第一部分:Java運(yùn)行時(shí)環(huán)境

這一部分其實(shí)就是常說(shuō)的jre,而它的核心其實(shí)就一個(gè)東西,就是JVM。

JVM這個(gè)東西,它的重要性L(fǎng)Z不想再?gòu)?qiáng)調(diào)了,在之前的那篇《回答阿里社招面試如何準(zhǔn)備,順便談?wù)剬?duì)于Java程序猿學(xué)習(xí)當(dāng)中各個(gè)階段的建議》中,LZ就說(shuō)過(guò),JVM那本書(shū)甚至比《Thinking in java》還重要,這已經(jīng)足見(jiàn)LZ多么看重JVM了。

當(dāng)然了,只是LZ看重,當(dāng)然沒(méi)什么卵用,但只要Java稍微高級(jí)一點(diǎn)點(diǎn)的職位,這部分基本上都是面試必問(wèn)內(nèi)容,這更加說(shuō)明了JVM的重要性。

所以,對(duì)于JVM,沒(méi)什么可說(shuō)的,就是往死里學(xué),往死里研究,能有多深就多深!

 

第二部分:Java的基礎(chǔ)類(lèi)庫(kù)

Java的基礎(chǔ)類(lèi)庫(kù)從你剛開(kāi)始學(xué)Java就開(kāi)始接觸了,但是,直到你結(jié)束整個(gè)Java生涯,你都不一定能把所有的類(lèi)都見(jiàn)一遍。

這說(shuō)明了什么?是不是說(shuō)明了Java基礎(chǔ)類(lèi)庫(kù)的龐大?

錯(cuò)!大錯(cuò)特錯(cuò)!這其實(shí)真正說(shuō)明的是,有很多類(lèi)你完全不必要care它們,因?yàn)樗鼈儚哪憬佑|Java到放棄,都不一定能接觸到。

所以,搞清楚哪些類(lèi)重要,哪些類(lèi)不重要,就非常有必要了。這可以讓你以最短的時(shí)間,做最有價(jià)值的事。

首先我們來(lái)看看,Java基礎(chǔ)類(lèi)庫(kù)的包都有哪些,為了使得本文更有代表性,我們?nèi)DK6的包列表。