Javaにおけるシングルトンパターンの実装変形と特性比較
シングルトンパターンの設計思想とJava実装
アプリケーションの実行サイクルにおいて、特定のクラスが保持する状態がグローバルに一意である必要があるケースは頻繁に発生します。シングルトンパターンは、プロセス全体でインスタンスの生成回数を厳密に1つに制限する設計手法です。このアプローチを採用する主な理由は、メモリフットプリントの最適化、不要なガベージコレ ...
6月24日 20:59 投稿
Java における日付フォーマットと解析処理
Java 開発において、日付および時刻の適切な処理はシステム要件を満たすために不可欠です。日付オブジェクトを人間が読める形式の文字列に変換したり、逆に文字列データから日付オブジェクトを生成したりする操作は、多くのビジネスロジックで必要となります。本稿では、Java 標準ライブラリを用いた日付のフォーマット設定と解析手法について解説します。
SimpleDateForm ...
6月21日 00:31 投稿
Javaにおけるシングルトンパターンの実装手法完全ガイド
シングルトンパターンの設計思想は、特定のクラスがアプリケーション内で単一のインスタンスのみを持つことを保証する点にあります。この実現には以下の要素が不可欠です:
コンストラクタをprivateに設定し、外部からのインスタンス生成を制限
静的インスタンスフィールドを用意し、唯一のオブジェクトを保持
グローバルアクセス可能な静的メソッドを提供してインスタン ...
6月19日 16:42 投稿
C++によるログモジュールの実装
概要
本記事では、C++でスレッドセーフなログモジュールを実装する方法を紹介します。STLのqueueにロックを追加し、複数のスレッドからのログ出力を安全に処理できるようにします。ログの書き込みは専用スレッドが担当し、非同期でファイルに書き込む仕組みとなっています。
スレッドセーフなキューの実装
複数のスレッドから同時にアクセスされるキューを実現するため、 ...
6月16日 21:27 投稿
Java における ReentrantLock の実装メカニズムと内部挙動
概要
JUC(java.util.concurrent)パッケージに存在するReentrantLockは、同期処理を制御するための主要な実装の一つである。基本的な機能は組み込みキーワードである Synchronized と類似しているが、高度な制御能力や柔軟性を提供するために設計されている。
Lock インターフェースと基本利用法
ReentrantLock は Lock インターフェースを実装しており、排他制御のため ...
5月19日 11:42 投稿
Javaの並行処理における ArrayList・HashSet・HashMap のスレッドセーフ問題
ArrayList の問題点
まずは ArrayList を取り上げます。ArrayList は 다음과 같이宣言できますが、複数のスレッドから同時にアクセスすると問題が発生します。
ArrayList<String> dataList = new ArrayList<>();
ArrayList の内部構造について解説します。JDK 7 以前では、初期容量が 10 の Object 型配列が使用されていました。JDK 8 以降では、インスタンス ...
5月12日 19:36 投稿