Java

【Java】CompletableFutureの使い方

実行環境 CompletableFutureとは CompletableFutureの使い方 CompletableFutureの生成 CompletableFutureの結果取得 CompletableFutureの後処理 CompletableFutureの合成 CompletableFutureのエラーハンドリング get() vs join() get()の特徴 join()の特徴 …

【Java】TaskExecutorについて

実行環境 TaskExecutorの種類 ThreadPoolTaskExecutorの設定値 ThreadPoolTaskExecutorのデフォルト値 Springの場合 Spring Bootの場合 TaskExecutorの設定方法 メソッドレベル アプリケーションレベル 参考文献 Executor/TaskExecutorとは TaskExecutorの使…

【Java】Springで@Asyncを使わずに非同期化する方法

実行環境 @Asyncを使えないケース @Asyncを使わない非同期化方法 1. Configurationクラスに@EnableAsyncを付与する 2. Executorを定義する 3. ExecutorをDIする 4. CompletableFutureのsupplyAsync/runAsyncで非同期化する 参考文献 実行環境 OS:Windows 10…

【Java】Springで非同期処理

実行環境 Springの非同期化方法 1. Configurationクラスに@EnableAsyncを付与する 2. Executorを定義する 3. 非同期化したいメソッドに@Asyncを付与する 4. @Asyncを付与したメソッドを呼ぶ @Asyncの制約 エラーハンドリング Future.get()でハンドリング Asy…

【Java】商品一覧をソートし、商品タイプごとにソート順が1位の商品を抽出する

実行環境 やりたいこと 単一ソートの場合 複数ソートの場合 参考文献 実行環境 OS:Windows 10 Java:17 やりたいこと 商品一覧をソートする 商品タイプごとにソート順が1位の商品を抽出する 抽出結果をソートする 単一ソートの場合 価格の降順でソートする …

【Java】オブジェクトの生成方法

ゴール 実行環境 Builderパターンとは オブジェクトの生成方法 Constructorでオブジェクトを生成する メリット デメリット Setterでオブジェクトを生成する メリット デメリット Builderでオブジェクトを生成する メリット デメリット ゴール Builderパター…

【Java】ループ処理を並列化し、ループの要素ごとにエラーハンドリングする

実行環境 ループ処理を並列化し、ループの要素ごとにエラーハンドリングする 並列化処理をSpring Bootに乗せ換える Main Service Runner 実行結果 実行環境 OS:Windows 10 Java:17 Spring Boot:2.6.2 ループ処理を並列化し、ループの要素ごとにエラーハン…

【Java】Spring Data Redisを試す

実行環境 Spring Data Redisとは IntellijでSpring Data Redisの公式チュートリアルを試す 1. Redisをインストールする 2. Spring Initializrからアプリの雛型(zipファイル)をダウンロードする 3. zipファイルを解凍し、Intellijにインポートする 4. 必要…

【Java】Spring Cacheを試す

実行環境 Spring Cacheとは IntellijでSpring Cacheの公式チュートリアルを試す 1. Spring Initializrからアプリの雛型(zipファイル)をダウンロードする 2. zipファイルを解凍し、Intellijにインポートする 3. 必要なファイルを作成する 4. プログラムを実…

【Java】Spring Batchを試す

IntellijでSpring Batchの公式チュートリアルを試す 1. Spring Initializrからアプリの雛型(zipファイル)をダウンロードする 2. zipファイルを解凍し、Intellijにインポートする 3. 必要なファイルを作成する 4. JARを作成する。 5. JARを実行する Linux環…

【Java】LinuxでJava環境を構築してJARを実行する

実行環境 Javaのインストール Javaの動作確認 JARの作成と実行 実行環境 動作確認を行った環境は以下になります。 vagrant@vagrant:~$ cat /etc/os-release NAME="Ubuntu" VERSION="18.04.3 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debian PRETTY_NAME="Ubu…

【Java】Mockitoでモック化したメソッドを複数回呼ぶ方法

Mockitoでモック化したメソッドを複数回呼ぶ方法です。 実行環境は以下になります。 JDK:17 Junit:4.13.2 Mockito:4.0.0 引数が基本型の場合 引数が参照型の場合(フィールドが基本型のみ) 引数が参照型の場合(フィールドに参照型が含まれる) ソースコ…

【Java】Mockitoでモック化したメソッドの引数を検証する方法

Mockitoでモック化したメソッドの引数を検証する方法です。 JunitはJunit4を使用しています。 引数が基本型の場合 引数が参照型の場合(同一インスタンス) 引数が参照型の場合(フィールドが基本型のみ) 引数が参照型の場合(フィールドに参照型が含まれる…

【Java】テストライブラリのMockitoをインストールする

テストライブラリのMockitoをインストールする手順です。 IDEにIntelliJ IDEA、プロジェクトにMavenを使用します。 Mavenプロジェクトを作成する テストライブラリ(Junit)を追加する Mockitoをインストールする Mockitoの動作確認をする Mavenプロジェクト…

【Java】IntelliJで開発環境を構築する

IntelliJでJavaの開発環境を構築する手順です。 Toolboxアプリを使用してIntelliJ IDEAをインストールする Javaプロジェクトを作成する Toolboxアプリを使用してIntelliJ IDEAをインストールする Toolboxアプリのインストーラをダウンロード インストーラを…