• Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ

学習と現場をつなぐ

ポンコツPdMの開発メモ

お問い合わせはこちら
  • Java
  • Spring
  • エラー解決
  • 現場メモ
  • クイズ
  • Java
    Javaに関するテーマ
  • Spring
    特にSpringについてはこちら
  • 開発現場メモ
    開発に関するノウハウやメモ
Arrays.asList、List.of、ArrayListでadd・set・nullの扱いが異なることを解説する記事のアイキャッチ。

Java

2026/8/1

JavaのArrays.asListにaddできない原因|List.of・ArrayListとの違い

AIによる要約Arrays.asListが返すListは配列をListとして見せる固定長のビューです。setによる要素の置換はできますが、addやremoveで要素数を変えるとUnsupportedOperationExceptionになります。List.ofは追加・削除・置換ができず、nullも許可しません。追加や削除が必要ならnew ArrayList<>(...)で可変リストを作ります。「List型だから変更できる」と判断せず、生成方法と所有者を確認することが重要です。 Javaの業務シ ...

JavaのOptionalにおけるorElseとorElseGetの実行タイミングを解説する記事のアイキャッチ。

Java

2026/8/1

JavaのOptionalでorElseが実行される理由|orElseGetとの違い

AIによる要約OptionalのorElseは「値がなければ引数を使う」メソッドですが、引数に書いたメソッド呼び出しはorElseへ渡す前に評価されます。そのためOptionalに値があっても、DB検索や保存処理は実行されます。固定値や生成済みの軽い値ならorElse、値がない場合だけ実行したい処理はorElseGet、未存在を異常として扱うならorElseThrowを使います。違いは戻り値ではなく、処理の実行タイミングで判断します。 `orElse`と`orElseGet`は、値がない場合の代替値を決め ...

Javaのfinallyでreturnするとtryの戻り値と例外が消える危険を解説する記事のアイキャッチ。

Java

2026/8/1

Javaのfinallyでreturnしてはいけない理由|tryの戻り値と例外が消える

AIによる要約Javaでは、tryでreturnしてもメソッドが即座に終了するとは限りません。finallyがある場合はfinallyを実行してから呼び出し元へ戻ります。そのfinallyにもreturnがあると、tryの戻り値は上書きされます。さらにtryで発生した例外まで外へ伝わらなくなるため、障害を正常終了に見せる危険があります。finallyはcloseやunlockなどの後処理に限定し、returnや業務判断を置かないのが基本です。 新人向けのJava解説では、finallyは「例外が起きても最 ...

Javaのログレベルの使い分けを解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアがINFO、WARN、ERRORの基準を学ぶイラスト。

開発現場メモ

2026/7/24

Javaのログレベルはどう使い分ける?INFO・WARN・ERRORの現場ルール

AIによる要約ログレベルはメッセージの重要そうな雰囲気ではなく、運用時にどう扱うかで決めます。INFOは正常な業務・処理の主要イベント、WARNは処理を継続できるが確認が必要な状態、ERRORは要求やジョブが失敗し対応が必要な状態です。DEBUG・TRACEは調査用の詳細に使います。例外は最終的に扱う境界で一度だけ記録し、logger.error("...", e)のようにThrowableを渡します。パスワードや個人情報はどのレベルにも出しません。 Javaの現場ではSLF4JとLogbackなどを使い ...

JavaのスタックトレースとCaused byの読み方を解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアが例外の根本原因を追うイラスト。

開発現場メモ

2026/7/23

JavaのスタックトレースでCaused byはどこまで追う?根本原因の見つけ方

AIによる要約スタックトレースは先頭の例外だけで判断せず、Caused byでつながる原因例外を下へ追います。ただし最下段の例外名だけを答えにせず、その原因ブロック内で最初に現れる自作コードのファイル名・行番号を確認します。... 20 moreは省略された共通フレーム、Suppressedは主例外とは別に抑制された例外です。調査結果は「現象・原因例外・自作コードの行・入力条件」をセットで共有します。 Javaの障害調査でスタックトレースを開くと、Spring、Hibernate、Tomcatなどの行が大 ...

