Javaでスレッドセーフなコレクションクラスはどれですか?
import java.util.*; public class StackTest { public static void main (String[] args) { Stack<Integer> stack = new Stack<Integer>(); stack.push(5); stack.push(7); stack.push(9); Integer num1 = (Integer)stack.pop(); System.out.println("The element popped is: " + num1); Integer num2 = (Integer)stack.peek(); System.out.println(" The element on stack top is: " + num2); } }
The element popped is: 9 The element on stack top is: 7
import java.util.*; public class VectorTest { public static void main(String[] arg) { Vector vector = new Vector(); vector.add(9); vector.add(3); vector.add("ABC"); vector.add(1); vector.add("DEF"); System.out.println("The vector is: " + vector); vector.remove(1); System.out.println("The vector after an element is removed is: " + vector); } }
The vector is: [9, 3, ABC, 1, DEF] The vector after an element is removed is: [9, ABC, 1, DEF]
-
SwingはJavaでスレッドセーフですか?
いいえ、 Java Swing コンポーネントはJavaではスレッドセーフではありません。 Swingコンポーネントがスレッドセーフではない理由 Java Swingがスレッドセーフではない主な理由の1つは、そのコンポーネントを拡張するタスクを簡素化することです。 Java Swingのもう1つの理由は、ロックの取得と解放、および状態の復元に伴うオーバーヘッドのため、スレッドセーフではありません。 。 一部のJavaSwingコンポーネントメソッドは、 repaint()、revalidate()などのマルチスレッドアクセスをサポートします。 、および invalidate()メソッド
-
Javaのパッケージ
パッケージは、名前の競合を防ぎ、アクセスを制御し、クラス、インターフェイス、列挙、アノテーションの検索/検索と使用を容易にするためなどにJavaで使用されます。 パッケージは、アクセス保護と名前空間管理を提供する関連タイプ(クラス、インターフェイス、列挙、および注釈)のグループとして定義できます。 Javaの既存のパッケージのいくつかは-です java.lang-基本クラスをバンドルします java.io-入出力関数のクラスは、このパッケージにバンドルされています プログラマーは独自のパッケージを定義して、クラス/インターフェースなどのグループをバンドルできます。プログラマーがクラ