更新時(shí)間:2019-08-25 09:00:00 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2637次
說(shuō)到Java的學(xué)習(xí),對(duì)于大部分的初學(xué)者,或者是想要入門(mén)這一課程的人來(lái)說(shuō),他們并不知道該學(xué)習(xí)些什么。就拿我上大學(xué)期間來(lái)說(shuō),在剛剛接觸Java這門(mén)課程的時(shí)候,我完全不知道要學(xué)習(xí)些什么東西。一步一步跟著老師學(xué)下來(lái),希望對(duì)想要學(xué)習(xí)Java的朋友們有所幫助.
首先說(shuō)說(shuō)Java的學(xué)習(xí)階段。Java這門(mén)課程大概分成兩個(gè)學(xué)習(xí)階段,初階階段和高級(jí)階段。初級(jí)階段學(xué)習(xí)的是一些基礎(chǔ)的知識(shí),這一階段學(xué)習(xí)JavaSE。JavaSE是Java標(biāo)準(zhǔn)版,不涉及集成軟件的使用,主要使用筆記本和命令提示符來(lái)進(jìn)行學(xué)習(xí)。高級(jí)階段是在初級(jí)的基礎(chǔ)上繼續(xù)深化學(xué)習(xí),加入集成開(kāi)發(fā)環(huán)境的搭建和使用,并且使用一些框架來(lái)優(yōu)化代碼,更加切合實(shí)際的需求,也就是Java企業(yè)版,即JavaEE。
好了,經(jīng)過(guò)上面的介紹,你對(duì)于Java編程語(yǔ)言是否有了一些基本的了解?相信有了對(duì)Java全局的把握,學(xué)習(xí)起來(lái)會(huì)相對(duì)容易一些。但是,這么一套語(yǔ)言要真正的學(xué)習(xí)下來(lái)并且精通,難度還是不小的。
一個(gè)Java程序要想呈現(xiàn)出我們想要的樣子要經(jīng)過(guò)編譯期和運(yùn)行期兩個(gè)階段。我們知道,Java文件的后綴名為.java,編譯期要做的事情就是要將.java文件編譯,生成以.class為后綴名的字節(jié)碼文件,這一過(guò)程所對(duì)應(yīng)的命令為javac。而運(yùn)行期要做的就是加載并運(yùn)行.class字節(jié)碼文件,變成計(jì)算機(jī)能夠識(shí)別的0和1,其所對(duì)應(yīng)的命令為java。問(wèn)題又來(lái)了,計(jì)算機(jī)有很多種類(lèi),而每種類(lèi)型的計(jì)算機(jī)的翻譯法則都不一樣,該怎么辦呢?
對(duì)于C語(yǔ)言,這一問(wèn)題的處理方法就是實(shí)現(xiàn)同一功能的程序針對(duì)每一種計(jì)算機(jī)都要編寫(xiě)一次,這樣造成的后果就是人力的大量使用,很大程度的擴(kuò)大了成本。而Java語(yǔ)言就比較聰明了,它用不同版本的Java虛擬機(jī)(JVM)來(lái)翻譯,以適應(yīng)不同類(lèi)型的計(jì)算機(jī),而這些版本不同的JVM由SUN公司提供,當(dāng)然,SUN公司被Oracle公司收購(gòu)之后,自然是由Oracle公司提供了,這樣,實(shí)現(xiàn)同一功能的程序只需要編寫(xiě)一次就好,Java也因此有了一大特性,跨平臺(tái),用我們的話說(shuō),那就是一次編程到處使用。
接下來(lái)的一個(gè)重要知識(shí)點(diǎn)就是JVM,JRE和JDK的關(guān)系,這三個(gè)東東的概念書(shū)上都有,我要說(shuō)的就是他們之間的關(guān)系,我把他們總結(jié)成兩等一不等。總的來(lái)說(shuō),他們的關(guān)系是這樣的:JVM<JRE<JDK(一不等)。還有就是兩個(gè)等式,一個(gè)是JRE=JVM+系統(tǒng)類(lèi)庫(kù),一個(gè)是JDK=JRE+編譯運(yùn)行等命令工具(二等)。
那么,上面的內(nèi)容說(shuō)明了兩點(diǎn)。(1)運(yùn)行Java程序的最小環(huán)境為JRE。(2)開(kāi)發(fā)Java程序的最小環(huán)境為JDK。這兩點(diǎn)要多加注意了,不管是期末考試還是面試,出題老師都喜歡從這里出個(gè)題,看看你知不知道這里面的東西。畢竟,這些內(nèi)容是基礎(chǔ)里的基礎(chǔ),如果這些都不知道,那還怎么稱(chēng)得上是學(xué)通了,用人單位怎么敢用?
說(shuō)了這么多,你有沒(méi)有疑問(wèn)呢?聽(tīng)說(shuō)了JVM的本事,你就不想知道他是怎樣一種結(jié)構(gòu)嗎?別急,我這就一一道來(lái)。
這JVM由棧內(nèi)存,堆內(nèi)存和方法區(qū)組成。它們都是干什么的呢?棧內(nèi)存里放的是局部變量,調(diào)用方法時(shí)在方法中申明的一些基本類(lèi)型變量。堆內(nèi)存里存的是new出來(lái)的對(duì)象,即為引用類(lèi)型變量。而方法區(qū)里放置的就是靜態(tài)變量,常量和類(lèi)的信息了。這就奇怪了,里面放的都是一些變量,對(duì)象,類(lèi)什么的,怎么就有那么大的本領(lǐng)?要知道,這些都是編寫(xiě)程序的基礎(chǔ)元素,能量大著呢。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743