タグ

javaとStringに関するgirledのブックマーク (2)

  • jstack でスレッドダンプを取る - にょきにょきブログ

    jstack というツールがある。このツールは、現在実行中の Java プロセスのスレッドの状態を取得出来るツールだ。 思ったように性能が出ない時やデッドロックっぽい現象が発生した際はこのツールを使ってスレッドの状態を取得、つまりスレッドダンプを得て、そこから解決の糸口を探す。 今回のサンプルコードは下記コード。 少し長いが、Thread1 と Thread2 クラスはほぼ同一だ。違うのは、リソースをロックする順序。Thread1 クラスは resource1, resource2 の順にロックするが、Thread2 クラスは resource2, resource1 の順にロックする。つまり、これら2つのクラスを同時に実行するとデッドロックを起こす。 public class DeadLockTest { public static Object resource1 = new Obje

    jstack でスレッドダンプを取る - にょきにょきブログ
    girled
    girled 2013/10/17
    こんなツールあるの今さら知った恥ずかしさ。「バグはプロセスで起こってるんじゃ無い!スレッドで起こっているんだ!!」
  • Java7 Update6 で String クラスがさらにリファクタリングされていました - 地平線に行く

    2012年8月14日に登場した Java SE 7 Update6 で、またしても String クラスがリファクタリングされていました! そこで、そこがどういう風に変わったのかを詳しく調べてみました。 フィールド変数 count と offset が削除されました Stringクラスにあった4つのフィールド変数のうち、count と offset が削除されました。 /** The value is used for character storage. */ private final char value[]; - /** The offset is the first index of the storage that is used. */ - private final int offset; - - /** The count is the number of charact

    Java7 Update6 で String クラスがさらにリファクタリングされていました - 地平線に行く
    girled
    girled 2012/09/01
    枯れまくってそうな標準クラスでもいまだにこういったリファクタリングが試されてるのか。思ってもみなかった。
  • 1