我在无人机项目中使用Java,并且由于安全考虑,在设计军用无人机时经常不会使用Java。为什么是这样?我知道这与它生成自己的代码这一事实有关,但任何有无人机知识的人都会对此有更详细的了解吗?
答案 0 :(得分:5)
速度本质上是不一致的。
因为它使用它自己的垃圾收集器,所以当GC启动系统的其余部分时,必须放慢速度以适应它。因此,您无法保证代码的及时性。
不要误解我的意思 - 这不是对Java的批评 - 我只是说在Java中你无法保证某段代码总能在一定的时间内运行。
答案 1 :(得分:2)
简短的回答是“Java不是real-time”
(除非你当然使用real-time Java)
答案 2 :(得分:1)
Java似乎是这种系统的有效语言,但它不够时髦。从航空工程师那里看this answer,我认为你需要知道的是:你需要一个具有实时规格的JVM。
我不认为生成字节码的方式是一个安全问题:您使用的任何语言都将被编译和优化,如果它是一个问题,肯定可以禁用JIT功能(运行时优化)