Question

I am using Java on a UAV project, and have been told that it is often not used when designing military UAVs due to safety concerns. Why is this? I know it has something to do with the fact that it generates it's own code, but can anyone with knowledge of UAVs go into a little more detail about this?

Était-ce utile?

La solution

It is inherently inconsistent for speed.

As it uses it's own garbage collector it is inevitable that when GC kicks in the rest of the system must slow down a little to accommodate it. Because of that you cannot guarantee the timeliness of your code.

Don't get me wrong - this is not a critique of Java - I am just saying that in Java you cannot guarantee that a certain piece of code will always run within a certain amount of time.

Autres conseils

The short answer is "Java is not real-time"

(Unless you're using real-time Java of course)

It seems Java is a valid language for this kind of systems, but it's not trendy enough. Look at this answer from a aeronautics engineer, I think it just what you need to know: you need a JVM with real-time specs.

I don't think the way the bytecode is generated is a security problem: any language you use will be compiled and optimized, and surely the JIT feature (optimization in run-time) could be disabled if it would be an issue

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top