سؤال

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?

هل كانت مفيدة؟

المحلول

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.

نصائح أخرى

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top