我在一个UAV项目中使用Java,并且有人告诉我,出于安全考虑,在设计军用无人机时经常不使用Java。为什么会这样呢?我知道这与它生成自己的代码有关,但是任何了解无人机的人能更详细地了解这一点吗?
发布于 2014-03-04 10:22:56
它在速度上本质上是不一致的。
当它使用它自己的垃圾收集器时,当GC启动到系统的其他部分时,它不可避免地会放慢一些速度来适应它。因此,您无法保证代码的及时性。
不要误解我的意思--这不是对Java的批评--我只是说,在Java中,您不能保证某段代码总是在一定的时间内运行。
发布于 2014-03-04 10:33:18
简单的回答是"Java不是实时“
(当然,除非您使用的是实时Java )
发布于 2014-03-04 10:42:00
Java似乎是这类系统的有效语言,但它还不够流行。看看一位航空工程师的这个答案,我想这正是你需要知道的:你需要一个具有实时规格的JVM。
我不认为字节码的生成方式是一个安全问题:您使用的任何语言都将被编译和优化,如果这是一个问题,那么JIT特性(运行时优化)肯定会被禁用。
https://stackoverflow.com/questions/22169029
复制相似问题