Java 是否可以静态执行数组边界检查?

Java 是否可以静态执行数组边界检查?,java,arrays,indexoutofboundsexception,Java,Arrays,Indexoutofboundsexception,是否可以静态执行数组边界检查? 我认为只能使用静态数组(编译器知道大小)而不能使用动态数组(编译器不知道大小) 编辑:关于C和Java及其折衷(速度与效率)的最初问题得到了回答,似乎也不清楚,所以删除了 谢谢C倾向于把速度看得比其他任何东西都重要,所以边界检查不是语言的一部分。在一般情况下,不能静态地对所有代码执行此操作,因此会产生性能关键型应用程序不希望支付的运行时成本 Gcc不支持插入代码进行边界检查。必须有人这样做,但还没有被添加到官方资料中。你的问题是什么?你说的边界检查是什么意思?如果

是否可以静态执行数组边界检查? 我认为只能使用静态数组(编译器知道大小)而不能使用动态数组(编译器不知道大小)

编辑:关于C和Java及其折衷(速度与效率)的最初问题得到了回答,似乎也不清楚,所以删除了


谢谢

C倾向于把速度看得比其他任何东西都重要,所以边界检查不是语言的一部分。在一般情况下,不能静态地对所有代码执行此操作,因此会产生性能关键型应用程序不希望支付的运行时成本


Gcc不支持插入代码进行边界检查。必须有人这样做,但还没有被添加到官方资料中。

你的问题是什么?你说的边界检查是什么意思?如果你提到数组的大小,你应该阅读Java的基础知识。是的,检查索引是否在数组的范围内。然后你应该阅读一些关于Java的教程。我找不到关于这方面的好教程。有好的链接吗?我不买。每个基本教程都介绍阵列及其属性。只需谷歌“Java教程”和甲骨文一个。谢谢。当您说“不能静态地为所有代码执行此操作”:只是为了澄清,它可以为静态数组执行此操作,但不能为动态数组执行此操作?还是我把它都弄混了?使用动态数组比较困难,但并非不可能,因为需要使用静态代码分析技术来确定数组的大小。这涉及到查看不同的代码路径、函数调用、循环等。这并不容易,而且分析不能总是预测变量的值或动态数组的大小。