タグ

2009年4月14日のブックマーク (6件)

  • 頑健なJavaプログラムの書き方

    日頃より、アレスネットをご愛顧いただきまして誠にありがとうございます。 「ホームページサービス」のサービス提供は2016年1月31日をもちまして終了させていただきました。 これまで長らくご利用いただき、誠にありがとうございました。 今後も、皆様によりよいサービスをご提供させていただけるよう、サービス品質向上に努めて参りますので、何卒、ご理解いただけますようお願 い申し上げます。 <アレスネットをご契約のお客様へ> 後継サービスとして「userwebサービス」を提供させていただいております。 詳しくは、以下のリンクをご参照ください。 ▼「userwebサービス」のご案内 http://www.ejworks.info/userhp/alles/index.html 今後ともアレスネットをご愛顧いただけますようお願い申し上げます。 株式会社イージェーワークス アレスネット カスタマーサポート

    Nagise
    Nagise 2009/04/14
    ある程度経験を積んだプログラマが脳内で考えていることを箇条書きで示すとこれだけの量になりました的な感じ。あちこちにあるトレードオフの議論がポイントで、画一的な正解がない。故に初心者は迷うかも。考えろ!
  • 2次キャッシュを意識してコーディングしてる?

    先日、北陸twitterオフで、2次元配列をx,yの順でアクセスするのと、y,xの順でアクセスするのでは、実行速度が違うんだよ、という話をしていたのだが、正直このネタは4、5年前にMIPSを使っていたときの事なので、今でも有効なのか?と思いベンチマークプログラムを作成して検証してみた。 内容 Integer型二次元配列の内容を処理する時に、アドレス順に行う(キャッシュにヒットしやすい)場合と、そうでない(キャッシュにヒットしにくい)場合を比較してみた。 環境 MacBookPro (Core2Duo 2.4G / Memory 4GB) MacOS X 10.5.6 gcc 4.0.1(-O2で最適化) 結果 X Y キャッシュヒット キャッシュミス diff 1024 1024 0.002351 sec 0.062166 sec x 26.44 1024 2048 0.004840 se

    Nagise
    Nagise 2009/04/14
    組み込み系やってる友人が言うにはキャッシュを外すと1ケタ遅くなるみたいな話をしていたけど、こうしてみるとなかなかのインパクト。
  • java.lang.ref.Referenceの動きとキャッシュ - S_a_k_Uの日記みたいなDB

    Java1.6.0_07 SoftReferenceとWeakReferenceの違いを調べてみる。 iBATISのキャッシュのreference-typeをどう設定しようかな?とした時に、SOFTとWEAKの動作を確認しときかったので。 WeakReferenceは、参照が切れたら、ということで動作はシンプル。 SoftReferenceは、Runtime.getRuntime().gc()でGCしても、参照が維持されてる。 ヒープサイズが拡張されるタイミングとかで、って感じがしないでもない。 +参照しているオブジェクトのサイズによっても、って感じでもある。 実際のコードはファイルのバイト配列のオブジェクトで、ファイルのサイズを変えて確認してみた。 参照が切れる時には、SoftReferenceの参照は一気に全て切れる。 世代(古い参照のみ)とかって感じではない。けど、世代が同じ状態で切

    java.lang.ref.Referenceの動きとキャッシュ - S_a_k_Uの日記みたいなDB
    Nagise
    Nagise 2009/04/14
    実際の回収タイミングを調べたことはなかったなぁ。VMの実装依存だという認識。GC式の言語でのメモリ管理は方向性がまったく違うのでこれはこれで面白いんだよね
  • [Java] Inner Classのstatic有りと無しの違い | quabbinの日記 | スラド

    C:\Develop>copy con A.java class A { static class X { } class Y { } void method() { A.X x = new A.X(); A.Y y = new A.Y(); } } ^Z 1 個のファイルをコピーしました。 C:\Develop>Language\jdk1.6.0_07\bin\javac.exe -g:none A.java C:\Develop>dir ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 3574-3602 です C:\Develop のディレクトリ 2008/09/20  00:52    <DIR>          . 2008/09/20  00:52    <DIR>          .. 2008/09/20  00:52           

    Nagise
    Nagise 2009/04/14
    昔受験したときには、このあたりの出題が予想以上に多かったので驚いた思い出が。といってもJDK1.3の頃なので今の出題傾向とは大分違うかもしれないけども。
  • (twicco)富山コミュニティ立ちあげ

    Nagise
    Nagise 2009/04/14
    あとで
  • ラムダ計算とチューリングマシンの違い 2009-04-13 - きしだのはてな

    ぼくもYコンビネータがわかるようになるまではそうだったのだけど、Yコンビネータを使うとどのような処理ができるのかがよくわからなくて悩んでいる人が多いように思う。他の人のブログを見ても、名前をつけずに再帰ができるのがすばらしいとか書いてあったりするのだけど、それによってどういう処理ができるのかわからずにいた。 結論をいえばYコンビネータには、なにかの処理を便利にする能力はない。関数であらゆる計算ができるということが示せれば、あとは用なしだ。理論の礎としてうまってしまえばいい。 結局、Yコンビネータによってどのような処理ができるかというのは、ラムダ計算の要素のメリットをチューリングマシンの中に見出そうとしてるといえる。 ラムダ計算とチューリングマシンは、どちらも計算モデルという点では一致しているけど、全く違う。 無限であるか有限かの違いといってもいい。 チューリングマシンでは、データの量と処理

    ラムダ計算とチューリングマシンの違い 2009-04-13 - きしだのはてな
    Nagise
    Nagise 2009/04/14
    今、何かが見えた。