Javaに関するdekatotoroのブックマーク (4)

  • 一歩先行く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選 - 設計と実装の狭間で。
    dekatotoro
    dekatotoro 2011/06/11
    一歩先行くJavaプログラマが読むべきオープンソースソフトウェア10選
  • Arrays.asList()が変わっている - idesaku blog

    int[] data = new int[] { 1, 2, 3 }; List<Integer> list = new ArrayList<Integer>(); list.addAll(Arrays.asList(data)); intをIntegerにAutoBoxingしてくれることを期待したが、コンパイルエラー(汗)asList()がListではなく要素数1のListを返してくる。 今更なのだが、Java5から、Arrays.asList()の仕様が変わっているのだな。 // 正解 list.addAll(Arrays.asList(1, 2, 3)); // 間違い int[] data = new int[]{ 1, 2, 3 }; list.addAll(Arrays.asList(data)); Java5からasList()は可変引数を取るようになったらしい。 いやしか

    Arrays.asList()が変わっている - idesaku blog
    dekatotoro
    dekatotoro 2011/05/09
    Arrays.asList()が変わっている
  • マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌

    長い文章になってしまったので、概要だけ先に書きます。 以下のJavaプログラムは、常に上から下に順番に命令が実行されると思いますか?つまり、aに1が格納された後に、bに2が格納されると思いますか? 実は場合によってはこの実行順序が入れ替わる場合があります。これはJavaの言語仕様として定義されていることです。これを考慮しないと信頼性のある並行処理は実装できません。 気になる人は以下を読んでみてください。 a = 1; b = 2; すでにインターネットは社会インフラ化しています。ソーシャルネットワークで多くの人とコミュケーションやコラボレーションできる時代で、個人が情報を作り消費することは当たり前になってきています。そして、インターネット上のコンテンツは増加の一途を辿っています。「情報爆発」なんて言葉も耳慣れた言葉になりましたが、その問題解決のためにMapReduceなどの分散処理技術に注

    マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編 - - かとじゅんの技術日誌
    dekatotoro
    dekatotoro 2011/02/25
    マルチコア時代に備えて本気でメモリモデルを理解しておこう - リオーダー & finalフィールド 編
  • Mapをコピーする ※2013/07/29 内容更新 - くろのまったりシステム開発日記。

    最近まで知らなかったのですが…。 これまでMapをコピーするのに、KeySetを取って存在するだけぐるぐる回して、 Keyに対応する値を取り出して、そのKeyと値をついにして新たなMapに追加していく、なんてコトをしていたのですが、以下の手順で簡単にできちゃいます。 しかも参照渡しじゃなくて値だけコピーされているので、いやあ人生無駄にしてきたなあとしみじみ思ったり。 →ももんが様からコメントをいただいて確認した所、内容物は同一オブジェクトのようですね。ご指摘ありがとうございました! import java.util.HashMap; import java.util.Map; public class Sample { public static void main(String[] args) { Map<String, User> map1 = new HashMap<String,

    Mapをコピーする ※2013/07/29 内容更新 - くろのまったりシステム開発日記。
    dekatotoro
    dekatotoro 2011/02/22
    Mapをコピーする
  • 1