-
Javaで同期ブロックを使用できるのはいつですか?
同期 ブロック メソッドの特定のリソースで同期を実行するために使用できるコードの一部です。 同期ブロック 共有リソースのオブジェクトをロックするために使用され、同期ブロックのスコープは同期メソッドよりも小さい 。 構文 synchronized(object) { // block of code } ここでは、オブジェクト 同期されているオブジェクトへの参照です。同期されたブロックにより、オブジェクトのメンバーであるメソッドの呼び出しは、現在のスレッドがオブジェクトのモニターに正常に入力された後にのみ発生します。 例 class TicketCounter { &
-
Javaのプログラムで使用されているメモリを確認するにはどうすればよいですか?
長期的なの場合 動的メモリを多用するJavaコードでは、メモリ不足エラーが発生する可能性があります ヒープスペースのメモリ不足が原因です。 以下のプログラムでは、プログラムが使用するJavaヒープの空き領域をテストできます。ヒープスペースが使用されている場合90%以上 、その後、ガベージコレクタは明示的に呼び出されます。 System.gc() ガベージコレクターが完了するまで、呼び出しは呼び出し元のスレッドをブロックしています。したがって、このコードは別のスレッドで実行できます。 例 public class GCTest { public void runGC(
-
Javaで文字列の最大出現文字を出力するにはどうすればよいですか?
文字列 クラスは、文字列を表すために使用できます 、Javaプログラムのすべての文字列リテラルは、文字列のインスタンスとして実装されます。 クラス。文字列は定数であり、その値は変更できません(不変) 作成したら。 以下のプログラムでは、最大発生文字を印刷できます。 与えられた文字列の。 例 public class MaxOccuredCharacterTest { public static void main(String[] args) { String str1 = maxOccuredChar("tutor
-
Javaで透過的なJDialogを実装するにはどうすればよいですか?
JDialog ダイアログのサブクラスです クラスであり、最小化を保持していません および最大化 ウィンドウの右上隅にあるボタン。ダイアログボックスには、モーダルの2種類があります。 および非モーダ l。ダイアログボックスのデフォルトのレイアウトはBorderLayout。です。 以下のプログラムでは、 AlphaContainer をカスタマイズすることで、透過的なJDialogを実装できます。 クラスを作成し、 paintComponent()をオーバーライドします メソッド。 例 import java.awt.*; import javax.swing.*; public clas
-
Javaでrun()メソッドを直接呼び出すとどうなりますか?
Threadオブジェクトのrun()メソッドの直接呼び出し 別のスレッドを開始しません 現在のスレッド内で実行できます。 Runnable.runを実行するには 別のスレッド内から、次のいずれかを実行します Runnableを使用してスレッドを構築します オブジェクトを作成してstart()を呼び出します スレッドのメソッド。 Threadオブジェクトのサブクラスを定義し、その run()の定義をオーバーライドします。 方法。次に、このサブクラスのインスタンスを作成し、 start()を呼び出します。 そのインスタンスのメソッドを直接。 例 public class ThreadR
-
JavaでオートコンプリートJComboBoxを実装するにはどうすればよいですか?
JComboBox JComponentのサブクラスです クラスであり、テキストフィールドの組み合わせです。 およびドロップダウンリスト ユーザーはそこから値を選択できます 。 JComboBoxは、 ActionListener、ChangeListener、を生成できます。 およびItemListener ユーザーがコンボボックスでアクションを実行するときのインターフェイス。 オートコンプリートJComboBoxを実装できます ユーザーがコンボボックス( AutoCompleteComboBox )のカスタマイズを使用してキーボードから入力値を入力したとき ) JComboBoxを拡張
-
Javaのユーザースレッドとデーモンスレッド?
デーモンスレッド 通常、ユーザースレッドのサービスを実行するために使用されます。 main()メソッド アプリケーションスレッドのユーザースレッド(非デーモンスレッド) 。 JVM すべてのユーザースレッド(デーモン以外)がない限り、終了しません 終了します。 ユーザースレッドによって作成されたスレッドを明示的に指定できます setDaemon(true)を呼び出してデーモンスレッドになる 。メソッドisDaemon()を使用して、スレッドがデーモンスレッドであるかどうかを判断するには 。 例 public class UserDaemonThreadTest extends Thre
-
JavaでtoString()を使用して数値の文字列表現を取得するにはどうすればよいですか?
toString() メソッドはオブジェクトの重要なメソッドです クラスであり、オブジェクトの文字列またはテキスト表現を返すために使用できます。オブジェクトクラスのtoString() メソッドは、指定されたオブジェクトのクラスの名前として文字列を返し、その後に「 @」が続きます ’記号とハッシュコード オブジェクトの( java.lang.String; @ 36f72f09 ) toString()を使用できます 数値の文字列表現も取得するメソッドであり、文字列がさまざまな変数から取得した数値で構成されている場合に役立ちます。その場合、数値を文字列に変換して連結し、結合またはフォーマ
-
Javaでのwait()、notify()、notifyAll()メソッドの重要性は?
スレッドは、 wait()、notify()を介して相互に通信できます。 およびnotifyAll() Javaのメソッド。これらは最終です オブジェクトで定義されたメソッド クラスであり、同期内からのみ呼び出すことができます コンテクスト。 wait() メソッドを使用すると、現在のスレッドは、別のスレッドが notify()を呼び出すまで待機します。 またはnotifyAll() そのオブジェクトのメソッド。 notify() メソッド単一のスレッドをウェイクアップ そのオブジェクトのモニターで待機しています。 notifyAll() メソッドすべてのスレッドをウェイクアップ そのオ
-
コンストラクターはJavaで同期できますか?
いいえ 、コンストラクターは同期できません Javaで。 JVMは、特定の時点で1つのスレッドのみがコンストラクター呼び出しを呼び出すことができるようにします。そのため、コンストラクターを同期およびとして宣言する必要はありません。 違法ですl Javaで。ただし、同期ブロックは使用できます コンストラクター内。 同期を配置しようとしている場合 キーワード コンストラクターの前に、コンパイラーは「エラー:ここで同期された修飾子は許可されていません」と言います。 。 例 public class SynchronizedConstructorTest {
-
JavaでJPasswordField内の桁数を制限するにはどうすればよいですか?
JPasswordField JTextFieldのサブクラスです また、JPasswordFieldに入力された各文字は、エコーに置き換えることができます。 キャラクター。これにより、パスワードの機密入力が可能になります。 JPasswordFieldの重要なメソッドは、 getPassword()、getText()、getAccessibleContext()です。 デフォルトでは、JPasswordField内に任意の桁数を入力できます。 DocumentFilterクラスを実装して、ユーザーが入力する数字を制限する場合 replace()をオーバーライドする必要があります メソ
-
Javaでロックを取得せずにwait()メソッドを呼び出すことはできますか?
いいえ 、 wait()を呼び出すことはできません メソッドロックを取得せずに 。 Javaでは、ロックが取得されたら、 wait()メソッド()を呼び出す必要があります。 そのオブジェクトでタイムアウトありまたはタイムアウトなし)。 wait()を呼び出そうとしている場合 ロックを取得せずにメソッドを実行すると、 java.lang.IllegalMonitorStateExceptionがスローされる可能性があります 。 例 public class ThreadStateTest extends Thread { public void run() { &nb
-
JavaでのDictionaryクラスの重要性?
辞書 クラスは抽象クラスです これはキー/値を表します ペアリングしてマップのように動作します レガシークラスです Javaで。 辞書 クラスには2つの重要なメソッドがありますDictionary.keys() およびDictionary.elements()t 帽子は列挙で繰り返すことができます 。 Dictionaryクラスの他の重要なメソッドは、 isEmpty()です。 、 get() 、 remove() およびsize() 。 構文 public abstract class Dictionary<K,V> extends Object 例 import java.u
-
Javaでstart()メソッドをオーバーライドできますか?
はい 、オーバーライドできます start() スレッドのメソッド Javaのクラス。 super.start()を呼び出す必要があります 新しいスレッドを作成し、 run()を呼び出す必要があるメソッド その新しく作成されたスレッドのメソッド。 run()を呼び出すと start()内から直接メソッド メソッドの場合、新しいスレッドではなく、通常のメソッドとして実際のスレッドで実行できます。 例 public class ThreadTest { public static void main(String[] args) { &
-
Javaのオブジェクトレベルロックとクラスレベルロック?
両方のオブジェクトレベルのロック およびクラスレベルの場所 kは、同期を実現するために使用されます マルチスレッドアプリケーションのメカニズム。 オブジェクトレベルのロック Javaのすべてのオブジェクトには一意のロックがあります 。スレッドが同期メソッドを実行したい場合 特定のオブジェクトでは、最初にそのオブジェクトのロックを取得する必要があります。スレッドがロックを取得すると、そのオブジェクトに対して同期されたメソッドを実行できるようになります。メソッドの実行が自動的に完了すると、スレッドはロックを解除します。 内部でのロックの取得と解放は、 JVMによって処理されます。 。 オブジェクト
-
JavaのJListにさまざまなフォントスタイルのアイテムを追加するにはどうすればよいですか?
JList JComponentのサブクラスです クラスであり、ユーザーが選択できるオブジェクトのリストを表示するために使用できます。 1つ以上のアイテム 。 JListはListSelectiionListenerを生成できます インターフェイスであり、抽象メソッド valueChanged()を実装する必要があります。 DefaultListModel classは、JListコントロールによって表示されるアイテムを管理するために使用できるリストモデルの簡単な実装を提供します。 addElement()を使用して、アイテムをJListに追加できます。 DefaultListMo
-
Javaでの@Overrideアノテーションの重要性?
@Override アノテーションはデフォルトのJavaアノテーションの1つであり、 Java 1.5で導入できます。 バージョン。 @Override アノテーションは、子クラスのメソッドが基本クラスのメソッドを上書きしていることを示しています 。 @Override アノテーションは2つの理由で役立ちます 注釈付きメソッドが実際に何もオーバーライドしない場合、コンパイラから警告を抽出します。 ソースコードの読みやすさを向上させることができます。 構文 public @interface Override 例 class BaseClass { pu
-
JavaのJTableから選択した行を削除するにはどうすればよいですか?
JTable 複雑なデータ構造を表示するためのJComponentクラスのサブクラスです。 JTableコンポーネントは、 Model View Controller(MVC)に従うことができます 行と列にデータを表示するためのデザインパターン 。 JTableは、 TableModelListener、TableColumnModelListener、ListSelectionListener、CellEditorListenerを生成できます。 およびRowSorterListener インターフェイス。 選択した行を削除できます removeRow()を使用してJTableから D
-
Javaのwait()メソッドとsleep()メソッドの違いは?
sleep()メソッド 静的です スレッドの方法 クラスであり、現在実行中のスレッドを「実行不可」状態に送信できます 一方、 wait() メソッドはインスタンスメソッドであり、スレッドオブジェクトを使用して呼び出しており、そのオブジェクトに対してのみ影響を受けます。 sleep() 時間切れ後のメソッドウェイクアップまたはinterrupt()の呼び出し メソッド、 wait() 時間切れ後のメソッドウェイクアップまたはnotify()の呼び出し またはnotifyAll() 方法。 sleep() メソッドはロックまたはモニートを解放しません r待機中、 wait() メソッドは、待機
-
Javaでrun()メソッドを同期できますか?
はい 、Javaでrun()メソッドを同期できますが、このメソッドは単一スレッドでのみ実行されているため、必須ではありません。したがって、同期 run()には必要ありません 方法。 非静的メソッドを同期することをお勧めします 同時に複数のスレッドによって呼び出されるため、他のクラスの 例 public class SynchronizeRunMethodTest implements Runnable { public synchronized void run() { System.out.println(Thread.c