カテゴリ: Java 更新日: 2026/10/01

JavaのThreadクラスのstopメソッドとは?非推奨の理由と安全なスレッド停止方法を初心者向けに解説

Threadのstopメソッド
Threadのstopメソッド

先生と生徒の会話形式で理解しよう

生徒

「Javaで動いているスレッドを途中で止めたいときは、Threadクラスのstopメソッドを使えばいいんですか?」

先生

「Thread.stop()というメソッドはありますが、現在は非推奨です。処理を強制的に終了させるため、共有データを壊してしまう危険があります。」

生徒

「では、スレッドを安全に終了するにはどうすればいいですか?」

先生

「終了を知らせるフラグやinterrupt()を使い、スレッド自身が安全な場所で処理を終了する方法が基本です。stopが非推奨になった理由から順番に確認しましょう。」

1. JavaのThreadクラスとは?

1. JavaのThreadクラスとは?
1. JavaのThreadクラスとは?

JavaのThreadクラスは、複数の処理を並行して進めるために使われるクラスです。パッケージはjava.langで、Javaの基本的なクラスとして用意されています。java.langパッケージは自動的に利用できるため、通常はThreadを使うためのimport文を書く必要はありません。

スレッドとは、プログラムの中で処理が進む流れのことです。通常のJavaプログラムにもmainメソッドを実行するメインスレッドがあります。さらに別のThreadを作成すると、メインの処理とは別に作業を進められます。

たとえば、時間のかかる処理を実行しながら別の処理も進めたい場合や、一定間隔で繰り返し処理を行いたい場合などにスレッドの考え方が使われます。初心者のうちは、1つの作業員だけでなく、別の作業員にも仕事を担当してもらうイメージで考えると分かりやすいでしょう。


public class ThreadExample {
    public static void main(String[] args) {
        Thread worker = new Thread(() -> {
            System.out.println("別のスレッドで処理しています");
        });

        worker.start();
    }
}

この例ではThreadオブジェクトを作成し、start()メソッドで新しいスレッドを開始しています。Threadを扱うときは、開始方法だけでなく、実行中の処理をどのように安全に終了させるかも重要です。

2. Threadのstopメソッドとは?

2. Threadのstopメソッドとは?
2. Threadのstopメソッドとは?

Thread.stop()は、対象となるスレッドを強制的に停止させるために用意されたメソッドです。昔のJavaでは、実行中のスレッドを外部から終了させる方法として使われることがありました。しかし、現在では安全性に大きな問題があるため非推奨になっています。

非推奨とは、その機能がすぐに使えなくなるという意味ではありません。JavaのAPIには互換性のために残されていても、新しく作るプログラムでは使用しないことが推奨されている機能があります。stopメソッドもその代表例です。

古いJavaコードでは、次のような記述を見かける可能性があります。これはstopの動きを理解するための例であり、新しいプログラムで利用するための推奨コードではありません。


public class OldStopExample {
    public static void main(String[] args)
            throws InterruptedException {

        Thread worker = new Thread(() -> {
            while (true) {
                System.out.println("処理中です");
            }
        });

        worker.start();

        Thread.sleep(100);
        worker.stop();
    }
}
重要

このサンプルは非推奨のstopメソッドを説明するためのコードです。実際のJava開発では、Thread.stopを使ってスレッドを終了させないようにしましょう。

開発環境によっては、stopを記述すると非推奨であることを示す警告が表示されます。警告を単に消すのではなく、なぜ非推奨なのかを理解して、安全な終了方法へ書き換えることが大切です。

3. stopメソッドが非推奨になった理由

3. stopメソッドが非推奨になった理由
3. stopメソッドが非推奨になった理由

Threadのstopメソッドが非推奨になった大きな理由は、スレッドを予期しない場所で強制終了できてしまうことです。スレッドが共有データを書き換えている途中でも停止する可能性があるため、データが中途半端な状態になる危険があります。

たとえば、銀行口座の残高を変更する処理や、複数の関連する値を順番に更新する処理を考えてみましょう。本来はすべての更新が完了して初めて正しい状態になります。しかし、途中でスレッドを強制停止すると、一部だけが変更された状態で処理が終わる可能性があります。

さらに、stopによってスレッドが終了すると、そのスレッドが保持していたモニタのロックが解除されます。別のスレッドが不整合な状態のオブジェクトへアクセスできるようになり、予想しにくい不具合につながる可能性があります。

