1. · 条件分岐

    僕のリファクタリング elseをなくすようにする

    Java言語を使用して、あるメソッドを実装したとする例えば、

    void method(){
    if(condition){
    a();
    } else {
    b();
    }
    return;
    }


    僕ならまずこう変更する。

    void method(){
    if(condition…

  2. Thread.yieldまた別の使い道

    Thread.yieldメソッドについての別の使い道についてのコメントをメールでいただきましたので、掲載します。



    以前、



    「ほとんどのプログラマによるThread.yieldの唯一の使い方は、テスト中にプログラムの平行性を意図的に増加させることです。」

    「Effective Java…

  3. Javaとクロージャ

    2006/07の雑誌「JavaWORLD」のJavaコーディング道場(text:中村光志)でクロージャについての記事があった。
    恥ずかしながら「クロージャ」についてよくわかっていない。
    というわけでクロージャについて調べてみた。

    上記の雑誌には

    クロージャとは、メソッドを定義した文脈と…

  4. finalizeの実装(オーバライド)

    個人的には、Object#finalize()は実装せずに、後始末が必要な処理は早い段階で明示的に後始末メソッドを作って行うようにしたほうがよいと思う。



    この根拠は、

    (1)

    finalizeの呼び出しは、JVMに依存している。

    (2)

    finalizeの処理が時間かかる場合にアプリケー…

  5. SwingUtilitiesのinvokeLater、invokeAndWaitはいつつかうべき?

    Swingを使ったプログラミングででてくる

    SwingUtilities.invokeLater(...)

    をどのようなときに使えばよいのだろうか。



    実はよくわかっていない。



    こういったコードをみかける。



    SwingUtilities.invokeAndWait(new Runnable…

  6. プログラマメモ: ロックのサンプルをつくってみた

    プログラマメモ: ロックのサンプルをつくってみた



    以前書いた記事への補完です。

    適当にアップしてます。

    #どこかの機会できちんとまとめたいです。



    より厳密にスレッドの実験を行う場合は、

    Thread.yield();

    を使うといいようです。





    「ほとんどのプログラマによるThread.yiel…

  7. SWING モーダルダイアログを出した後に、フレームを表示すると操作ができなくなってしまう。

    「モーダルダイアログを出した後に、フレームを表示すると操作ができなくなってしまう。」

    という現象を発現させてみます。



    発現手順

    フレームを表示します。モーダルダイアログを表示します。別スレッドでフレームを重ねて表示します。



    モーダルダイアログをフレームでサンドウィッチする状態をつくると…

  8. Anonymous Inner Classes - Anonymous Inner Classes tutorial

    下記のリンクをみていてちょっとインスパイアされた。

    Anonymous Inner Classes - Anonymous Inner Classes tutorial



    まさか、そういった現場はないと思うけど、あるクラスの指定されたメソッドだけしか実装してはいけないというルールをつ…

  9. initializer block

    下記のリンクをたまたまみていて、初期化のためのinitializer blockにはっと気がついた。

    Anonymous Inner Classes - Anonymous Inner Classes tutorial



    別にすごく役にたつとは思えないが、なんとなくかっこいいかな。





    p…

  10. 「Thread-Per-Message」パターンを利用して、処理結果を受け取ることができるようにしたサンプル

    おそらくそんなにまちがってないとは思う。

    下記のようにしてみた。





    /**

    * 「Thread-Per-Message」パターンを利用して、処理結果を受け取ることができるようにしたサンプル。

    *

    * @author S.Nakawaka

    */

    public class ThreadSample…

  11. スレッド難しいねー「この仕事、やっといてね」

    クライアントアプリケーションの応答性を高めるためには、やはりスレッドを効率的につかわないといけない。

    現在、多用しているパターンがある。

    一般には「Thread-Per-Message」といわれているらしい。

    参考:
    http://www.amazon.co.jp/gp/product…

  12. ロックのサンプルをつくってみた

    2006-06-23 ここの記事は厳密性に欠けています。

    シーケンスが保たれない可能性があります。





    こんなのつくってみた。

    みそは、try{}finally{}

    かならずfinallyを通る。



    synchronizedをとると

    実行のシーケンス

    get lock

    a

    b

    c

    release lock

  13. [java]内部クラスの使い方

    内部クラスの使い方を研究しています。



    public class TestScope {



    public static void main(String[] args) {

    TestScope testScope = new TestScope();

    te…