久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久


Java能做嵌入式開發嗎

分享到:
           

    Java能做嵌入式開發嗎?其(qi)實對于嵌入式系統來說,Java技術比C語言和匯編語言有著(zhu)很明顯的(de)優越性(xing),其(qi)中顯著(zhu)的(de)特(te)點是減(jian)少了系統的(de)開發(fa)和維護,增強了代(dai)碼的(de)重利(li)用(yong)能力,提(ti)高了Java代(dai)碼與(yu)系統原(yuan)有代(dai)碼的(de)可整合性(xing)。當然,但大多(duo)數嵌入式應(ying)用(yong)也面臨著(zhu)Java沒(mei)有處理好的(de)兩大約束(shu):沒(mei)有足夠的(de)空間和時(shi)間。

    Java做嵌入式開發的優勢

    1. 提高開發效率和可維護性

    在(zai)項目的(de)整個生(sheng)命周(zhou)(zhou)期中,Java環境大大的(de)簡化了開發(fa)和(he)維護。由于目標環境是建立在(zai)一個虛擬機(ji)上(shang),代碼(ma)可(ke)(ke)以很容(rong)易的(de)編寫(xie)、調(diao)試、分析、更改、維護。加(jia)上(shang)將來(lai)要(yao)連接的(de)外(wai)接設備,未來(lai)的(de)系(xi)統(tong)可(ke)(ke)能比目前的(de)嵌入式系(xi)統(tong)復雜很多。升級手冊也許不會在(zai)整個項目的(de)生(sheng)命周(zhou)(zhou)期中都能起到作(zuo)用。取(qu)而代之(zhi)的(de)是,硬(ying)件(jian)設備的(de)可(ke)(ke)連接性使(shi)得能夠遠程管(guan)理模塊,這樣就保證(zheng)了開發(fa)人員能在(zai)產品上(shang)增加(jia)新的(de)性能,同時解決了在(zai)產品生(sheng)產后(hou)軟件(jian)升級和(he)維護的(de)問題。

    2. 重復利用代碼

    由于嵌入式系(xi)統有特(te)殊的需求,以及不同的專門硬件要協(xie)同工作,嵌入式軟件開(kai)發者通常使用(yong)非常原始(shi)的方法來(lai)開(kai)發,有時每一(yi)個(ge)新的項(xiang)目都要從(cong)頭再來(lai)一(yi)遍。現在(zai),隨著嵌入式技術的成(cheng)熟(shu)以及系(xi)統本身變得更(geng)大更(geng)優化,很多(duo)人開(kai)始(shi)對于把一(yi)個(ge)產品的模塊甚(shen)至是(shi)全部的應用(yong)程序(xu)用(yong)到(dao)另一(yi)個(ge)產品感興趣。這種可(ke)重新利用(yong)性使得"一(yi)次(ci)開(kai)發,多(duo)次(ci)利用(yong)"成(cheng)為(wei)了可(ke)能。

    Java環(huan)境(jing)使得一個模塊(kuai)可以只要做很(hen)少(shao)的(de)(de)工作就可以適應多個項(xiang)目(mu)和(he)(he)平(ping)臺。甚至(zhi)包(bao)括有時客戶(hu)需(xu)要一個新(xin)的(de)(de)目(mu)標板,或(huo)者采(cai)用新(xin)的(de)(de)硬件(CPU或(huo)外(wai)設)和(he)(he)軟件,或(huo)者使用不同的(de)(de)Linux都可以進行移(yi)植。

    3. 集成Java代碼和源代碼

    在Java應用中(zhong)(zhong),一個(ge)設(she)計(ji)很好的(de)(de)界面(mian),或(huo)者(zhe)虛擬機(ji),或(huo)者(zhe)是底層的(de)(de)硬件都可以(yi)很好的(de)(de)兼容(rong)到嵌入(ru)式(shi)系統中(zhong)(zhong)。盡管無法移植,對于很多功能(neng)和硬件界面(mian)來說,在本(ben)地環境下開發的(de)(de)代碼也(ye)許仍然是好的(de)(de)解(jie)決方案。在C、C++或(huo)者(zhe)匯編(bian)語言中(zhong)(zhong),加(jia)入(ru)標準的(de)(de)通信(xin)、接口模塊、用戶界面(mian)、安全(quan)特性會花費(fei)很多時(shi)間與(yu)金(jin)錢。與(yu)之相比較,Java的(de)(de)基本(ben)庫本(ben)身就(jiu)提供了(le)這(zhe)些東西甚(shen)至還(huan)更多,這(zhe)樣就(jiu)可以(yi)加(jia)速開發。

    Java做嵌入式開發的劣勢

    1.Java碎片

    其實從嵌(qian)入(ru)式(shi)(shi)開(kai)(kai)發人員(yuan)的(de)角度來(lai)看(kan),碎片并不會影響到嵌(qian)入(ru)式(shi)(shi)開(kai)(kai)發人員(yuan),因為已經(jing)可以確定設(she)備(bei)之(zhi)間的(de)硬(ying)件是完全兼(jian)容的(de)。如果使用(yong)的(de)是原始語言像C/C++的(de)話,嵌(qian)入(ru)式(shi)(shi)開(kai)(kai)發人員(yuan)可以在任何地方來(lai)編寫代碼(ma)(ma),并在不同的(de)設(she)備(bei)上進行代碼(ma)(ma)的(de)重(zhong)用(yong)。

    2. Java平臺測試

    如果采用Java來實現(xian)嵌入式設備開發,會(hui)不會(hui)碰到C/C++經常碰到的(de)(de)測(ce)試(shi)成(cheng)本太(tai)高(gao)的(de)(de)難題呢?當(dang)然,采用Java來開發的(de)(de)話(hua),可以對(dui)軟(ruan)件進行多次的(de)(de)重復(fu)測(ce)試(shi),盡管這不一定是(shi)必需(xu)的(de)(de)。而(er)完全需(xu)要進行重復(fu)測(ce)試(shi)的(de)(de)只是(shi)那些新加的(de)(de)Java實現(xian)。

    如(ru)果(guo)是(shi)Java平(ping)臺的合(he)法(fa)用(yong)戶的話(hua),還可以使用(yong)Sun提供的TCK來進行程(cheng)序兼容性的檢測。如(ru)果(guo)付費的話(hua),還有很多壓力測試可供選擇(ze)。只要能保證Java平(ping)臺的正常運行并(bing)按Java的測試通過了的話(hua),那么所開發的程(cheng)序其可移植性是(shi)完全可以保證的。

    當然,在(zai)此有(you)必(bi)須有(you)提(ti)醒一下只測試Java實現(xian)端口(kou)的開發人(ren)員。因(yin)為有(you)一些端口(kou)的實現(xian)有(you)可(ke)能是采用(yong)C/C++來編寫(xie)的,這些必(bi)須測試。可(ke)以(yi)使用(yong)全新設備來對整個程序進行測試以(yi)達到(dao)這一目的。

    3.Java占內存

    使(shi)(shi)用(yong)Java平臺進行(xing)嵌入式設(she)備開發(fa)時,其對內(nei)(nei)在的(de)(de)使(shi)(shi)用(yong)量,會不會比使(shi)(shi)用(yong)原(yuan)始語言如C/C++更大(da)些呢?這取決于軟件的(de)(de)復雜性。Java由(you)于虛擬機和內(nei)(nei)庫(ku)的(de)(de)原(yuan)因,有可能會導致內(nei)(nei)存開銷的(de)(de)增(zeng)大(da)。當(dang)然,內(nei)(nei)存的(de)(de)占用(yong)量還(huan)取決于應用(yong)的(de)(de)大(da)小及內(nei)(nei)在的(de)(de)使(shi)(shi)用(yong)情況。

    使(shi)用(yong)Java編(bian)寫(xie)的(de)(de)(de)程序,只有使(shi)用(yong)頻率比(bi)較(jiao)(jiao)高的(de)(de)(de)代(dai)碼(ma)才(cai)導致(zhi)內(nei)存(cun)(cun)占用(yong)的(de)(de)(de)增加。相反,使(shi)用(yong)C/C++編(bian)寫(xie)的(de)(de)(de)程序,整個代(dai)碼(ma)都需(xu)要進(jin)行(xing)編(bian)譯。因此,不能說(shuo)使(shi)用(yong)Java語(yu)言編(bian)寫(xie)的(de)(de)(de)程序占用(yong)的(de)(de)(de)內(nei)存(cun)(cun)就會比(bi)使(shi)用(yong)C/C++編(bian)寫(xie)的(de)(de)(de)程序大(da)。這(zhe)(zhe)決定于(yu)軟件相對于(yu)平(ping)臺(tai)代(dai)碼(ma)的(de)(de)(de)復雜度及大(da)小。如果(guo)軟件規模比(bi)較(jiao)(jiao)大(da),Java平(ping)臺(tai)所消耗的(de)(de)(de)內(nei)存(cun)(cun)遠小于(yu)Java類文件簡潔性(xing)節約的(de)(de)(de)內(nei)存(cun)(cun),這(zhe)(zhe)種情(qing)況下,使(shi)用(yong)Java平(ping)臺(tai)將(jiang)有利于(yu)節約內(nei)存(cun)(cun)。如果(guo)軟件的(de)(de)(de)規模比(bi)較(jiao)(jiao)小,則Java平(ping)臺(tai)消耗的(de)(de)(de)內(nei)存(cun)(cun)就比(bi)較(jiao)(jiao)明顯了(le),可以(yi)考慮使(shi)用(yong)C/C++來開發,以(yi)節約內(nei)存(cun)(cun)。

    根據Jaxenter對Oracle近兩個白皮書的分析,Java驅動在智能嵌入式設備上更具優勢,尤其是M2M設備,將通過JAVA來驅動。由此(ci)可見,Java在(zai)嵌入式系統應用開(kai)發中有著美好前景(jing)。

   熱點鏈接(jie):

   1、Java驅動在智能嵌入式設備上更具優勢
   2、Java中的關鍵字有哪些
   3、Java標識符命名規則
   4、Java分隔符的使用
   5、Java中javadoc注釋使用規則

更多新聞>>