Javaでの配列境界チェックとは

Javaでは配列に値を代入する際に境界チェックを行う。


これがなければもう少しパフォーマンスが向上するのだけども、セキュリティの観点からチェックは必要なのである。


Javaでは配列のサイズを求めるときにlengthという属性を参照すればよい。
これは配列の実態がメモリ上にポインタとサイズテーブルとして構築されるからである。


配列に値を代入しようとするとまずサイズテーブルのサイズを確認し、サイズが指定された配列番号よりも大きいかどうかをチェックすることが配列境界チェックで、
チェックNGの場合はIndexOutOfBoundsExceptionが発生する。

配列境界が確実に安全で、パフォーマンスが求められるところではこのチェックをなくして高速化を図れたらよいかと思うが、現状そのようなオプションは見当たらない。