Java在嵌入式系統中的解決方案
F)網(wǎng)絡(luò )
由于今天的嵌入式系統通常都是網(wǎng)絡(luò )的,采用內置網(wǎng)絡(luò )支持的語(yǔ)言節約了在實(shí)現網(wǎng)絡(luò )協(xié)議和通信程序方面耗費的大量時(shí)間和努力。在Java中,網(wǎng)絡(luò )類(lèi)包括TCP/IP流和使用TCP及UDP的數據報程序,用于HTTP和URL服務(wù)的操作方法,以及錯誤檢查代碼和恢復功能。
雖然實(shí)現網(wǎng)絡(luò )也可能用其他語(yǔ)言,比如C語(yǔ)言,但那些語(yǔ)言要求特別的附件軟件包,DLL,或其他必須由操作系統,或者第三方銷(xiāo)售提供程序模塊,特別附件通常要求有操作系統或第三方工具的知識,不象Java,有標準的、內置的網(wǎng)絡(luò )支持。
Java包括網(wǎng)絡(luò )包出于必要,因為設計者不能對一個(gè)作為基礎的操作系統的網(wǎng)絡(luò )設施做任何假定,他們必須得包括集成網(wǎng)絡(luò )程序庫,以確保Java程序能在所有平臺上工作。
G)動(dòng)態(tài)配置
動(dòng)態(tài)配置是指一系統啟動(dòng)時(shí)的用戶(hù)制定配置或重新配置。需載入特殊的硬件配置、網(wǎng)絡(luò )參數或在引導期間支持特定用途的一些實(shí)用程序的系統,常常使用動(dòng)態(tài)配置。
Java以動(dòng)態(tài)捆綁來(lái)支持動(dòng)態(tài)配置。當你組成一個(gè)程序的各個(gè)類(lèi)文件編譯成字節碼時(shí),在你的類(lèi)文件之間,或者對JVM包的類(lèi)(如圖形、網(wǎng)絡(luò )以及核心語(yǔ)言支持)引用,還沒(méi)有被解決。當JVM載入你的程序時(shí),它動(dòng)態(tài)的載入并捆綁(即鏈接)你的程序引用的所有的類(lèi)。因此,要改變系統配置,你所需要做的一切就是修正相應的類(lèi)文件。下一次系統時(shí),JVM自動(dòng)捆綁新文件到你的程序中,而新的配置將生效執行。
H)異常處理
與許多操作系統和程序不同,對嵌入系統而言,重新啟動(dòng)通常是無(wú)法接受的,就像我們都不希望打電話(huà)或者看電視時(shí)突然有技術(shù)性的中斷一樣。這意味著(zhù)實(shí)際上所有嵌入式系統都必須足夠堅實(shí)以截取錯誤來(lái)防止它們使程序或更糟的是使整個(gè)設備崩潰。
程序錯誤的致因很多。相對來(lái)說(shuō),很少是因為繼承邏輯錯誤,而大多數程序的崩潰是因為意外輸入,或者是因為程序不能調用系統資源來(lái)完成某個(gè)特定操作。
在Java中,由拋出(產(chǎn)生)一個(gè)異常來(lái)提示錯誤。使用專(zhuān)門(mén)為異常處理而設計的語(yǔ)句(關(guān)鍵字try、catch、和finally),程序就能將其錯誤處理代碼安排到幾個(gè)集中區域,try程序塊是程序執行的正常流程。當一個(gè)異常發(fā)生在try塊(包括該嵌套塊中的各層子程序)中,控制就交給了catch塊。不管是否有異常發(fā)生,finally塊中的代碼始終要被執行。未被處理的異常會(huì )由調用堆棧自下而上傳播JVM并終止程序。你不再需要動(dòng)手編程,來(lái)將錯誤狀態(tài)通過(guò)幾層函數調用返回。而是,在錯誤發(fā)生由檢測錯誤的代碼直接拋出一個(gè)異常。這極大地簡(jiǎn)化了應用程序中的錯誤處理代碼,進(jìn)而獲得更好地錯誤處理效果和更堅實(shí)可靠的代碼。
I)線(xiàn)程
大多數操作系統都給一個(gè)過(guò)程產(chǎn)生和管理多個(gè)線(xiàn)程的能力,這些線(xiàn)程彼此獨立地完成不同地任務(wù)。但是,很少由程序語(yǔ)言提供對線(xiàn)程管理的直線(xiàn)支持,通常都需要直接調用操作系統功能。Java卻相反,直接在語(yǔ)言提供了產(chǎn)生、管理和協(xié)調同步線(xiàn)程地功能。與Java的其他特點(diǎn)一樣,該功能是必要的,因為設計者不敢確定底層的操作系統是否支持多線(xiàn)程。
開(kāi)發(fā)者越來(lái)越多的在程序中使用線(xiàn)程,將其作為滿(mǎn)足一個(gè)程序不能完成的,通常相互無(wú)關(guān)的一些任務(wù)的一種手段。由于Java對線(xiàn)程有內置語(yǔ)言支持,以Java創(chuàng )建多線(xiàn)程較之與其它語(yǔ)言更簡(jiǎn)單、更自然。
J)圖形
JVM包括一個(gè)龐大的圖形及窗口支持程序包,稱(chēng)為Abstract Windowing Toolkit(AWT)。用AWT,你能在應用程序中快速而輕易地創(chuàng )建精致而強大的圖形用戶(hù)界面。對于需要精細的用戶(hù)界面的嵌入系統來(lái)說(shuō),AWT能節省大量開(kāi)發(fā)時(shí)間,從而是產(chǎn)品更快的走向市場(chǎng)。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論