Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在无人机中使用Java是不安全的?_Java_Generated Code - Fatal编程技术网

为什么在无人机中使用Java是不安全的?

为什么在无人机中使用Java是不安全的?,java,generated-code,Java,Generated Code,我在一个无人机项目中使用Java,有人告诉我,出于安全考虑,在设计军用无人机时通常不使用Java。为什么会这样?我知道这与它生成自己的代码这一事实有关,但任何了解无人机的人都可以更详细地了解这一点吗?这与速度本身是不一致的 当它使用自己的垃圾收集器时,不可避免的是当GC启动时,系统的其余部分必须稍微减速以适应它。因此,您无法保证代码的及时性 不要误解我的意思——这不是对Java的批评——我只是说,在Java中,你不能保证某段代码总是在一定的时间内运行。简短的回答是“Java不是” (当然,除非您

我在一个无人机项目中使用Java,有人告诉我,出于安全考虑,在设计军用无人机时通常不使用Java。为什么会这样?我知道这与它生成自己的代码这一事实有关,但任何了解无人机的人都可以更详细地了解这一点吗?

这与速度本身是不一致的

当它使用自己的垃圾收集器时,不可避免的是当GC启动时,系统的其余部分必须稍微减速以适应它。因此,您无法保证代码的及时性

不要误解我的意思——这不是对Java的批评——我只是说,在Java中,你不能保证某段代码总是在一定的时间内运行。

简短的回答是“Java不是”


(当然,除非您正在使用)

Java似乎是这种系统的有效语言,但它还不够流行。从航空工程师的角度来看,我认为这正是您需要知道的:您需要一个具有实时规范的JVM


我不认为字节码的生成方式是一个安全问题:您使用的任何语言都会被编译和优化,如果这是一个问题,那么JIT特性(运行时优化)肯定会被禁用。

好奇:您使用的是哪种JVM?您应该首先询问告诉您“Java对无人机不安全”的JVM。如果他这么说,他最好有一个很好的理由,否则他只是在胡说八道。对不起,巴勃罗,JVM是什么?我使用的是Netbeans 7.3,尽管问题更多的是关于一般信息,而不是针对我的project.JVM:Java虚拟机。标准系统(来自Oracle)不是实时系统。GC冻结执行以释放内存,因此有一段时间系统对任何事件都没有响应。推测:java从cpu中移除了几层。当控制快速飞行(或驾驶)的东西时,您希望尽可能少的延迟+Java不是实时的。另一件事:java/javabytecode是相当通用的代码,在安全相关环境中,可能要求代码是可证明的,这种cpu类型上的代码不会导致任何故障+1,在“无人”车辆上的任何延迟意味着可能会将昂贵的设备撞到东西上。99%的情况下,你根本不会有任何延迟,但如果GC在关键时刻运行,你最终会遇到一堆残骸。这些都是非常有用的答案,并向我展示了我以前没有考虑过的实时性方面,但是,有没有人能够在这个问题的自我生成代码方面也透露一些信息呢?更新:我看不出代码生成怎么会是一个问题。