<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Java在嵌入式系統中的解決方案

Java在嵌入式系統中的解決方案

作者: 時(shí)間:2011-08-08 來(lái)源:網(wǎng)絡(luò ) 收藏

  F)網(wǎng)絡(luò )

  由于今天的通常都是網(wǎng)絡(luò )的,采用內置網(wǎng)絡(luò )支持的語(yǔ)言節約了在實(shí)現網(wǎng)絡(luò )協(xié)議和通信程序方面耗費的大量時(shí)間和努力。在中,網(wǎng)絡(luò )類(lèi)包括TCP/IP流和使用TCP及UDP的數據報程序,用于HTTP和URL服務(wù)的操作方法,以及錯誤檢查代碼和恢復功能。

  雖然實(shí)現網(wǎng)絡(luò )也可能用其他語(yǔ)言,比如C語(yǔ)言,但那些語(yǔ)言要求特別的附件軟件包,DLL,或其他必須由操作,或者第三方銷(xiāo)售提供程序模塊,特別附件通常要求有操作或第三方工具的知識,不象,有標準的、內置的網(wǎng)絡(luò )支持。

  包括網(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不再難懂)


關(guān)鍵詞: 解決方案 系統 嵌入式 Java

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>