デフォルトのコンパイルオプションにはデバッグ情報が含まれていないため、特にコンパイラにその情報を含めるように指示する必要があります。
- 一部のライブラリは、携帯電話などの組み込みシステムで使用されています。最近まで、すべてのビットがカウントされました。現在、ほとんどの携帯電話は1985年にすべてのコンピュータより多くのメモリを搭載しています)
- デバッグを有効にしてコンパイルすると、コードは5%遅くなります。それほど多くはありませんが、場合によってはサイクルごとにカウントされます。
- 今日のシニアデベロッパーは、64KBのRAMが莫大な時に生まれました。昨日、私はセラーのサーバーに別の2TBドライブを追加しました。それは25年間で7桁の規模です。人間は調整に時間が必要です。
[編集]ジョン氏が指摘したように、Javaのバイトコードは現在(これ以上)最適化されていません。したがって、クラスファイルの出力は両方の場合で同じになります(デバッグ情報を持つクラスファイルのみが大きくなります)。コードは実行時にJITで最適化され、実行時にCPU、メモリ(量とレイアウト)などのコードを最適化できます。
5%のペナルティは、コードを実行してコマンドラインリモートデバッガーがプロセスにアタッチできるようにするオプション。リモートデバッグを有効にしないと、ペナルティはありません(クラスの読み込みを除いて、それは一度だけ起こります)。
多くの場合、最適化されていない/ "デバッグ可能な"バージョンのlibをダウンロードできなければなりません。また、弾丸を噛んでsrcをプルダウンすることもできます。 – Ian