タグ

JavaとProgrammingに関するsatoshieのブックマーク (4)

  • Javaの7大禁じ手 - Kengo's blog

    Javaの7大禁じ手」というブログタイトルを思いついたので、なんとかして7つダメコードをでっちあげたいless than a minute ago via Twitter for iPhone Favorite Retweet ReplyKengo TODA eller86 などと書き込んだところいくつかネタ提供を頂きましたので、自分のネタと合わせてまとめてみました。Thanks to @flyaway ! Stringインスタンス同士を==で比較 Javaプログラムを始めた人がまず引っかかるのがこれでしょう。厄介なのは System.out.println("abc" == "abc"); // => true System.out.println("a" + "bc" == "abc"); // => true といったコードが期待通りに動作してしまうということです。 System.

  • 難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS

    java.io.Serializable …、ある程度Javaに触れて来た人は必ず見たことがあるインターフェイスだと思う。私も何度も見てきたし、必要に迫られて自分の作ったクラスにSerializableをつけたこともある。しかし、こいつは一体何なのか? 継承の便利さ 僕らがまだJava初心者だった頃。継承というメカニズムに助けられながら育って来た。簡単に言えば、HttpServletクラスを継承しさえすれば、自分の作ったクラスがサーブレットとして認識されるのだ。また、abstractメソッドなどという便利な機能もあり、継承にあたって実装しなければいけないメソッドは確実に指示され、言われた通りにそのメソッドを実装すれば良い。 StrutsのActionも然り。そう、多くの場合は「継承さえすれば、望む物がだいたい出来上がる」というのがJavaの世界だと思っていた。 だが、世の中そんなに甘くない

    難解なSerializableという仕様について俺が知っていること、というか俺の理解 - 都元ダイスケ IT-PRESS
  • Javaバイトコードの読み方 - プログラマーの脳みそ

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

    Javaバイトコードの読み方 - プログラマーの脳みそ
  • Java の参照と C++ の参照の違い - Cube Lilac

    kimuraya Javaでは、参照型を引数として渡す時は、C++で言う参照渡しに相当する処理を行っているようだな。そうでないと、Javaの動作は説明出来ない。 bleis @kimuraya よくある勘違いですけど違いますよ。Javaで参照型を引数として渡すときは、意味的にはC++で言うポインタ渡しに近いです。 数日前に関数引数の参照渡しの話が盛り上がっていたのですが,この話は今まで私も混同していました.TL を眺めていた時点では,説明している人達の言ってる事がよく理解できていなかったのですが,後で下記のコードを実行したところ,この時に言われていた事が少し理解できました. class Foo { public Foo(String s) { message = s; } public String toString() { return message; } private String

    Java の参照と C++ の参照の違い - Cube Lilac
  • 1