このエントリーをはてなブックマークに追加

ポイントというか心にとまったことのアウトプットです。

※個人的な重要度のバイアスがかかっているので、「べつにいいかー」と思ってたりすることはメモしてません。

※手を動かして理解したことなど、間違いを含む可能性があります。

※手元の環境は断りがなければ基本はjava 7 をIntelliJ IDEA Ultimate on OSX で動かしてます。


「リフレクション」

  • 型そのものを操作対象にする仕組み
  • Classクラス あるクラスに対応するただ一つのClassオブジェクト、そのクラス
  • Classオブジェクトは、クラスのロード時に暗黙的に生成される
  • Classオブジェクトから、そのクラスのいろんな情報をとれる
  • リフレクションでのオブジェクト操作
    • Methodオブジェクトの生成と、invokeによるメソッド呼び出し
    • フィールドのアクセス権を変更してprivateフィールドにもアクセスすることができる
      • (単体テストとかでもしかして使える?)
  • リフレクションの応用 JavaBeans、DI
  • クラスローダー
    • クラスローダーによってクラスをロード。ロードしたクラスは保持される。再ロードは普通はされない。
    • ホットデプロイ時には再ロードを行う必要がある。
  • ☆プロクシクラス
    • (例がちょっとよくわからなかった。。。)