摘 要:Java語言是一種面向?qū)ο笤O(shè)計的語言,是在C++語言的基礎(chǔ)上衍生而來的,因此繼承了C++語言的語言成分,具有安全性高、與平臺無關(guān)性以及多線程等特性,與Interner應用的開發(fā)非常適應,Java是軟件技術(shù)的革命性技術(shù),可以為用戶提供一個良好的程序設(shè)計環(huán)境,是目前軟件中應用非常廣泛的編程語言。文章主要就Java語言的特點與C++語言的比較進行探究。
關(guān)鍵詞:Java語言;C++語言;編程
引言
Java語言是在C++語言的基礎(chǔ)上衍生而來的,因此其繼承了C++語言的很多語言成分,控制語句和運算符和C++語言基本相同。Java語言繼承了C++語言的優(yōu)點,同時也將C++語言的缺點擯除了。
1 Java語言的特點
(1)C++語言中有很多很容易混淆的功能,并且這些功能又不常用,因此,C++語言的結(jié)構(gòu)并沒有被Java語言沿用,不僅如此,Java語言還將C++語言中的自動類型轉(zhuǎn)換、多重繼承、操作符重載、#define語句等容易混淆同時不常用的功能都取消了,因此,Java語言具有簡單性的特點。
(2)解釋型:Java語言還具有解釋型的特點,Java寫成的源代碼要被編譯成高階的字節(jié)碼才能發(fā)揮作用,而這個過程和機器的架構(gòu)并沒有關(guān)系。無論Java是在怎樣的環(huán)境中運行,被編譯成的字節(jié)碼都是由Java虛擬機來執(zhí)行的。正是因為這樣,Java具有可移植性,并且和平臺無關(guān)。Java語言將編譯技術(shù)和解釋執(zhí)行有效的融合在一起發(fā)揮作用,可以大大提高Java的運行功能,使其能夠高效運行[1]。
(3)安全性高:Java語言具有較高的安全性,主要體現(xiàn)在Java語言的設(shè)計過程中對系統(tǒng)的安全性進行了周密的考慮。在設(shè)計軟件的過程中,對整個系統(tǒng)都進行了多個層次和多個方面的安全管理,安全管理的方式主要包括資源的使用權(quán)限設(shè)置、字節(jié)碼需要驗證以及內(nèi)存調(diào)用方式的設(shè)置等。正是因為這多重的安全設(shè)置,使Java語言得安全性非常高,無論在哪個系統(tǒng)中都被認為是最安全的程序之一。
(4)對不使用對象的收集和處理:Java語言還能夠?qū)Σ皇褂脤?/p>
象進行高效收集和處理。Java語言是面對對象的應用程序,當一些對象不會被使用時,內(nèi)存就會對這些不使用的對象進行自動管理,程序的設(shè)計者并不需要另外花時間來處理這個問題。Java本身就設(shè)置了很多對異常對象的處理方式,如果在程序執(zhí)行的過程中,發(fā)現(xiàn)了對象發(fā)生異常或者錯誤,程序就會自動處理,高效地將不使用對象清除。
(5)其他特點:Java語言還具有多態(tài)的支持、分布式和面向?qū)ο蟮奶攸c,Java語言本身就是面向?qū)ο蟮恼Z言,在面對對象的現(xiàn)代軟件工程中非常適用。另外,Java語言對對象的形態(tài)轉(zhuǎn)換非常重視,因此在程序的編譯階段,對于形態(tài)的轉(zhuǎn)換會自動檢查。
2 Java語言與C++語言的比較
Java語言與C++語言都能夠采用多種編程風格,因為兩者都為雜合語言,兩者之間的差異主要體現(xiàn)在以下幾個方面。
(1)取消指針:Java語言是在C++語言的基礎(chǔ)上衍生的,保留了其優(yōu)點,同時將其缺點擯除了。在引用C++語言對象的時候,必須要對其進行初始化,并且不能進行重定義[2]。而Java在引用對象的時候,并不受到創(chuàng)建位置的限制,可以根據(jù)具體的情況和需求隨意定義,消除了對指針的部分要求。
(2)單根結(jié)構(gòu):C++語言中可以在任意的位置重新啟動一個繼承樹,而Java語言不同,所有的對象都是根類的統(tǒng)一繼承,采用的是單根式的分級結(jié)構(gòu)。采用單根結(jié)構(gòu),雖然不能在任意的位置都創(chuàng)建新的繼承樹,但是每一個對象都有一個接口,因此也表現(xiàn)出很強大的能力。
(3)對不使用對象的自動收集:Java語言可以對不使用的對象
進行自動收集和處理,但是C++語言卻并沒有這一優(yōu)勢,C++語言中有破壞器,而Java語言中的finalize()相當于破壞器,可以實現(xiàn)對各種不使用對象的收集,并且只能釋放資源,可以打開端口、文件等。如果在一個特定的位置需要做某件事,首先應該創(chuàng)建一個特殊的方法,并且對其進行調(diào)用,而此時是不能利用finalize()方法。因此對于類內(nèi)的對象和基礎(chǔ)類,可以采用垃圾收集器自動清除,所有的對象都會被當成垃圾清除掉。
(4)單一繼承:Java語言與C++語言的繼承效果相同,但是兩者采用的語法是不同的。Java是采用extends關(guān)鍵字標志從一個基礎(chǔ)類的繼承,同時采用super關(guān)鍵字明確準備在基礎(chǔ)類中調(diào)用的方法,從而使當前使用的方法名字相同。Java中的super關(guān)鍵字只允許訪問父類,也就是只能訪問分級結(jié)構(gòu)的上一級[3]。而C++中,super關(guān)鍵字不僅僅允許訪問父類,還可用super關(guān)鍵字訪問在分級結(jié)構(gòu)較深處的方法,而Java不存在明確的構(gòu)建器初始化列表。
3 Java語言的實際運用案例
3.1 Java語言在移動目標定位系統(tǒng)中的應用
Java語言在很多方面都有廣泛的應用,在移動目標定位系統(tǒng)中得到了廣泛的應用。移動目標定位系統(tǒng)主要包括因特網(wǎng)終端、GPS定位服務器、GPS衛(wèi)星系統(tǒng)和基站。將Java技術(shù)運用到移動目標的定位系統(tǒng)中,就可以實現(xiàn)信號的循環(huán)。在整個定位系統(tǒng)中,首先要實現(xiàn)數(shù)據(jù)的定位和采集,終端GPS衛(wèi)星將信號發(fā)送出來,由GPS端接收。在這個過程中,Java技術(shù)可以對采集的信息進行細致分析。在定位移動目標的第二個階段,GPS終端接收到的信息通過GPRS網(wǎng)絡要傳輸?shù)蕉ㄎ环掌髦校谌齻€階段是數(shù)據(jù)庫的存儲,第四步是信號結(jié)果的返回,最后一步是顯示圖形。通過Java技術(shù)的應用,就可以實現(xiàn)這5個步驟的循環(huán),從而實現(xiàn)對移動目標的定位。
3.2 Java語言在位置數(shù)據(jù)庫服務子系統(tǒng)的應用
在目標定位系統(tǒng)中,定位服務器也叫數(shù)據(jù)庫服務子系統(tǒng),在對移動目標的定位中,可以實現(xiàn)數(shù)據(jù)信息的各種功能。如果將Java技術(shù)運用到系統(tǒng)中,就可以實現(xiàn)對移動目標的實時監(jiān)控,將目標所在的位置信息及時發(fā)送到終端,并將其儲存到數(shù)據(jù)庫中。通過Java語言編程,客戶還能夠查詢目標的位置,并將客戶的請求功能發(fā)送。此外,將Java技術(shù)和數(shù)據(jù)庫進行連接,還能夠有效延伸Java技術(shù),向客戶提供多個信息的服務方式[4]。例如,在移動終端中,可以實現(xiàn)和移動手機的聯(lián)系,通過短信的方式也能夠?qū)崿F(xiàn)位置的共享。在這個過程中,Java技術(shù)發(fā)揮著重要的作用。
4 結(jié)束語
與C++語言相比,Java技術(shù)面向?qū)ο蟮某绦蛟O(shè)計更加純粹,表現(xiàn)出很多方面的優(yōu)勢,適用性非常強,并且可以用來開發(fā)大型的應用軟件。
參考文獻
[1]劉明清.Java語言的特點與C++語言的比較[J].信息技術(shù)與信息化,2015,28(11):151-153.
[2]沈涵飛.比較教學法在C語言和Java程序設(shè)計課程中的運用[J].軟件導刊,2013,14(12):171-173.
[3]羅剛,任廷艷,趙誠.如何有效地從C語言的學習過渡到Java[J].電腦知識與技術(shù),2013,24(32):7271-7273.
[4]王西美.Java語言與C語言代碼運行效率的比較[J].計算機光盤軟件與應用,2013,32(12):136-137.
作者簡介:袁梟(1993-),男,四川省綿陽市人,工作單位:西華大學,職務:學生,研究方向:數(shù)字媒體。