Java– tag –
-
【Apache ZooKeeper】ZKClientConfigとは?
Apache ZooKeeper を本番環境で安全に利用するためには、クライアントとサーバ間の通信を適切に構成することが重要です。特に認証(SASL/Kerberos)や暗号化通信(SSL/TLS)を行う環境では、細かな設定が求められます。 従来、これらの設定はJavaのシステ... -
プログラムのメッセージ管理法
プログラムにおける出力メッセージは、ただの文字列ではありません。ユーザー体験(UX)、保守性、そして将来的な多言語対応まで、大きな影響を与える重要な要素です。 開発の初期段階では、ついコード内に直接書いてしまいがちです。しかし、これが後にな... -
【Java】String.formatとMessageFormatの違い
Javaで文字列を整形する方法として、String.format と MessageFormat のどちらを使うべきか迷ったことはありませんか? たとえば、ログ出力やデバッグ用のメッセージには String.format、多言語対応が必要なUIメッセージには MessageFormat が適していると... -
【Java】Files系Streamはcloseが必要?
Javaでファイルやディレクトリを扱う際に、Files.find や Files.lines などの便利なメソッドを使ったことがある方は多いと思います。 しかし、こうしたメソッドが返す Stream は、実は内部でファイルやディレクトリにアクセスするリソースを保持しており、... -
Javaが遅い原因と対策(コレクション編)
Javaでシステムを開発していると、「Listの処理がやたら遅い」「Mapの検索がボトルネックになっている」といったコレクション操作の性能問題に遭遇することは珍しくありません。 実はその多くは、コレクションの使い方や選び方が適切でないことが原因です... -
Javaが遅い原因と対策(文字列操作編)
Javaでアプリケーションを開発していて、「処理が遅い」「メモリを食う」と感じたことはありませんか?その原因のひとつが、何気なく書いている文字列操作にあるかもしれません。 たとえば、ログ出力やデータ整形といった処理は、一見シンプルでも、大量の... -
【Java】AutoCloseableとCloseableの違い
Javaで安全かつ確実にリソースを解放するためには、AutoCloseableとCloseableという2つのインタフェースの使い分けが重要です。しかし、「それぞれの違いは何か?」「どちらを使えば良いのか?」と疑問に思ったことはないでしょうか。 この記事では、Java... -
【Java】定数と設定値の使い分け方
Javaアプリケーションを開発していると、「この値は定数としてコードに書くべきか? それとも外部の設定ファイルにすべきか?」という場面にたびたび直面します。この判断を誤ると、保守性やパフォーマンスに悪影響を与えかねません。 この記事では、定数... -
【Java】配列とListの使い分け方
Javaで複数のデータを扱うときに登場する代表的な選択肢が「配列(Array)」と「List」です。しかし、どちらを使うべきか迷った経験はないでしょうか?特に初心者の方にとっては、両者の違いや使い分けの基準が曖昧に感じられることも多いはずです。 この... -
ログ出力はプレースホルダー推奨
JavaやKotlinといったJVM系言語で開発を行う際、ログ出力はデバッグや運用時の障害調査に不可欠な要素です。しかし、ログの書き方を誤ると、パフォーマンスの低下や保守性の悪化といった問題を引き起こす可能性があります。 特に注意したいのが、ログメッ...