40

コードはアサーションを含めてコンパイルでき、必要に応じてアクティブ化/非アクティブ化できます。

しかし、アサーションを含むアプリをデプロイし、それらが無効になっている場合、アサーションが存在して無視されることに伴うペナルティは何ですか?

4

3 に答える 3

1

非常に少ない。クラスのロード中に削除されると思います。

いくつかの証拠に最も近いものは、Java 言語仕様の assert ステートメントの仕様です。assert ステートメントをクラスのロード時に処理できるように表現されているようです。

于 2011-01-07T11:20:11.027 に答える
0

アサーションを無効にすると、パフォーマンスの低下が完全に解消されます。無効にすると、セマンティクスとパフォーマンスにおいて空のステートメントと本質的に同等になります。

ソース

于 2011-01-07T11:24:44.257 に答える