我正在查看运行在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