忍者ブログ
淡々とお仕事のお勉強をするよ
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ITmedia エンタープライズ:特集:第1回 EJBの仕組みを知ろう (4/6)

EJBHome インタフェースを継承したホームインタフェースでオブジェクトを作り、そこから create メソッドで Bean オブジェクトを作る。コンストラクタは (直接) 使わないらしい。
ホームオブジェクトでメソッドを呼び出すと、Bean オブジェクトで ejb 付きのメソッドが呼び出されるようになっている。例えば、create に対しては ejbCreate となる。

PR
  • 順序を保持させたかったら Linked*
  • 順序を保証しない HashSet
  • キーを付けたければ Map

とりあえず Java 入門編は終了。これで 1 / 26 の続きに取り掛かれる。

Javaの道:コレクション・フレームワーク(2.List)まで読んだ。

ArrayList はランダムアクセスによる高速検索が特徴らしい。一方、LinkedList はシーケンシャルなので低速。

Javaの道:スレッド(5.スレッドのグループ化)と、入出力をJavaの道:入出力(2.ファイル入出力)まで。

  • 多くのスレッドは main グループに属する。(例外もある)
  • 文字コードは Unicode メイン。これはよく昔トラブル事例を耳にしたような気がする。

あれ、synchronized されてる変数って synchronized されてないメソッドから普通にアクセスされる ? 調べてみる。

えーと、つまり、

(前略)

public synchronized void SynchroMethod() {
    var = 100;
}

(中略)

public void NonSynchro() {
    var += 100;
}

(後略)

などとしても、SynchroMethod の操作が終わるまで NonSynchro は var に何もできないということなんだろうか。実際やってみれば分かるか。

こう書くようにしたらもっと分かりやすそう。

public void SynchroMethod2() {
    synchronized(var) {
        var = 100;
    }
}

var がプリミティブ型だと出来ない気がする。

スレッドではなくオブジェクトをロックする。同じクラスから出来たインスタンスのメソッドは排除できないとか、同じメソッドから出来たスレッドからはアクセスされてしまうとか何とかそんな感じ。

Javaの道:スレッド(4.スレッドの同期)まで。

  • synchronized 修飾子を使ってオブジェクトをロック。
  • notify では実行可能にするスレッドを指定できない。

あれ、synchronized されてる変数って synchronized されてないメソッドから普通にアクセスされる ? 調べてみる。

Javaの道:スレッド(3.スレッドの作成)まで。段々発展的になってきた。

最初のサンプルプログラムを見て、あれ、インスタンスを 2つ作って sleep かましたら何でもマルチスレッド ? と思ったけど、やっぱり Thread クラスが肝だった。

  • Thread クラスが run や sleep などのマルチスレッドコンピューティングに纏わるメソッドを提供している。
  • 別のクラスを継承せねばならないときには Runnable インタフェースを使う。
忍者ブログ [PR]


Designed by A.com
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新TB
バーコード
ブログ内検索
アクセス解析
プロフィール
HN:
tnmt
性別:
非公開
(image created by E-Mail Icon Generator)