-
Javaシリアル化のオブジェクトグラフ
オブジェクトグラフには、参照を含むオブジェクトもシリアル化されている場合に自動的にシリアル化されるオブジェクトのセットが含まれています。シリアル化され、objectreferenceを含むオブジェクトは、JVMによってシリアル化されます。 例 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; class One imple
-
Javaのクラス変数と静的変数
クラス変数は静的変数とも呼ばれ、キーワード「static」を使用してメソッドの外部で宣言されます。 静的変数は、クラスのすべてのインスタンスに共通する変数です。変数の単一のコピーがすべてのオブジェクト間で共有されます。 例 public class Demo{ static int my_count=2; public void increment(){ my_count++; } public static void main(String ar
-
Javaでのcsvファイルの操作
OpenCSVを最初にインストールする必要があります。これは、Java用のパーサーライブラリです。依存関係は、Mavenプロジェクトのpom.xmlファイルで言及する必要があります。その後、以下のコードを利用できます。 例 import java.io.FileReader; import java.io.*; public class Demo{ public static void readDataLineByLine(String file){ try{  
-
文字列がJavaで有効なキーワードであるかどうかを確認するにはどうすればよいですか?
文字列がJavaで有効なキーワードであるかどうかを確認するには、コードは次のとおりです- 例 import java.util.*; public class Demo{ static boolean valid_identifier(String my_str, int n){ if (!((my_str.charAt(0) >= 'a' && my_str.charAt(0) <= 'z') ||
-
Javaの複素数
複素数とは、虚数部と実数部が関連付けられている数のことです。それらは、通常の数のように加算および減算できます。実数部と虚数部はそれぞれ加算または減算、さらには乗算と除算されます。 例 public class Demo{ double my_real; double my_imag; public Demo(double my_real, double my_imag){ this.my_real = my_real; this.my
-
Javaの文字列の論理演算子
Javaの文字列に論理演算子を実装しましょう- 例 import java.io.*; public class Demo{ public static void main(String[] args){ int a = 45, b = 32, c = 87, d = 1; System.out.println("The first variable is " + a); System.out.println("T
-
Javaでの精密処理
Javaで精度がどのように処理されるかを見てみましょう- 例 import java.io.*; import java.lang.*; public class Demo{ public static void main(String[] args){ double my_val = 34.909; System.out.println("The formatted value of 34.909 is "); Syste
-
Javaのファイルオブジェクト
Fileオブジェクトは、ディスク上の実際のファイル/ディレクトリを表します。 Javaでファイルオブジェクトを作成するためのコンストラクタのリストは次のとおりです- Sr.No。 方法と説明 1 ファイル(ファイルの親、文字列の子) このコンストラクターは、親の抽象パス名と子のパス名文字列から新しいFileインスタンスを作成します。 2 ファイル(文字列パス名) このコンストラクターは、指定されたパス名文字列を抽象パス名に変換することにより、新しいFileインスタンスを作成します。 3 File(String parent、Strin
-
Java8のストリームとコレクションの違い
Javaコレクションフレームワークは、データのグループを保存および操作するために使用されます。これはメモリ内のデータ構造であり、コレクションに追加する前に、コレクション内のすべての要素を計算する必要があります。 Stream APIは、データのグループを処理するためにのみ使用されます。実際のコレクションは変更されず、パイプライン化されたメソッドに従って結果が提供されるだけです。 Sr。いいえ。 キー コレクション ストリーム 1 基本 データのグループを保存および操作するために使用されます Stream APIは、データのグループを処理するためにのみ使用されます
-
JavaのRunnableインターフェースとCallableインターフェースの違い
RunnableとCallableの両方の機能インターフェイス。これらのインターフェースを実装しているクラスは、別のスレッドによって実行されるように設計されています。 スレッドはRuunableで開始でき、新しいスレッドを開始する2つの方法があります。1つはThreadクラスをサブクラス化する方法で、もう1つはRunnableインターフェイスを実装する方法です。 スレッドクラスには呼び出し可能なコンストラクタがないため、スレッドの実行にはExecutorServiceクラスを使用する必要があります。 Sr。いいえ。 キー 実行可能 呼び出し可能 1 パッケージ Ja
-
JavaのExecutorとExecutorServicesの違い
ExecutorとExecutorServicesはどちらのインターフェースも、Executorフレームワークの一部です。 Java5でリリースされます。 Javaでは、スレッドの作成は非常にコストのかかる操作であるため、毎回新しいスレッドを開始するのではなく、使用可能なスレッドを再利用する必要があります。Executorフレームワークを使用して同じことを実現できます。 エグゼキュータフレームワークは、スレッドプールを使用してタスクを並列に実行します。これは、応答時間とリソース使用率の最適化に役立ちます。 4種類の組み込みスレッドプールを提供します- 固定スレッドプール キャッシュされた
-
固定スレッドプールとキャッシュスレッドプールの違い。
エグゼキュータフレームワークは、スレッドプールの概念を使用して設計されています。スレッドプールは、現在のタスクを実行するたびに新しいスレッドを作成するのではなく、作成済みのスレッドを再利用する方法です。 Executorsクラスは、スレッドプールを作成するためのファクトリメソッドを提供します。 ThreadPoolExecutorクラスは、多くのエグゼキュータファクトリメソッドから返されるエグゼキュータの基本実装です。 Sr。いいえ。 キー 固定スレッドプール キャッシュされたスレッドプール 1 基本 JavaDocによる- 共有の無制限キューで動作する固定数のスレ
-
cheduledThreadプールとシングルスレッドエグゼキュータの違い。
Sr。いいえ。 キー スケジュールされたスレッドプール シングルスレッドエグゼキュータ 1 基本 指定された遅延後に実行するコマンド、または定期的に実行するコマンドをスケジュールできるスレッドプールを作成します。 タスクは順番に実行されることが保証されており、常にアクティブになるタスクは1つだけです。 2 キュー タスクを保存するために遅延キューを使用します。時間遅延に基づいてタスクをスケジュールします。 ブロッキングキューを使用します。 3 スレッドの有効期間 アイドル状態であっても、プールに保持するスレッドの数 タス
-
Java8の関数と述語の違い
関数型と述語の両方の関数型インターフェースは、Javaで関数型プログラミングを実装するためにJava8で導入されました。 関数インターフェースは変換を行うために使用されます。1つの引数を受け入れて結果を生成できます。一方、述語は1つの引数のみを受け入れることができますが、ブール値のみを返すことができます。状態をテストするために使用されます。 Sr。いいえ。 キー 関数 述語 1 基本 2つの型パラメーターを取ることができます。最初の1つは入力型の引数型を表し、2番目の型は戻り型を表します。 入力型または引数型を表す1つの型パラメーターを取ることができます。
-
Java8での中間操作と端末操作の違い
ストリームはJava8で導入され、ストーティング要素ではなくデータのグループを処理するためにのみ使用されます。実際のコレクションは変更されず、パイプライン化されたメソッドに従って結果を提供するだけです。 Stream apiは複数の操作をサポートし、操作は2つの部分に分かれています- 中間操作-これらの操作は、他のメソッドをパイプライン化し、他のストリームに変換するために使用されます。これらの操作は、ターミナル操作が実行されるまで呼び出されないため、結果は生成されません。以下に例を示します- sorted(Comparator ) ピーク(消費者) distinct() ターミナル操作
-
JavaでのIteratorとSpilledIteratorの違い。
イテレータとスプリットイテレータの両方のインターフェイスは、コレクションを反復処理するために使用されます。 並列処理を実現するために、Java8で分割イテレータが導入されました。指定された要素のセットを分割し、異なる独立したスレッドを使用して並列操作を実行できます。それは、要素を平行に、そして順次に横断することができます。 splitIteratorインターフェースには次の重要なメソッドがあります- trySplit-指定された要素のセットを複数の部分に分割するために使用されます。 tryAdvance-イテレータインターフェイスで使用可能なhasNext/nextメソッドと同等です ge
-
PermGenSpaceとMetaSpaceの違い。
PermGenは、静的変数、バイトコードなどのクラスデータを格納するためのメモリ領域です。デフォルトでは、64MbがPermGenに割り当てられます。 -XXMaxPermSizeを使用して調整できます。 Java 8では、PermGenメソッド領域がMetaSpaceに置き換えられました。彼らはpermGemをネイティブOSの別のメモリに移動しました。これはMetaSpaceと呼ばれます。デフォルトでは、サイズを自動的に増やすことができます。 MetaSpaceでは、クラスはJVMの存続期間中にロードおよびアンロードできます。 Sr。いいえ。 キー PermGen MetaSp
-
Java8のデフォルトと静的インターフェース方式の違い。
OracleのJavadocによると- デフォルトのメソッドを使用すると、ライブラリのインターフェースに新しい機能を追加し、それらのインターフェースの古いバージョン用に記述されたコードとのバイナリ互換性を確保できます。 静的メソッドは、オブジェクトではなく、それが定義されているクラスに関連付けられているメソッドです。クラスのすべてのインスタンスは、静的メソッドを共有します。 インターフェイスの静的メソッドはインターフェイスクラスの一部であり、実装またはオーバーライドすることはできませんが、クラスはデフォルトのメソッドをオーバーライドできます。 Sr。いいえ。 キー 静的インターフェ
-
ポイントツーポイントモデルとパブリッシュ/サブスクライブJMSメッセージングモデルの違い
JMSは、Javaメッセージサービスの頭字語です。 Javaメッセージサービスは、Javaによって提供されるAPIです。アプリケーションにメッセージングシステムを実装するために使用されます。 JMSは実装を含まないAPIまたは仕様であるため、JMSを使用するには、ActiveMq、Weblogicメッセージングなどのサードパーティのサービスプロバイダーが必要です。 JMSは2種類のメッセージングドメインをサポートします- ポイントツーポイントメッセージング メッセージのパブリッシュ/サブスクライブ Sr。いいえ。 キー ポイントツーポイントメッセージング パブリッシュ/サブスクラ
-
ApacheKafkaとJMSの違い。
KafkaとJMSはどちらもメッセージングシステムです。 Javaメッセージサービスは、Javaによって提供されるAPIです。これは、アプリケーションにメッセージングシステムを実装するために使用されます。 JMSは、キューおよびパブリッシャー/サブスクライバー(トピック)メッセージングシステムをサポートします。キューを使用すると、最初のコンシューマーがメッセージを消費すると、メッセージはキューから削除され、他のユーザーはそれを受け取ることができなくなります。トピックでは、複数の消費者が各メッセージを受信しますが、スケーリングするのははるかに困難です。 Kafkaは、これら2つの概念を一般化し