java

java

Javaでのスレッド制御:joinとsynchronizedの使い方

javaでは、スレッドを立てて処理を並列に行うことができます。 しかし、並列に処理を行う際、処理順を制御しなければならないことがあります。 処理順の制御方法として基本的な方法として、joinを使う方法とsynchronizedを使う方法があ...
java

staticとSingletonパターンの違いと使い分け

オブジェクト指向プログラミングのプログラミング手法で、「singleton(シングルトン)」と呼ばれる手法があります。 この手法は、プロジェクト内で共通的に使われるインスタンスを1つだけ予め作成し、外部のクラスにはそのインスタンスを使用させ...
java

Javaでイミュータブルクラスを作成する方法

「イミュータブル」とは「不変」という意味で、オブジェクト指向の世界では「状態(クラス変数)がオブジェクト生成時から変更されないこと」を指します。 有名所では、Stringがイミュータブルなクラスとして知られています。 イミュータブルなクラス...
java

Java 8の関数型インターフェースの背景と考え方

【前置き】 Java8から関数型インターフェースが使用可能になりました。 具体的に「ラムダ式」「Stream」「Optional」「Files」と言った方がわかりやすいでしょうか。 関数型インターフェースの使用を半ば強制されるフレームワーク...
java

Javaでミュータブルな参照型変数の初期化時の注意点

ミュータブルな参照型変数を初期化する場合、初期化の方法を間違えると他の変数も一緒に初期化してしまいます。 この記事では、ミュータブルな参照型変数の初期化方法を説明します。 【基本データ型変数と参照型変数】 変数は大きく分けて、基本データ型変...