Java にはリフレクションがあり、当時は目新しかった。 人々がリフレクション API を使いこなしだすと遅さが目立ち始めた。ライブラリ開発者はリフレクションを実行時バイトコード生成で置き換えた。こうして Java のバイトコード編集ライブラリが発達した。 言語仕様にアノテーションが追加されたのも同じ頃。アノテーションと実行時バイトコード生成が Java フレームワークのデザインに与えた影響は大きく、モダンなサーバサイド Java は案外簡潔なコードを書けたりする。XML がアノテーションになっただけ、とは言わない約束。いちおう型をチェックできるし、冗長といわれる Java だって XML よりは簡潔だし。 Android Java は実行時に Java バイトコードを解釈できない。だから Java のコード生成資産が使えない。実行時にロードできる DEX にもデータを一旦ファイルに書かな
![Android らしい Java - 4. コード生成](https://cdn-ak-scissors.b.st-hatena.com/image/square/c510e77d926184dd6ee0c487911291fc552b76aa/height=288;version=1;width=512/https%3A%2F%2Fcdn-images-1.medium.com%2Fmax%2F800%2F1%2AXv2oAw_9BSI4va2HpNuf1g.jpeg)