タグ

ブックマーク / nagise.hatenablog.jp (2)

  • ジェネリクス型変数と型階層 - プログラマーの脳みそ

    @masaru_b_cl とジェネリクスの話をしていて、継承の際に型変数に具体的な型をバインドして単純化したりするんだよ、みたいな話をしていたのだけど、コード例がないとイメージしにくいと思うのでちょっと書いておこう。 二つの型変数 I, O をもつinterfaceがあったとする。 public interface Executor<I, O> { O exec(I in); } この実装クラスとしてListを受け取って合計を返すSumIntegerクラスを考えよう。 public class SumInteger implements Executor<List<Integer>, Integer>{ public Integer exec(List<Integer> in) { int ret = 0; for (int value : in) { ret += value; } re

    ジェネリクス型変数と型階層 - プログラマーの脳みそ
  • Javaバイトコードの読み方 - プログラマーの脳みそ

    Javaのデバッグをしていて、ステップ実行中にステップインを繰り返したらソースコードのないところに行き当たったことがあるだろう。あるいはEclipseでF3キーでクラスやメソッド・フィールドの宣言元を辿っていってソースコードのないところに行き当たったことがあるだろう。 Eclipseの場合、"Class File Editor"というものが開く。そこにはJavaのバイトコードのニーモニックがズラズラと並んでいて、「これは読めないや、ワケが分からない」と投げ出してしまったりしていないだろうか。 怖がることはない。ちょっとコツを掴めばすぐに読めるようになる。 Class File Editorの開き方 自前のJavaクラスの場合、ビルドして出来上がったclassファイルを開く必要がある。"Package Explorer"だとclassファイルは隠されていて見えないのでWindow -> Sh

    Javaバイトコードの読み方 - プログラマーの脳みそ
    dann
    dann 2010/02/08
  • 1