マルチスレッドの不具合は、毎回同じタイミングで発生するとは限りません。開発中には正常に動いていても、実際の運用環境で処理のタイミングが変わったときだけ問題が発生することもあります。そのため、共有データを壊す可能性がある強制的な停止方法は避ける必要があります。

非推奨になった理由

Thread.stopは処理の途中でもスレッドを強制終了できるため、共有しているオブジェクトを不整合な状態にする危険があります。安全なJavaプログラムでは、スレッド自身が終了できる仕組みを作ります。

4. 終了フラグを使ってスレッドを安全に止める方法

4. 終了フラグを使ってスレッドを安全に止める方法
4. 終了フラグを使ってスレッドを安全に止める方法

Thread.stopを使わずに繰り返し処理を終了する基本的な考え方の1つが、終了を知らせるフラグを用意する方法です。外側からスレッドそのものを強制終了するのではなく、スレッドがフラグを確認して、自分でループを抜けるようにします。

複数のスレッドからフラグを読み書きする場合は、変更が他のスレッドから適切に見えるようにする必要があります。簡単な停止フラグではvolatileを利用する方法があります。


public class FlagStopExample {

    private static volatile boolean running = true;

    public static void main(String[] args)
            throws InterruptedException {

        Thread worker = new Thread(() -> {
            while (running) {
                System.out.println("処理中です");
            }

            System.out.println("安全に終了しました");
        });

        worker.start();

        Thread.sleep(100);
        running = false;

        worker.join();
    }
}

このコードではrunningがtrueの間だけ処理を繰り返します。メインスレッドがrunningをfalseに変更すると、worker側がその変更を確認してwhile文を終了します。stopのように処理の途中で突然終了させるのではなく、プログラムで決めた場所から終了できます。

join()は、対象のスレッドが終了するまで待つためのメソッドです。終了を依頼した直後にプログラム全体の次の処理へ進むのではなく、必要に応じてスレッドの終了を待ちたいときに利用できます。

ただし、フラグだけですべてのスレッド処理を停止できるわけではありません。sleepや待機処理などでスレッドが止まっている場合は、フラグをすぐに確認できないことがあります。そのような場面ではinterruptを利用する方法も重要になります。

5. interruptメソッドを使って停止を依頼する方法

5. interruptメソッドを使って停止を依頼する方法
5. interruptメソッドを使って停止を依頼する方法

Javaでスレッドへ終了や中断の要求を伝える代表的な方法がinterrupt()です。interruptはThread.stopのようにスレッドを強制終了するメソッドではありません。対象のスレッドへ割り込みを要求し、そのスレッド側が要求を受けて適切に処理を終了できるようにします。

特にThread.sleepなどで待機しているスレッドへinterruptを呼び出すと、InterruptedExceptionが発生して待機状態から抜けることができます。その例を確認してみましょう。


public class InterruptExample {
    public static void main(String[] args)
            throws InterruptedException {

        Thread worker = new Thread(() -> {
            try {
                while (true) {
                    System.out.println("処理中です");
                    Thread.sleep(1000);
                }
            } catch (InterruptedException e) {
                System.out.println("終了要求を受け取りました");
            }
        });

        worker.start();

        Thread.sleep(2000);
        worker.interrupt();

        worker.join();
    }
}

この例では、workerが一定時間ごとに処理を繰り返しています。メインスレッドからworker.interrupt()を呼び出すと、sleep中であればInterruptedExceptionが発生し、catchブロックへ処理が移ります。その後runメソッド相当の処理が終わるため、スレッドも終了します。

interruptは強制終了ではなく、終了してほしいという要求を伝える仕組みとして考えると分かりやすいでしょう。スレッド側で必要な後処理を行ったうえで終了できるため、stopより安全な設計にしやすくなります。

6. isInterruptedを使って割り込み状態を確認する方法

6. isInterruptedを使って割り込み状態を確認する方法
6. isInterruptedを使って割り込み状態を確認する方法

sleepのような待機処理を使わず、計算などを繰り返しているスレッドでは、割り込み状態を自分で確認しながら処理を終了する方法があります。そのときに利用できるのがisInterrupted()です。

isInterruptedを利用すると、対象のThreadに割り込み要求が設定されているかを確認できます。ループの条件として利用すれば、interruptによる要求を受け取ったタイミングで繰り返し処理を終了できます。


public class IsInterruptedExample {
    public static void main(String[] args)
            throws InterruptedException {

        Thread worker = new Thread(() -> {
            while (!Thread.currentThread().isInterrupted()) {
                System.out.println("作業を続けています");
            }

            System.out.println("作業を終了します");
        });

        worker.start();

        Thread.sleep(100);
        worker.interrupt();

        worker.join();
    }
}