Spring BootのMockMvcで403と400になる原因を解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアがCSRFとPOSTテストを調査するイラスト。

Spring

2026/7/24

Spring BootのMockMvcでPOSTが403・400になる原因|CSRF・Form・JSONの確認順

AIによる要約MockMvcのPOSTが403なら、Controllerへ届く前にSpring Securityが拒否している可能性が高く、認証・権限・CSRFを確認します。CSRF保護が有効ならテストリクエストへ.with(csrf())を付けます。400なら、Formのparam名・型・Validation、またはJSONのContent-Type・構文・項目型を確認します。ステータスを無理に変更せず、andDo(print())とresolved exceptionで失敗した層を特定します。 Moc ...

Spring Data JPAのN+1問題を解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアが大量SQLとJOINを調査するイラスト。

Spring

2026/7/24

Spring Data JPAでSQLが大量に発行される原因|N+1問題の確認方法と対策

AIによる要約N+1問題は、一覧を取得する1本のSQLに加え、各行の関連Entityを読むたびに追加SQLが発行される状態です。件数が少ない開発環境では気づきにくく、本番データで急に遅くなります。SQLログで「似たSELECTがIDを変えて繰り返されていないか」を確認し、その画面で必要な関連だけをJOIN FETCH、@EntityGraph、DTO projectionなどでまとめて取得します。すべてをEAGERへ変える対策は避けます。 Spring Data JPAでは、Entity同士の関連をJav ...

SpringのComponent、Service、Repositoryの違いを解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアがBeanの役割分担を学ぶイラスト。

Spring

2026/7/24

Springの@Component・@Service・@Repositoryの違い|どれを付けるべき?

AIによる要約@Serviceと@Repositoryは、どちらも@Componentを土台にしたステレオタイプで、コンポーネントスキャンによりBean登録されます。違いは主に役割の表現です。業務処理はService、DBなどの永続化アクセスはRepository、どちらにも当てはまらない共通部品はComponentを基本にします。Repositoryにはデータアクセス例外変換の対象になる意味もあるため、全部をComponentへ統一しない方が設計意図を伝えられます。 Springのクラスへ@Compon ...

Spring BootのControllerとRestControllerの違いを解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアがHTML画面とJSON APIを学ぶイラスト。

Spring

2026/7/24

Spring Bootの@Controllerと@RestControllerの違い|画面とJSONで使い分ける

AIによる要約@Controllerは主にThymeleafなどの画面名を返し、@RestControllerは戻り値をレスポンス本文へ書き込みます。RestControllerはControllerとResponseBodyを組み合わせたアノテーションです。HTML画面とJSON APIをクラス単位で分け、HTTPステータスやヘッダーも返したいAPIではResponseEntityを使うと、戻り値の意図が分かりやすくなります。 Spring BootのWeb開発では、@Controllerと@RestC ...

Spring Data JPAでEntityが更新されない原因を解説する記事のアイキャッチ。Java道場風の空間で若手エンジニアがトランザクションとUPDATEを学ぶイラスト。

Spring

2026/7/23

Spring Data JPAでEntityを変更しても更新されない原因|@Transactionalとダーティチェック

AIによる要約JPAでは、トランザクション内で取得した管理対象Entityを変更すると、コミット時のダーティチェックでUPDATEされます。更新されない場合は、Serviceに有効な@Transactionalがあるか、変更したEntityが管理対象か、readOnlyになっていないか、例外でロールバックしていないかを確認します。saveを追加して隠す前に、取得から変更、コミットまでが同じトランザクションかを追うことが重要です。 Spring Data JPAを使い始めると、Repositoryで取得した ...

« Prev 1 2 3 4 5 6 … 15 Next »
プロフィール画像

ポンコツPdM

独立系のSIerに務めるSE,PM。 仕事の上で得たIT関連やプロジェクト運営関連の知識を書きます。 使用技術:Java,ウェブ関連全般,データベース全般 (どれも広く浅く)

  • 免責事項
  • 著作権について
  • お問合わせ/ご意見
  • プライバシーポリシー
  • リンクについて

学習と現場をつなぐ

ポンコツPdMの開発メモ

© 2026 ポンコツPdMの開発メモ