タグ

ブックマーク / argius.hatenablog.jp (3)

  • Java SE 8 (1) - 概要と一覧 - argius note

    このシリーズは、2014-03-18に正式リリースが予定されている、Java SE 8の新機能と拡張機能についてまとめたものです。 (2014-03-21追記)予定通り、2014-03-18(現地時間)にリリースされました。APIドキュメントも公開されたので、そちらに差し替えました。 ここで触れている内容の範囲では、今後おそらく変更は無いと思いますが、リリース後に確認する予定です。 また、外部リンクについては、リリース後に変更する可能性があります。 目次 シリーズ目次 コンポーネント別 一覧 実行環境 注記 参考リンク シリーズ目次 Java SE 8 (1) - 概要と一覧 (このエントリー) Java SE 8 (2) - ラムダ式、メソッド参照、ストリーム ラムダ式とメソッド参照 ストリーム Java SE 8 (3) - 新しい言語機能 仮想拡張メソッド 実行時のパラメーター名への

    Java SE 8 (1) - 概要と一覧 - argius note
    nilab
    nilab 2014/02/03
    Java SE 8 (1) - 概要と一覧 - argius note
  • Java SE 7 (1) - 文字列switchのからくり - argius note

    遅れ馳せ乍ら、Java7について自分なりにまとめてみます。 最初は概論から入るのが定石でありましょうが、現状は何時投稿できるか分からない状況ですので、小出しにしていくことにします。 まずは、"Strings in switch Statements"から。 これは珍しくピーンと来たので、確認をしてみます。 final class Main { void f(String s) { switch (s) { case "aa": System.out.println("1"); break; case "bb": System.out.println("2"); break; default: } } } これをコンパイルして、javapでディスアセンブルしてみます。 Compiled from "1.java" final class Main { Main(); Code: 0: alo

    Java SE 7 (1) - 文字列switchのからくり - argius note
    nilab
    nilab 2011/11/16
    Java SE 7 (1) - 文字列switchのからくり - argius note : 「文字列のhashCodeを使ってswitchで分岐してから、その中でString#equalsで等しいことをチェック。等しければ0からの連番となる固定値を割り振っていく。この値で再度switchする」
  • ログにソースの行番号を出力させるには - argius note

    id:sardine:20070525#p1 C言語などでは、マクロによって行番号をprintしたりできるわけですが、Javaでは単純な手段でこれを実現することはできません。ところが、Log4jのレイアウトにはフォーマットには、行番号を表示するパターン(%L)がサポートされています。Log4jは、PureJavaな製品なのでJNIを使っているわけでもないのに、何故そんなことが可能なのでしょうか。 答はid:sardineさんのところで解説されていますので、私が実際に使わせていただいているコードを紹介することにします。ちなみに、Log4jのソース自体はまだ見ていません。家はもっと洗練されたコードなのかも知れませんが、敢えて見ていないことをご承知ください。 static int getLineNumber(String targetClassName) { try { throw new E

    ログにソースの行番号を出力させるには - argius note
    nilab
    nilab 2011/11/16
    ログにソースの行番号を出力させるには - argius note : StackTraceElement#getLineNumber() : Log4j
  • 1