Thread.currentThread()は、現在そのコードを実行しているスレッドを取得します。そのスレッドのisInterruptedを確認し、割り込み要求がなければ処理を続けます。interruptが呼び出されると条件が成立しなくなり、while文を抜けて終了できます。

このように、Javaでスレッドを停止するときは外部から無理に終了させるのではなく、終了要求を受け取ったスレッドが安全なタイミングで処理を終える設計が基本になります。

7. InterruptedExceptionを無視しないようにしよう

7. InterruptedExceptionを無視しないようにしよう
7. InterruptedExceptionを無視しないようにしよう

interruptを使ったスレッド制御では、InterruptedExceptionの扱いも重要です。sleepやwaitなどの待機中に割り込みが発生するとInterruptedExceptionが発生することがあります。この例外を何も考えずに無視すると、外部から送られた終了要求が正しく伝わらなくなる場合があります。

スレッドを終了する設計であれば、InterruptedExceptionを受け取ったところで必要な後処理を行い、runの処理を終了する方法があります。一方、例外を受け取っても処理を続ける必要がある場合には、割り込み状態を復元するためにThread.currentThread().interrupt()を呼び出す設計もあります。


public class RestoreInterruptExample {

    public static void waitForWork() {
        try {
            Thread.sleep(1000);
        } catch (InterruptedException e) {
            Thread.currentThread().interrupt();
        }
    }

    public static void main(String[] args) {
        Thread worker = new Thread(() -> {
            waitForWork();

            if (Thread.currentThread().isInterrupted()) {
                System.out.println("割り込みを確認しました");
                return;
            }

            System.out.println("通常処理を続けます");
        });

        worker.start();
        worker.interrupt();
    }
}

InterruptedExceptionが発生すると、割り込み状態がクリアされる点にも注意が必要です。そのため、呼び出し元へ割り込みの情報を残したい場合には、interruptを再度呼び出して割り込み状態を復元する方法があります。

ただし、どのようにInterruptedExceptionを扱うべきかは、そのメソッドやアプリケーションの設計によって変わります。初心者の段階では、InterruptedExceptionを空のcatchブロックで単純に握りつぶさず、終了するのか、上位へ伝えるのか、割り込み状態を復元するのかを考えることが大切だと覚えておきましょう。

8. stopとinterruptの違いを理解しよう

8. stopとinterruptの違いを理解しよう
8. stopとinterruptの違いを理解しよう

Thread.stopとinterruptは、どちらもスレッドの終了に関連して登場するため混同しやすいですが、考え方は大きく異なります。stopは対象のスレッドを強制的に停止させようとします。一方、interruptは対象のスレッドへ割り込み要求を伝えます。

比較項目 stop interrupt
現在の扱い 非推奨 利用される
基本的な考え方 スレッドを強制停止する 割り込み要求を伝える
安全な終了処理 行いにくい スレッド側で対応できる
新しいコードでの利用 避ける 用途に応じて利用する

重要なのは、interruptを呼び出せばどんなスレッドでも必ずその場で終了するわけではないことです。割り込み要求をどのように扱うかは、実行中の処理やスレッド側のコードによって変わります。

そのため、Javaのマルチスレッド処理では、スレッドを作成するときに開始方法だけでなく終了方法も考えておく必要があります。ループ処理なら終了条件を用意する、待機する処理ならinterruptを適切に扱うなど、協調的に終了できる設計にすることが重要です。

9. 古いコードでstopを見つけたときの考え方

9. 古いコードでstopを見つけたときの考え方
9. 古いコードでstopを見つけたときの考え方

既存のJavaシステムや古い教材を読んでいると、Thread.stopを使ったコードを見つけることがあります。その場合は、単純にstopを削除するだけではなく、そのスレッドがなぜ停止されているのか、どの処理を終わらせる必要があるのかを確認することが大切です。

たとえば、無限ループを止める目的でstopを使っているのであれば、終了フラグやinterruptを利用したループ条件へ変更できる可能性があります。sleepなどの待機処理を中断したいのであれば、InterruptedExceptionを適切に処理する方法を検討できます。

また、スレッドがファイル、データベース接続、ネットワーク接続などの資源を利用している場合は、終了するときに後処理が必要になることがあります。強制的に止めるのではなく、finallyやtry文なども含めて、必要な後処理を実行してから終了できる構造を考える必要があります。

