我正在查看運行在JBed上的程序的一些Java代碼,這是一個實時Java派生程序。我還不太熟悉JBed。我可以爲嵌入式設備進行普通的Java編程嗎?
該設備只有16 MB的RAM,代碼看起來更像C++。它很少將對象作爲返回值並使用全局變量,因此代碼很難理解。
由於可用的RAM量很少,或者RAM的給定量很少,是否需要優化?是否可以以「常規」方式實現?
我明白,在某個時候,對象可能會導致太多開銷,所以Java將不再適用。如果我們進一步下去,甚至C++會導致太多的開銷,只有C是一個選項(例如,在具有8kB的德州儀器MSP430上)。然而,我的假設是,如果我使用Java,我正確地使用它,而不是例如返回返回值的一半(例如兩個int
S IN一個return
聲明,另一半通過設置一個成員。相反,我會用某種Pair
類作爲返回值。
我不在乎它是否是很多OO編程,它也可能是FP風格,但至少使用原子項作爲返回類型,不能將它遍佈全局變量中。如果問題太廣泛,那麼考慮一個JBed場景和一個16 MB設備。如果Java是以OO風格還是FP風格使用,請指出哪種風格可以適合。
要回答這個問題,我們不得不來定義什麼是「嵌入式設備」。可能是從控制洗衣機的4位MCU到運行Windows CE或某些類似設備的「僞裝PC」。如果通過嵌入式編程,你指的是微控制器編程,那麼不,忘了Java。 – Lundin 2014-12-05 10:56:25
@Lundin:謝謝你的評論。 Java已經在設備上運行,所以滿足了Java的最低要求。 – 2014-12-05 12:51:55