エンジニアのためのJavadoc再入門講座を読んだ。Javadocいろいろ知らなかったなーってことを再確認。Javadocだけじゃなく、ドキュメンテーションコメントを書くとき(Scaladocとか)でも気をつけた方がいいことが色々あったのでまとめておく。 Javadocタグを使いこなす ブロックタグとインラインタグがある。ブロックタグは @param のように単体で何らかの概念を表現し、行頭に配置しないといけない。インラインタグは主説明やタグセクション内部で特定の部分をマークアップするために使う。 インラインタグ @literal 特殊な文字をエスケープする。 {@literal List<String>} のように書くと、<などのエスケープが必要な文字をそのまま書ける。 @code コードをコードとして整形する。{@code ~~~~ } でサンプルコードが書ける。 @link 他のクラスやメソッドに対してリンクを張る。
Javaプログラマであるかを見分ける10の質問 自信がないので先に言い訳しておくと、もう2年くらいまともにコーディングしてないので、現役のJavaプログラマではないということにしておきたいです。 というわけで、、 下記質問にそれぞれ50文字以内を目安に簡単に説明すること。 演算子とequalsメソッドの違いは何か? A. 演算子はプリミティブ型のとき使う。 オプジェクトで==演算子を使うと、オブジェクトの場所を比較してしまうため、値の比較ではなくて物理的に同じものかどうかの判定になってしまう。 文字列の連結は原則として+演算子を使ってはならない理由を説明せよ。 A. 細かい話は忘れたけど、StringBufferを使った連結に比べて作成されるオブジェクトの数や呼ばれる処理の数が増えたりするので メモリ的にも処理速度的にもおいしくない。 ただし、static final で宣言した文字列の値に+演算子が使われている分には上記の問題は起きない。はず。 List<Integer>のようにジェネリクス型を使う主たる目的は何か?
Javaの最新バージョン Java6update24が出ましたが、重大な脆弱性があったとのことなので、ちょっと試してみました。 参考:http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308/ double型で特定の条件を満たすとJavaがハングするというもの。 ↓のコードはjdk1.6.0_23以前の32bit版Javaで実行するとハングする。 [java] class runhang { public static void main(String[] args) { System.out.println("Test:"