実務ではThreadを直接作成する方法だけでなく、ExecutorServiceなどの仕組みを利用して複数のタスクを管理することもあります。その場合も、終了要求や割り込みを正しく扱うという基本的な考え方は重要です。

古いJavaコードを読むときのポイント

Thread.stopを見つけた場合は、非推奨だから機械的に別の1行へ置き換えるのではなく、スレッドの処理内容、終了条件、共有データ、待機処理、後処理を確認してから安全な終了方法を検討しましょう。

まとめ

まとめ
まとめ

JavaのThreadクラスは、1つのプログラムの中で複数の処理を並行して進めるために利用される基本的なクラスです。スレッドを使うと、メインの処理とは別に時間のかかる処理を実行したり、一定間隔で繰り返す処理を動かしたりできます。しかし、スレッドは開始する方法だけでなく、どのように安全に終了させるかまで考えて設計することが重要です。

今回確認したThread.stop()は、実行中のスレッドを強制的に停止させるために用意されたメソッドですが、現在のJavaでは非推奨です。古いJavaプログラムや昔の教材では見かけることがありますが、新しく作成するプログラムでスレッドを終了させる方法として利用するべきではありません。

stopメソッドが問題になる大きな理由は、スレッドがどの処理を実行している途中であっても強制的に終了させる可能性があることです。共有しているデータを書き換えている途中で停止すると、一部だけが変更された不整合な状態が残る場合があります。さらに、スレッドが保持しているモニタのロックが解除されることで、別のスレッドが不完全な状態のオブジェクトへアクセスする危険もあります。

Threadのstopが非推奨である意味を理解する

Java初心者が非推奨という言葉を見ると、すでに使用できないメソッドだと思うことがあります。しかし、非推奨は必ずしも使用不可能という意味ではありません。互換性などの理由でAPIに残っていても、安全性や設計上の問題から新しいコードでは利用しないことが推奨されている機能があります。

Thread.stopもそのようなメソッドです。コードとして記述できる環境があっても、開発環境やコンパイラから警告が表示されることがあります。警告を消すことだけを考えるのではなく、なぜ非推奨になったのかを理解し、現在推奨される考え方へ変更することが大切です。

特にJavaのマルチスレッド処理では、複数のスレッドが同じデータを利用する場合があります。処理の途中で突然停止すると、単純な1つの変数だけではなく、関連する複数の値の整合性まで崩れる可能性があります。そのため、外部から無理に停止させるのではなく、実行中のスレッド自身が終了要求を確認して、安全な場所で処理を終える協調的な終了方法が基本になります。

終了フラグを使う方法を振り返ろう

繰り返し処理を行うスレッドでは、終了を知らせるフラグを用意する方法があります。たとえば、処理を続けるかどうかを表す変数を用意し、その値が有効な間だけwhile文を繰り返します。終了させたい側がフラグを変更すると、スレッド自身が条件を確認してループから抜けることができます。

複数のスレッドから単純な停止フラグを読み書きする場合には、volatileを利用する方法があります。volatileを指定することで、あるスレッドによる値の変更を別のスレッドから確認できるようにするための可視性を確保できます。


public class SafeStopExample {

    private static volatile boolean running = true;

    public static void main(String[] args)
            throws InterruptedException {

        Thread worker = new Thread(() -> {
            while (running) {
                System.out.println("処理を実行しています");
            }

            System.out.println("処理を終了しました");
        });

        worker.start();

        Thread.sleep(100);
        running = false;

        worker.join();
    }
}

この方法では、stopのようにスレッドを突然終了させるのではなく、while文の条件を確認する場所で処理を終えられます。また、join()を利用すると、対象となるスレッドの処理が終了するまで待つことができます。終了を依頼する処理と、実際に終了したことを待つ処理は別の役割だと理解しておくと整理しやすくなります。

interruptは強制終了ではなく割り込み要求

Javaでスレッドの停止を考えるときに重要なのがinterrupt()です。interruptはThread.stopの代わりにスレッドを強制終了するメソッドではありません。対象となるスレッドへ割り込みを要求し、その要求を受けたスレッド側が適切な方法で処理を終えられるようにする仕組みです。

たとえば、Thread.sleepで待機しているスレッドにinterruptを呼び出すと、InterruptedExceptionが発生して待機状態から抜けることができます。catchブロックで終了に必要な処理を行い、そのままrun相当の処理を終えれば、スレッドを終了できます。


