国产成人精品三级麻豆,色综合天天综合高清网,亚洲精品夜夜夜,国产成人综合在线女婷五月99播放,色婷婷色综合激情国产日韩


Java能做嵌入式開發(fā)嗎

分享到:
           

    Java能做嵌入式開發(fā)嗎?其實(shí)對(duì)于嵌入式系統(tǒng)來說,Java技術(shù)比C語言和匯編語言有著很明顯的優(yōu)越性,其中顯著的特點(diǎn)是減少了系統(tǒng)的開發(fā)和維護(hù),增強(qiáng)了代碼的重利用能力,提高了Java代碼與系統(tǒng)原有代碼的可整合性。當(dāng)然,但大多數(shù)嵌入式應(yīng)用也面臨著Java沒有處理好的兩大約束:沒有足夠的空間和時(shí)間。

    Java做嵌入式開發(fā)的優(yōu)勢(shì)

    1. 提高開發(fā)效率和可維護(hù)性

    在項(xiàng)目的整個(gè)生命周期中,Java環(huán)境大大的簡(jiǎn)化了開發(fā)和維護(hù)。由于目標(biāo)環(huán)境是建立在一個(gè)虛擬機(jī)上,代碼可以很容易的編寫、調(diào)試、分析、更改、維護(hù)。加上將來要連接的外接設(shè)備,未來的系統(tǒng)可能比目前的嵌入式系統(tǒng)復(fù)雜很多。升級(jí)手冊(cè)也許不會(huì)在整個(gè)項(xiàng)目的生命周期中都能起到作用。取而代之的是,硬件設(shè)備的可連接性使得能夠遠(yuǎn)程管理模塊,這樣就保證了開發(fā)人員能在產(chǎn)品上增加新的性能,同時(shí)解決了在產(chǎn)品生產(chǎn)后軟件升級(jí)和維護(hù)的問題。

    2. 重復(fù)利用代碼

    由于嵌入式系統(tǒng)有特殊的需求,以及不同的專門硬件要協(xié)同工作,嵌入式軟件開發(fā)者通常使用非常原始的方法來開發(fā),有時(shí)每一個(gè)新的項(xiàng)目都要從頭再來一遍,F(xiàn)在,隨著嵌入式技術(shù)的成熟以及系統(tǒng)本身變得更大更優(yōu)化,很多人開始對(duì)于把一個(gè)產(chǎn)品的模塊甚至是全部的應(yīng)用程序用到另一個(gè)產(chǎn)品感興趣。這種可重新利用性使得"一次開發(fā),多次利用"成為了可能。

    Java環(huán)境使得一個(gè)模塊可以只要做很少的工作就可以適應(yīng)多個(gè)項(xiàng)目和平臺(tái)。甚至包括有時(shí)客戶需要一個(gè)新的目標(biāo)板,或者采用新的硬件(CPU或外設(shè))和軟件,或者使用不同的Linux都可以進(jìn)行移植。

    3. 集成Java代碼和源代碼

    在Java應(yīng)用中,一個(gè)設(shè)計(jì)很好的界面,或者虛擬機(jī),或者是底層的硬件都可以很好的兼容到嵌入式系統(tǒng)中。盡管無法移植,對(duì)于很多功能和硬件界面來說,在本地環(huán)境下開發(fā)的代碼也許仍然是好的解決方案。在C、C++或者匯編語言中,加入標(biāo)準(zhǔn)的通信、接口模塊、用戶界面、安全特性會(huì)花費(fèi)很多時(shí)間與金錢。與之相比較,Java的基本庫本身就提供了這些東西甚至還更多,這樣就可以加速開發(fā)。

    Java做嵌入式開發(fā)的劣勢(shì)

    1.Java碎片

    其實(shí)從嵌入式開發(fā)人員的角度來看,碎片并不會(huì)影響到嵌入式開發(fā)人員,因?yàn)橐呀?jīng)可以確定設(shè)備之間的硬件是完全兼容的。如果使用的是原始語言像C/C++的話,嵌入式開發(fā)人員可以在任何地方來編寫代碼,并在不同的設(shè)備上進(jìn)行代碼的重用。

    2. Java平臺(tái)測(cè)試

    如果采用Java來實(shí)現(xiàn)嵌入式設(shè)備開發(fā),會(huì)不會(huì)碰到C/C++經(jīng)常碰到的測(cè)試成本太高的難題呢?當(dāng)然,采用Java來開發(fā)的話,可以對(duì)軟件進(jìn)行多次的重復(fù)測(cè)試,盡管這不一定是必需的。而完全需要進(jìn)行重復(fù)測(cè)試的只是那些新加的Java實(shí)現(xiàn)。

    如果是Java平臺(tái)的合法用戶的話,還可以使用Sun提供的TCK來進(jìn)行程序兼容性的檢測(cè)。如果付費(fèi)的話,還有很多壓力測(cè)試可供選擇。只要能保證Java平臺(tái)的正常運(yùn)行并按Java的測(cè)試通過了的話,那么所開發(fā)的程序其可移植性是完全可以保證的。

    當(dāng)然,在此有必須有提醒一下只測(cè)試Java實(shí)現(xiàn)端口的開發(fā)人員。因?yàn)橛幸恍┒丝诘膶?shí)現(xiàn)有可能是采用C/C++來編寫的,這些必須測(cè)試?梢允褂萌略O(shè)備來對(duì)整個(gè)程序進(jìn)行測(cè)試以達(dá)到這一目的。

    3.Java占內(nèi)存

    使用Java平臺(tái)進(jìn)行嵌入式設(shè)備開發(fā)時(shí),其對(duì)內(nèi)在的使用量,會(huì)不會(huì)比使用原始語言如C/C++更大些呢?這取決于軟件的復(fù)雜性。Java由于虛擬機(jī)和內(nèi)庫的原因,有可能會(huì)導(dǎo)致內(nèi)存開銷的增大。當(dāng)然,內(nèi)存的占用量還取決于應(yīng)用的大小及內(nèi)在的使用情況。

    使用Java編寫的程序,只有使用頻率比較高的代碼才導(dǎo)致內(nèi)存占用的增加。相反,使用C/C++編寫的程序,整個(gè)代碼都需要進(jìn)行編譯。因此,不能說使用Java語言編寫的程序占用的內(nèi)存就會(huì)比使用C/C++編寫的程序大。這決定于軟件相對(duì)于平臺(tái)代碼的復(fù)雜度及大小。如果軟件規(guī)模比較大,Java平臺(tái)所消耗的內(nèi)存遠(yuǎn)小于Java類文件簡(jiǎn)潔性節(jié)約的內(nèi)存,這種情況下,使用Java平臺(tái)將有利于節(jié)約內(nèi)存。如果軟件的規(guī)模比較小,則Java平臺(tái)消耗的內(nèi)存就比較明顯了,可以考慮使用C/C++來開發(fā),以節(jié)約內(nèi)存。

    根據(jù)Jaxenter對(duì)Oracle近兩個(gè)白皮書的分析,Java驅(qū)動(dòng)在智能嵌入式設(shè)備上更具優(yōu)勢(shì),尤其是M2M設(shè)備,將通過JAVA來驅(qū)動(dòng)。由此可見,Java在嵌入式系統(tǒng)應(yīng)用開發(fā)中有著美好前景。

   熱點(diǎn)鏈接:

   1、Java驅(qū)動(dòng)在智能嵌入式設(shè)備上更具優(yōu)勢(shì)
   2、Java中的關(guān)鍵字有哪些
   3、Java標(biāo)識(shí)符命名規(guī)則
   4、Java分隔符的使用
   5、Java中javadoc注釋使用規(guī)則

更多新聞>>