• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-145  評論-173  文章-70  trackbacks-0

            Java學(xué)習(xí)

            一、     編譯器的選擇。

            毋庸置疑,學(xué)習(xí)Java需要一個(gè)編譯器,至于是命令行和IDE(集成開發(fā)環(huán)境)則憑用戶自身而言,許多高手喜歡用命令行中敲下命令,然后用vim來編輯,不可否認(rèn),這樣很好,而且如果是linux下面的沒有圖形界面的話,這個(gè)似乎還是唯一的辦法,本人現(xiàn)在也正在學(xué)習(xí)linux,有時(shí)候也有種恨不得一直都用vim和命令來工作的沖動,不過小弟才疏學(xué)淺,所以常常遇到問題,無奈又轉(zhuǎn)回圖形界面的擁抱。不過IDE的好處是眾所周知的,用戶界面的產(chǎn)生,確實(shí)是極大的方便了我們的工作,雖然掌握IDE的各種功能需要一定的時(shí)間,不過這個(gè)犧牲還是值得的,我認(rèn)為IDE的好處就是可以省去很多麻煩,比如今天我遇到的,多文件的java的編譯,在IDE中,沒有任何問題,因?yàn)?/span>NetBeans中有項(xiàng)目管理,其中做到的工作我不知道,不過如果在命令行中用javacjava命令的話,就還是有各種奇怪的錯(cuò)誤,各位看到這篇帖子,如果不吝賜教的話,不妨留下言,告訴我如果在命令行下實(shí)現(xiàn)多java文件的編譯。我知道在Netbeans中,有包的管理,所以在一個(gè)包下面,我寫的每一個(gè)類,其實(shí)都可以通用,所以就可以自然的實(shí)現(xiàn)各個(gè)文件直接調(diào)用,就像在C++中,我聲明文件在.h文件中,而實(shí)現(xiàn)可以放在幾個(gè).cpp文件中,java不需要,只需要把這些java文件放在一個(gè)包下面,這樣就在其他的java文件中,只要直接調(diào)用就可以了,而沒有相應(yīng)的麻煩,不過這個(gè)是IDE中的操縱,具體的命令行,我覺得多少還有些吃力不討好,何況現(xiàn)在我還是個(gè)菜鳥呢!

            另外,對于初學(xué)者下面這個(gè)或許有用。

            1.     Java程序?yàn)楹慰梢詫?shí)現(xiàn)跨平臺呢?因?yàn)?/span>JVMJava Virtual Machine)的存在,具體來說說java程序的生成機(jī)制吧。首先,用戶的.java程序,經(jīng)過編譯器(命令行中是javac)的編譯,生成.class文件,而這個(gè)文件不是能夠直接執(zhí)行的,是一個(gè)二進(jìn)制文件,它需要JVM進(jìn)行解釋執(zhí)行,這里,解釋執(zhí)行和編譯執(zhí)行時(shí)程序執(zhí)行的兩種不同方式。所謂編譯執(zhí)行,就是本機(jī)代碼經(jīng)過編譯連接之后,在本機(jī)形成一個(gè)文件,而這個(gè)文件的運(yùn)行,一旦開始,就跟編譯器和其他工具無關(guān),具有獨(dú)立性,可以自己執(zhí)行。而解釋執(zhí)行呢,就是需要解釋器(java)來一句一句的執(zhí)行,解釋一句,執(zhí)行一句,所以可想而知,編譯執(zhí)行的效率要更高一些,而且由于javaJVM的存在,所以將class文件解釋執(zhí)行,中間的過程可想,速度會慢很多,雖然Sun聲稱什么高效或者其他,鄙人確實(shí)不敢茍同。一個(gè)程序的執(zhí)行跟跑破機(jī)子一樣,完全沒有優(yōu)越性而言,不過這里那個(gè)可移植性,可是很受業(yè)界的歡迎的!最后說一句,JVM決定了java程序的可移植性,所以一個(gè)系統(tǒng)如果不支持JVM,那么自然不要指望java程序可以移植到這個(gè)上面。理解了這個(gè),其實(shí)也就知道了這個(gè)可移植性的本質(zhì)了。由于主流系統(tǒng),windowslinuxunixMac都支持,所以就可想其應(yīng)用之廣泛了。注意,JVM模擬的是一個(gè)硬件系統(tǒng),包括指令系統(tǒng),內(nèi)存管理……所以虛擬機(jī)的概念要清楚。

            2.     安裝IDE

            注意在進(jìn)行所有的工作之前,需要做的是先下載jdk,從sun的網(wǎng)站上下載最新的jdk,然后安裝之后,你的機(jī)子上面才算裝了JVM,這個(gè)時(shí)候,默認(rèn)會為你的系統(tǒng)環(huán)境變量設(shè)置好它最近的路徑。檢查的辦法很簡單,進(jìn)入命令行,輸入javac命令,如果出現(xiàn)了幫助列表,那么說明配置好了,否則就要手動設(shè)置了,這里不詳細(xì)講解了,讀者從網(wǎng)上可以看到巨多。而此時(shí),你可以在命令行中直接工作了,比如進(jìn)入一個(gè)目錄,然后創(chuàng)建java源程序,同時(shí)在確保是該目錄下用javac編譯,生成class文件,然后用java命令執(zhí)行相應(yīng)的class文件,注意不要.class后綴名了。OK

                     這里要說的是IDE的按照,所以呢,我們需要選擇一個(gè)IDE,比較好的當(dāng)然是NetBeansEclipse,但是在安裝之前,還是需要裝前面介紹的jdk,為何,因?yàn)檫@些軟件也是基于JVM的,所以如果沒有JVM,那么就不會順利安裝,更不可能用了。當(dāng)然,如果你沒有裝好的,安裝過程也會提示的。不過何必呢。正是因?yàn)檫@個(gè)機(jī)制,所以NetBeans的啟動慢如蝸牛,Eclipse也好不了多少,這個(gè)也是為何我如此厭惡的原因,當(dāng)然,啟動之后 就好多了,所以不要常關(guān)閉,否則開啟的時(shí)候還是會等很久的。相比而言,VS 2005就好多了,看了MS的人也不是吃白飯的。當(dāng)然,本來都不是同一個(gè)東西,所以沒有可比性,不然高手們又要笑話我了。不過Java的這個(gè)缺陷,總是讓我有點(diǎn)不平。憑借著強(qiáng)大的類庫,我看到了一個(gè)新的簡單易學(xué),卻功能強(qiáng)大的新工具,想比較C++而言,我只能說自己遇到Java太晚了,如果早點(diǎn)碰到Java,或許我可以早點(diǎn)做到很多很好玩的東西,不過不廢話了,總之,覺得這個(gè)也是Java難以跨越的鴻溝吧,但愿可以更進(jìn)一步優(yōu)化吧!

            《未完待續(xù)》

                                                -------------------------------各位和我一起學(xué)Java吧!

            posted on 2009-12-04 23:40 deercoder 閱讀(347) 評論(0)  編輯 收藏 引用 所屬分類: JAVA
            一本色道久久综合狠狠躁篇| 久久精品无码专区免费青青| 亚洲婷婷国产精品电影人久久| 狠狠色丁香婷婷久久综合| 久久国产亚洲高清观看| 久久天天躁狠狠躁夜夜av浪潮 | 久久久久亚洲精品天堂| 久久中文字幕一区二区| 久久人妻无码中文字幕| 国产亚洲成人久久| 久久婷婷激情综合色综合俺也去| 99久久精品久久久久久清纯| 色综合久久久久综合体桃花网| 久久一区二区三区免费| 国产欧美一区二区久久| 亚洲国产另类久久久精品小说| 久久久免费观成人影院| 日本精品久久久久中文字幕| 久久久免费观成人影院| 青青草原综合久久| 久久成人国产精品| 久久久亚洲欧洲日产国码是AV| 久久国产精品波多野结衣AV| 久久精品成人免费看| 色88久久久久高潮综合影院| 欧美黑人激情性久久| 色欲综合久久躁天天躁| 久久久久婷婷| 久久久久久一区国产精品| 国产成人精品久久一区二区三区av| AV色综合久久天堂AV色综合在| 亚洲国产精品无码成人片久久| 精品久久久久久久国产潘金莲 | 久久久久亚洲国产| 久久亚洲电影| 久久久久亚洲精品男人的天堂| 精品久久久久中文字| 久久久久九九精品影院| 久久人人爽人人澡人人高潮AV | 91性高湖久久久久| 91精品观看91久久久久久|