public class SafeInterruptExample {
    public static void main(String[] args)
            throws InterruptedException {

        Thread worker = new Thread(() -> {
            try {
                while (true) {
                    System.out.println("作業中です");
                    Thread.sleep(1000);
                }
            } catch (InterruptedException e) {
                System.out.println("終了要求を受け取りました");
            }
        });

        worker.start();

        Thread.sleep(2000);
        worker.interrupt();
        worker.join();
    }
}

このように、スレッドを停止させたい側は終了の要求を送り、実際に処理を終了する側はその要求を受け取って安全に終了します。これがThread.stopによる強制停止との大きな違いです。

isInterruptedとInterruptedExceptionも一緒に覚える

sleepなどで待機していないスレッドでは、isInterrupted()を利用して割り込み状態を確認できます。長時間続くループ処理などで定期的に割り込み状態を確認すれば、終了要求を受け取ったときにループを抜ける設計にできます。

一方、InterruptedExceptionが発生した場合には、割り込み状態がクリアされる点も覚えておきたいポイントです。処理の設計によっては、その場で終了するのではなく、Thread.currentThread().interrupt()を呼び出して割り込み状態を復元し、上位の処理でも終了要求を確認できるようにする場合があります。

InterruptedExceptionを何も処理しない空のcatchブロックで握りつぶしてしまうと、せっかく送られた割り込み要求を無視することにつながります。例外が発生したら必ず同じ処理を書くという意味ではありませんが、そのスレッドを終了するのか、割り込み状態を復元するのか、呼び出し元へ例外を伝えるのかを処理の目的に合わせて考える必要があります。

stopとinterruptの違いを整理しておこう

確認項目 stop interrupt
現在の扱い 非推奨 用途に応じて利用する
考え方 外部から強制的に停止する 割り込み要求を伝える
終了の判断 強制的に処理が停止する スレッド側で対応する
新しいJavaコード 使用を避ける 終了制御などで利用できる

ここで注意したいのは、interruptを呼び出した瞬間に必ずスレッドが終了するわけではないことです。interruptは終了命令そのものではないため、スレッド側が割り込みを適切に処理する必要があります。ループの中でisInterruptedを確認する、待機中に発生したInterruptedExceptionを処理するなど、実行する処理に合わせた対応が必要です。

古いJavaコードのstopを安全に書き換える考え方

既存システムを保守していると、古いJavaコードの中でThread.stopを見つけることがあります。この場合、stopをinterruptへ機械的に置き換えるだけでは正しく動作しない可能性があります。まず、そのスレッドが何をしているのか、なぜ停止させる必要があるのかを確認することが重要です。

無限ループや繰り返し処理を終了したいのであれば、終了フラグや割り込み状態を確認する条件を追加できるか検討します。sleepなどの待機状態から早く抜けたい場合は、interruptとInterruptedExceptionを利用できる可能性があります。ファイルやネットワーク接続、データベース接続などを利用している場合は、終了時に必要な後処理が確実に行われる設計も確認します。

つまり、Thread.stopの代替方法は常に1つではありません。実行している処理の内容によって、安全な終了方法が変わります。Javaのスレッド停止では、停止させるメソッドを探すことより、どのタイミングなら安全に処理を終えられるかを考えることが重要です。

Threadの停止で覚えておきたいポイント

Thread.stopは非推奨のため新しいJavaコードでは利用を避けます。繰り返し処理では終了フラグ、待機処理や割り込みに対応する処理ではinterruptやisInterruptedなどを利用し、スレッド自身が安全なタイミングで終了できるように設計することが基本です。

Javaのスレッド処理では開始と終了をセットで考える

Java初心者がThreadを学ぶときは、まずstartメソッドを使って別のスレッドを開始する方法に注目しがちです。しかし、実際のプログラムでは開始した処理がいつ終わるのか、外部から終了を要求されたときにどう対応するのか、利用している資源をどのように片付けるのかまで考える必要があります。

特に長時間動作するJavaアプリケーションでは、終了できないスレッドや割り込みを無視する処理があると、アプリケーション全体を正常に終了できない原因になる場合があります。そのため、Thread、interrupt、isInterrupted、InterruptedException、joinなどの役割を関連付けて理解しておくと、マルチスレッド処理を学習するときに役立ちます。

また、実務ではThreadを直接作成する方法だけでなく、ExecutorServiceなどを利用してタスクを管理することもあります。ただし、より便利な仕組みを利用する場合でも、割り込みを受け取った処理がどのように終了するのかという基本的な考え方は変わりません。Thread.stopがなぜ危険なのかを理解することは、Javaの並行処理を安全に設計するための基礎になります。

