Spring MVCパラメータ受け渡しの実装方法

フロントエンドからバックエンドへのパラメータ転送 1.1: ハイパーリンクによるパラメータ転送 index.jspページにハイパーリンクを追加します。 <a href="greeting/paramTransfer?userName='john'&pwd='secure123'">パラメータ転送テスト</a> <br/> コントローラーを修正します - GreetingController package sample.controllers; imp ...

6月17日 18:58 投稿

Java後端開発者向け面接対策:2025年春採用版

Java言語の基本概念 オブジェクト指向の三大原則(カプセル化、継承、多相性)について説明してください。 カプセル化は、データとその操作メソッドをクラス内にまとめて内部状態を隠蔽し、外部からは制御されたインターフェース経由でのみアクセス可能にする仕組みです。継承は、既存クラス(スーパークラス)のフィールドやメソッドを新たなクラス(サブクラス)が引き ...

6月17日 17:13 投稿

Javaのsplit()メソッドによる空文字列生成のメカニズム

split()メソッドの基本動作と空文字列問題 JavaのStringクラスにあるsplit()メソッドは、指定された正規表現に基づいて文字列を分割します。しかし、特定の条件下では意図しない空文字列が結果に含まれることがあります。この現象は、Leetcodeの問題151「文字列内の単語を反転させる」などでtrim()メソッドを使用しない場合に問題となります。 split()メソッドのソースコ ...

6月17日 17:03 投稿

二分木の基本操作と実装

二分木の基礎知識(概念、特性、走査方法)について前回の記事で学びました。今回は主にコードの実装に焦点を当てます。 目次 二分木の疑似作成 二分木の走査 二分木のノード数の取得 二分木の葉ノード数の取得 二分木の第Kレベルのノード数の取得 二分木の高さの取得 二分木での要素検索 二分木の疑似作成 なぜ疑似作成と呼ぶのでしょうか。二分木の作成は非常に複雑なプ ...

6月17日 16:41 投稿

AQS(AbstractQueuedSynchronizer)の仕組みを徹底解説

AQS(AbstractQueuedSynchronizer)は、Javaにおけるロックやその他の同期コンポーネントを構築するための基盤フレームワークです。このクラスは、int型のstate変数で同期状態を管理し、内部にFIFO(先入れ先出し)の同期キューを持ちます。 AQSを利用するには、サブクラスが継承し、抽象メソッドを実装します。同期状態の操作に使う主要なメソッドは以下の通りです。 g ...

6月17日 16:32 投稿

Kafkaの基本的な理解と利用方法

Apache Kafkaは、大規模なメッセージングシステムとして設計されたオープンソースのソフトウェアであり、リアルタイムデータ処理や分散システムでのイベントストリーミングに最適です。本記事ではKafkaの基礎概念、インストール手順、およびJavaを使用した生産者・消費者の実装方法について説明します。 Kafkaの概要 Kafkaはメッセージの発行と購読を可能にするプラットフ ...

6月17日 16:03 投稿

Log4j2とSLF4Jの統合

Log4j2とSLF4Jを使用してログ記録を設定する方法について説明します。 必要な依存関係、サンプル構成、およびログステートメントの使用例を見ていきます。 Log4j2とSLF4Jのバインディング依存関係 Log4j2とSLF4Jを組み合わせるには、以下の3つの依存関係を含める必要があります。 log4j-slf4j-impl.jar - Log4j 2のSLF4Jバインディング。これにより、SLF4J APIを使用した ...

6月16日 22:36 投稿

Javaにおけるリソース効率化スレッドプールの実装手法

標準ThreadPoolExecutorとの動作比較 本実装はjava.util.concurrent.ThreadPoolExecutorの動作を拡張。主な差異: 標準スレッドプール:初期化時コアスレッド生成。キュー満杯で追加スレッド作成 本実装:要求時動的スレッド生成。タスク完了後全スレッド終了 利点:常駐スレッド削減によるメモリ節約(1スレッド≈1MB)とCPUコンテキスト切り替えコスト低減 基本実装例 p ...

6月16日 21:39 投稿

JavaによるKuduデータ操作実践

Mavenを用いたKuduクライアントの導入 <dependency> <groupId>org.apache.kudu</groupId> <artifactId>kudu-client</artifactId> <version>1.6.0</version> </dependency> テーブル作成の実装 public class KuduTableCreator { private static ColumnSchema buildColumn(String colName, Type dataType, bool ...

6月16日 20:59 投稿

JavaのSetから10万件を抽出する方法

JavaのSetから10万件を抽出する方法 Javaにおいて、Setは重複要素を許さないコレクションデータ構造です。もし10万件の要素を持つSetコレクションの一部を抽出する必要がある場合、どのようにすればよいでしょうか。本記事では、Javaを使用して10万件の要素を持つSetコレクションを抽出する方法を紹介し、コード例を提供します。 Setの特徴 Setはコレクションの一種であり ...

6月16日 20:54 投稿