タグ

javaとprogrammingに関するkyouzontのブックマーク (5)

  • [実装編]スレッドセーフにすることを忘れてはいけない

    スレッドセーフとは,アプリケーションをマルチスレッドで動作させても問題がないことを指す。サーバー向けアプリケーションは,マルチスレッドで動作するように設計・実装することが望ましい。そのほうが通常はパフォーマンスが向上するからだ。 だが,マルチスレッドのアプリケーションは,注意深く設計・実装しないとトラブルが生じる。例えば,あるスレッドで保持していた変数の値がほかのスレッドからアクセスされ,処理結果が上書きされたり,ほかの利用者の情報が見えてしまったりする。 こうしたトラブルは,開発者が1人で単体テストしているときには見つけられず,多数の利用者で限界時の挙動テストをしたときや,番移行した後で,たまたま見つかることが多い。トラブルが発生するタイミングを再現することが難しいので,デバッグは困難になりがちだ。 マルチスレッドでのトラブルを防ぐため,開発者は,スレッドセーフな設計と実装を心がける必

    [実装編]スレッドセーフにすることを忘れてはいけない
  • Javaの道:スレッド(4.スレッドの同期)

    概要 例題として、配列priceに設定された課税前の価格を一つづつ抜き出し変数workAreaに代入し、workAreaに代入された価格に消費税を課税する処理を行います。課税前の価格を抜き出しworkAreaに代入する処理をpricePutメソッドにて、workAreaに代入された価格に課税する処理をpriceGetメソッドにて行います。 この処理を行う上でスレッドの実行順序を制御せずに実行した場合は、スレッドの実行順序はJavaの動作するシステムのスケジュール機能に依存するため、必ずしもpricePutメソッドとpriceGetメソッドが交互に実行されるとは限りません。その場合、実行結果は以下のようになる場合があります。 課税後価格は105.0円です。 課税後価格は210.0円です。 # pricePutで新しい価格が設定される前に 課税後価格は210.0円です。 # priceGetが

    Javaの道:スレッド(4.スレッドの同期)
  • 取り立ては無いの?

    キャッシングは、お金を借りることですから、返済が遅れた場合にテレビドラマ等で見かける「早く金返せやっ!」という風に怒鳴るような取り立て行為があったら怖いですよね。 しかし、銀行系でのキャッシングや大手カ-ド会社・大手消費者金融なら、このような取り立てはほぼありません。これらの会社は、キャッシングの返済期日が過ぎた場合に、電話やメ-ルで「お支払期日が過ぎておりますので、、」的な事務連絡が入る程度です。 そして、ちゃんと「○月○日までに支払います」と答えれば、その約束が破られるまではほぼ連絡が入りません。 これは、貸金業法という法律で取り立て行為の規制という規定があり、更に、この規定を金融庁のガイドラインという形で具体的に「朝9時から夜の8時までに正当な理由なく取り立ての訪問や電話をしてはならない」・「電話の回数は1日3回まで」・「電話や訪問でも、暴力的な態度や言葉を使用してはならない」等が禁

  • jpn.ph

    This domain may be for sale!

    kyouzont
    kyouzont 2012/12/03
    サブスレッドの生成とスレッド間の同期
  • 一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。

    10万行コード読んだらJava分かるよってTwitterに書いたらすげぇ勢いでRTされたので、調子に乗って捕捉エントリ書くよ。 Java Core API JDKインストールしたディレクトリに入ってるsrc.zipを展開すると入ってるから読むと良いよ。 すぐ近くにあるのから読むってのはメンタル的に楽でいい。 厳密にはOSSじゃなくて単に公開されてるってだけなんだけども、JavaプログラマなのにコアAPIのコード読んでないとか無いよね? どれから読めば良いか分からんかったら、 java.lang java.util java.io java.text 辺りをまずはキチンと理解すること。当然コードを読み終わったら、それを使ってコードを書く事。 OpenJDK http://hg.openjdk.java.net/jdk7/jdk7 OpenJDKを読むことで、プログラム言語してのJavaではな

    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選 - 設計と実装の狭間で。
  • 1