古いコードを読むためにはstopの意味を知っておく必要がありますが、新しくコードを書くときには強制停止に頼らず、処理する側と終了を依頼する側が協力して安全に終了できる構造を目指しましょう。スレッドの開始、待機、割り込み、終了までを1つの流れとして理解すると、JavaのThreadクラスをより実践的に扱えるようになります。

先生と生徒の振り返り会話

生徒

「Threadのstopメソッドは、スレッドをすぐ止められるけれど、新しいプログラムでは使わないほうがいいんですね。」

先生

「はい。処理の途中で強制終了すると、共有データが不完全な状態になる可能性があります。そのため、Thread.stopは非推奨になっています。」

生徒

「繰り返し処理なら、終了フラグを確認して自分でwhile文を抜ける方法が使えるんですね。」

先生

「そのとおりです。単純な終了フラグを複数のスレッドで扱う場合は、volatileなどを使って変更を確認できるようにすることも大切です。」

生徒

「interruptはstopの安全版という意味ですか?」

先生

「少し違います。interruptはスレッドを強制的に終了する命令ではなく、割り込みを要求する仕組みです。スレッド側でisInterruptedを確認したり、InterruptedExceptionを処理したりして終了につなげます。」

生徒

「sleep中なら、interruptによってInterruptedExceptionが発生することもあるんですよね。」

先生

「はい。そこで処理を終了する方法もありますし、必要に応じて割り込み状態を復元する場合もあります。InterruptedExceptionを何も考えずに無視しないことが重要です。」

生徒

「古いコードでstopを見つけても、単純にinterruptへ置き換えれば終わりではないんですね。」

先生

「はい。ループなのか、待機処理なのか、共有データを扱っているのか、終了時の後処理が必要なのかを確認してから、安全な終了方法を決めます。」

生徒

「Threadを使うときは、どう開始するかだけでなく、どう終了するかも最初から考えておくのが大切なんですね。」

先生

「その理解で大丈夫です。Javaのマルチスレッド処理では、強制的に止めるのではなく、終了要求を受け取ったスレッドが安全な場所で処理を終えられるように設計することを意識しましょう。」

生成AIを基礎から学びたい方へ

ChatGPTなどの生成AIをこれから学びたい方に向けて、AIスキルアカデミーの口コミ・評判、料金、無料セミナーの内容を詳しくまとめています。

AIスキルアカデミーの口コミ・評判を詳しく見る
カテゴリの一覧へ
新着記事
New1
Java
JavaのassertFalseとは?JUnit5のAssertionsクラスを初心者向けにわかりやすく解説
新規投稿
New2
Thymeleaf
ThymeleafでDBから取得したデータを編集フォームの初期値にセットする方法!Entity連携を初心者向けに解説
新規投稿
New3
Spring
JavaのSpringで使う@FutureOrPresentアノテーションを完全ガイド!初心者でもわかる日付バリデーション
新規投稿
New4
Java
JavaのLocalDateクラスのgetMonthValueメソッド完全ガイド!初心者でもわかる数値で月を取得する方法
新規投稿
人気記事
No.1
Java&Spring記事人気No1
Servlet
JavaサーブレットのdoPostメソッドとは?初心者向けにやさしく解説!
No.2
Java&Spring記事人気No2
Servlet
JavaのHttpServletResponseクラスを初心者向けに徹底解説!
No.3
Java&Spring記事人気No3
Servlet
JavaのHttpServletRequestWrapperとgetSessionメソッドの使い方を徹底解説!初心者向けServletのセッション管理入門
No.4
Java&Spring記事人気No4
Servlet
JavaのServletExceptionクラスを初心者向けに徹底解説!
No.5
Java&Spring記事人気No5
Servlet
JavaのHttpSessionインターフェースとgetSessionContextメソッドを徹底解説!初心者でもわかるセッション管理の基本
No.6
Java&Spring記事人気No6
Java
JavaのStringクラスとlengthメソッドを完全解説!初心者でも理解できる文字列の長さ取得の使い方
No.7
Java&Spring記事人気No7
Servlet
JavaのHttpSessionAttributeListenerとattributeRemovedメソッドの使い方を徹底解説!初心者でもわかるセッション属性の削除と監視
No.8
Java&Spring記事人気No8
Java
Javaのクラスとインスタンス化、コンストラクタの使い方完全ガイド!初心者でもわかるオブジェクト指向の基礎