1、及時(shí)關(guān)閉流 在Java編程過程中,在執(zhí)行數(shù)據(jù)庫(kù)連接和I/O流操作時(shí)要小心。使用后,北大青鳥昌平校區(qū)guan網(wǎng)建議應(yīng)及時(shí)關(guān)閉以釋放資源。因?yàn)檫@些大型物體的操作會(huì)導(dǎo)致系統(tǒng)的大量開銷,稍微粗心會(huì)導(dǎo)致嚴(yán)重的后果。
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序制作、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了競(jìng)秀免費(fèi)建站歡迎大家使用!
2、使用非阻塞I/O版本較低的JDK不支持非阻塞I/OAPI。為避免I/O阻塞,一些應(yīng)用采用了創(chuàng)建大量線程的辦法(在較好的情況下,會(huì)使用一個(gè)緩沖池)。
3、盡量重用目標(biāo) 特別是,使用代表字符串收斂的String目標(biāo)應(yīng)該使用StringBuilder/StringBuffer。
4、Java編譯器會(huì)尋找機(jī)會(huì)內(nèi)聯(lián)所有的final方法,內(nèi)聯(lián)對(duì)于提升Java運(yùn)行效率作用重大,具體參見Java運(yùn)行期優(yōu)化。此舉能夠使性能平均提高50%。 盡量重用對(duì)象 特別是String對(duì)象的使用,出現(xiàn)字符串連接時(shí)應(yīng)該使用StringBuilder/StringBuffer代替。
5、Java編譯器會(huì)尋找機(jī)會(huì)內(nèi)聯(lián)所有的final方法,內(nèi)聯(lián)對(duì)于提升Java運(yùn)行效率作用重大,具體參見Java運(yùn)行期優(yōu)化。此舉能夠使性能平均提高50%。
6、如果指定了一個(gè)類為final,則該類所有的方法都是final的。Java編譯器會(huì)尋找機(jī)會(huì)內(nèi)聯(lián)所有的final方法,內(nèi)聯(lián)對(duì)于提升Java運(yùn)行效率作用重大,具體參見Java運(yùn)行期優(yōu)化。此舉能夠使性能平均提高50%。
1、不是java編譯慢,你說的是項(xiàng)目啟動(dòng)慢??梢园惭b熱部署插件,修改代碼后無需重啟項(xiàng)目,只需刷新就能看到修改效果,熱部署是代碼調(diào)試的利器。
2、不過任何事情都是有兩面性,java可能比c、c++慢,但是這個(gè)平臺(tái)為我們屏蔽了很多機(jī)器和操作系統(tǒng)的差異性,我們編寫java代碼基本不用太多考慮機(jī)器和操作系統(tǒng)本身的東西。并且有很好的可移植性。
3、C++是編譯型語言,java是解釋型語言,普遍來講,編譯型語言要比解釋型語言速度快。C++是在C語言的基礎(chǔ)上增加了新的語法和面向?qū)ο蟮臋C(jī)制,更加接近C語言,也就意味著更加接近底層硬件,越接近于硬件,運(yùn)行速度越快。
4、java為啥慢? java的分配內(nèi)存java只把內(nèi)嵌類型分配到堆棧上面,所有Object類型都分配到堆上面。c++可以把局部變量都分配到堆棧上面。顯然,根據(jù)已有測(cè)試結(jié)果,訪問堆棧的速度要遠(yuǎn)高于堆的速度。
5、一個(gè)操作系統(tǒng)下編譯的*.class可以運(yùn)行在其它的操作系統(tǒng)下,(當(dāng)然要裝不同操作系統(tǒng)下的JVM)。這是所謂的(compile once,run anywhere).還有一點(diǎn)C++比C慢,可只有10%,不像JAVA和C系列的差別那么大。
6、并且,隨著現(xiàn)在硬件水平的提高,java的性能瓶頸也被越來越縮小,所以不能說java運(yùn)行速度很慢,只是適用的情況不同罷了。在大型網(wǎng)站,平臺(tái)等的背后,java可以發(fā)揮它的用武之地,并且保持讓人滿意的性能。
C++是編譯型語言,java是解釋型語言,普遍來講,編譯型語言要比解釋型語言速度快。C++是在C語言的基礎(chǔ)上增加了新的語法和面向?qū)ο蟮臋C(jī)制,更加接近C語言,也就意味著更加接近底層硬件,越接近于硬件,運(yùn)行速度越快。
而C++的“充分、自由的利用底層特性”優(yōu)勢(shì),造成了程序只能在有他所使用的相關(guān)平臺(tái)上使用,也就是可移植性差。
這樣java程序比c++運(yùn)行效率低,但是因?yàn)橛蠮VM做中介,一個(gè)操作系統(tǒng)下編譯的*.class可以運(yùn)行在其它的操作系統(tǒng)下,(當(dāng)然要裝不同操作系統(tǒng)下的JVM)。