The King's Museum

ソフトウェアエンジニアのブログ。

2016-01-01から1ヶ月間の記事一覧

ESL Podcast 1173 – Flying on a Budget Airline

ESL シリーズ。 Episode ESL Podcast 1173 – Flying on a Budget Airline 内容 近年の格安航空についてのエピソード。 LCC とも呼ばれるけど、Budget Airline とも呼ばれるらしい。 例のごとく登場人物が2人でてくる。 最初は「旅行の飛行機がめちゃくちゃ…

【Effective Java】項目24:無検査警告を取り除く

今回は「項目24:無検査警告を取り除く」。 ポイント 無検査警告は必ず取り除く 方法1:コードを変更して警告を取り除く 方法2:注意して @SuppressWarnigns アノテーションで警告を抑制する ジェネリックスに対するコンパイル警告 ジェネリックスを利用…

【Effective Java】項目23:新たなコードで原型を使用しない

第5章から Effective Java シリーズ再開。第5章はジェネリックスについて。 今回は「項目23:新たなコードで原型を使用しない」。 ポイント ジェネリックスを積極的に使う 実行時ではなくコンパイル時にエラーをチェックできる 原型は利用しない 非境界…

ESL Podcast 1172 – Booking Space for Business Events

ESL シリーズ。 Episode ESL Podcast 1172 – Booking Space for Business Events 内容 年次の営業ミーティングのために会議室を予約するという内容。ホテルの会議室を使うか、大きい会議用施設を借りるか、同僚と打ち合わせをしている会話。 今回は transcri…

『Java の理論と実践』のメモのまとめ

ここ最近、『Java の理論と実践』を読んだ時のメモをブログにアップしてきた。 concurrent 関連の記事は一通り読み終わったのでここらで一旦終了にしようと思う。 自分のために一通りをまとめておく。 メモ一覧 『Javaの理論と実践: 安全な構築のテクニック…

『Java の理論と実践: volatile を扱う』を読んで

記事: Javaの理論と実践: volatile を扱う メモ: Java の言語としての同期化機構 synchronized volatile volatile volatile はsynchronized の軽量版 volatile は synchronized より実行時のオーバーヘッドが少ない ただし、synchronized を使ってできるこ…

『Javaの理論と実践: ノンブロッキング・アルゴリズムの紹介』を読んで

記事: Javaの理論と実践: ノンブロッキング・アルゴリズムの紹介 メモ: Java5 でノンブロッキングアルゴリズムの開発が可能になった ノンブロッキングカウンター Atomic 変数を使ったカウンター アトミックで行く の内容とほぼ同じなので省略 ノンブロッキ…

『Javaの理論と実践: アトミックで行く』を読んで

記事:Javaの理論と実践: アトミックで行く メモ: JDK 5.0 でアトミック変数が追加された wait-free, lock-free なアルゴリズムが利用可能になった 以前は native code を使う必要があった スレッドの協調 マルチスレッド環境ではスレッド間の協調が必要 ロ…

ESL Podcast 1170 – Naming Children

年初に Podcast でリスニングを続けるという目標を掲げた。 ESL という Podcast を 1 episode/week で聞くことが目標。 せっかくなので、聞いた episode ごとにメモを書いていこう。 Episode ESL Podcast 1170 – Naming Children 内容 最初のエピソードは "N…

Google Search Console(旧 Google ウェブマスターツール)の使い方

とある理由で Google Search Console について調べたので簡単にまとめておこうと思う。 ここでは Search Console の画面のそれぞれの項目について簡単に説明する。 ついでに該当する項目のヘルプへのリンクもつけておく(自分用メモの意味もこめて)。 Searc…

『Javaの理論と実践: JDK 5.0における、より柔軟でスケーラブルなロック』を読んで

記事:Javaの理論と実践: JDK 5.0における、より柔軟でスケーラブルなロック メモ: synchronized の特性 原子性(atomicity)と可視性(visibility)を提供 原子性:モニタオブジェクトに保護されたコードを実行できるのは一度に一つだけ 可視性:同じモニ…

long と double に対する volatile 修飾子

数年前、「long と double は JVM 実装によっては二つの 32bit 値として扱うことがあるので、volatile 修飾子では atomic 性を確保できない。synchronized を使わないとスレッドセーフにならない」という話になったことがある。 最近、『Java の理論と実践』…

『Javaの理論と実践: Javaメモリ・モデルを修正する 第2回』を読んで

記事: Javaの理論と実践: Javaメモリ・モデルを修正する 第2回 メモ: 可視性の問題 すぐに他のスレッドの変更が見えるとは限らない これを保証するのがメモリモデル volatile, synchronized, final のメモリセマンティクスを決定している 同期化ブロックと…

『Javaの理論と実践: Javaメモリ・モデルを修正する 第1回』を読んで

記事: Javaの理論と実践: Javaメモリ・モデルを修正する 第1回 メモ: Java Memory Model の重要性 C/C++ はメモリモデルがなく、アーキテクチャ依存なので他のアーキテクチャでは並行プログラムが動作しない可能性がある Java なら Java がメモリモデルを…

目標

1月1日に華麗にブログでも投稿してやろうともくろんでいたのだが、2016 年がはじまって早くも1週間経過してしまった。 昨年は今まで読まなかったような類の本を読み、目標設定の重要さをさんざん目にしたので今年は明確に目標を設定してみようと思った。 長…

(c) The King's Museum