タグ

2011年4月11日のブックマーク (3件)

  • Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して

    Java5における総称型(generics)の導入に伴い、Javaの型システムは以前と比べて高機能になった反面、理解するためのハードルが高くなっています。もちろん、Javaの型についてきちんと理解するためには言語仕様を勉強すればよいのですが、手っ取り早く理解するための方法としてリフレクションAPIを使ってみるというのが有効です。リフレクションAPIの先祖はJava1.xのころから存在しており、フィールド、メソッド、クラスなどの情報を実行時に取得するためのものですが、総称型に合わせてJava5から新しいAPIが追加されています。ここではリフレクションAPIを使い、Java5の新しい型システムについてまとめてみたいと思います。 JDK1.4までの型はすべてClassクラスのインスタンスに一対一対応する JDK1.4までに存在していた型はパターンに分けると以下の3通りに分類できます。 基型(i

    Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指して
  • Java総称型のワイルドカードを上手に使いこなすための勘所 - 達人プログラマーを目指して

    Java5以降では総称型(generics)がJava言語に導入されています。総称型自体は、最近の静的な型付けのプログラミング言語で珍しいことではなく、現在の最新版では.NETのC#やVisual Basicにも導入されています。一般的には総称型をサポートするクラスライブラリを自分で正しく定義することは非常にスキルがいるが、事前に定義されたクラスを使うだけであれば、それほど難しくないとされています。しかし、Java言語の総称型はエントリで説明するように特殊なところがあり、単に利用するだけでも他の言語に比べて遥かに難しいところがあるというのも事実です。特に総称型をパラメータ化する際に指定するワイルドカード型(List<? extends Serializable>など)の意味を正しく理解して使いこなすことは簡単なことではありません。その結果、昔のJDK1.4までのように型パラメーターのない

    Java総称型のワイルドカードを上手に使いこなすための勘所 - 達人プログラマーを目指して
  • CMakeを使って自作ライブラリをビルド&インストールしてみたまとめ - へぼいいいわけ

    最近、意味も無いのに高速&省メモリを求めてC言語でプログラム書くのが自分の中で流行ってまして、それで作った自作のライブラリをAutotoolsを使用してインストールしていたんです。でも、Autotoolsだと複数のコマンドとそのオプションを覚える必要があったり、関連性の分かりにくい設定ファイルを書く必要があったり、勝手にGPLの条文が生成されたりして面倒なんですよ。まあ一回書いてしまえばあまり変更する必要も無いので、とりあえずは我慢していました。 話は変わって、先日MySQLのver5.5.9をソースからインストールしてみました。MySQLの5.5(?)からはインストールにCMakeを使うそうで、MySQLのためにCMakeもインストールしました。そもそもCMakeの存在を知らなかったので、この機会に調べてみたところ、CMakeを使ってみたくなってしまい、勢いでそのまま使ってしまったのでそ