-
Java 9のモジュールのさまざまなコンパイルモードは何ですか?
モジュール はパッケージのコンテナであり、各モジュールにはモジュールを含むモジュール記述子が含まれています 名前 、モジュール 依存関係、 これは、他のモジュールの名前が依存していることと、それに依存しているモジュールのみが使用できるエクスポートするパッケージの名前を意味します。 module com.tutorialspoint.app { /** Modules upon which the module com.tutorialspoint.app depends on */ requires com.tutorialspoint.se
-
Java 9でInputStreamのreadNBytes()メソッドを使用するのはいつですか?
Java 9以降、 readNBytes() メソッドをInputStreamに追加できます クラス。このメソッドは、要求されたバイト数を入力ストリームから指定されたバイト配列に読み取ります。 。このメソッドは、lenバイトになるまでブロックします の入力データが読み取られたか、ストリームの終了が検出されたか、例外がスローされました。 readNBytes() メソッドは入力ストリームを閉じません。この方法は、メモリを回避するのに役立ちます。 問題 大きなファイルの場合。 構文 public int readNBytes(byte[] b, int off, int len) throws
-
Java9のProjectJigsawとは何ですか?
ジグソーの主な目的 プロジェクト モジュール性を導入することです Java 9でモジュールを作成し、それを JDKに適用するという概念 。 以下はモジュール性の利点の一部です (ジグソー ) 強力なカプセル化: モジュールは、使用可能なパーツにのみアクセスできます。パッケージが明示的にmodule-info.javaにエクスポートされない限り ファイル、パッケージ内のパブリッククラスをパブリックにすることはできません。 明確な依存関係: モジュールは、他のモジュールについて、それらが必須の句を介して使用されていることを宣言する必要があります。モジュールを組み合わせて、比較的小さなコンピュ
-
Java 9のJShellのさまざまなショートカットキーは何ですか?
JShell は、Javaコードを実行し、すぐに結果を取得できるインタラクティブなツールです。コンパイルやビルドを行わずに、式や短いアルゴリズムをすばやく評価します。 式を実行できます 、クラス 、メソッド 、変数、 JShellツールの助けを借りてなど。 以下はキーボードの一部です ショートカット キー : 入口 -行を検証します 左矢印 -行を左に移動します 右矢印 -行を右に移動します Ctrl-A -行の先頭に移動します Ctrl-E -行末に移動します Alt-B -単語ごとに左に移動します Alt-F -単語ごとに右に移動します 削除 -カーソルの後の文
-
Java 9でプログラムでJShellインスタンスを作成するにはどうすればよいですか?
JShell は、Java 9以降に導入された対話型ツールです。これは、ユーザーの入力を読み取り、評価し、結果を出力する単純なプログラミング環境をコマンドラインで作成するJava初の公式REPLツールです。 新しいJShellインスタンスを作成できます プログラムでJava言語で。 JShellとそれに関連するAPIは、 jdk.jshellにあります。 パッケージ。静的メソッドcreate()を使用して、JShellの新しいインスタンスを取得できます。 JShellクラスの。 eval() JShellインスタンスに式を追加するために使用されるJShellクラスのメソッド。評価によってト
-
Java 9のJShellのフォワードリファレンスとは何ですか?
JShell コマンドラインです ツール これにより、Javaステートメント(単純ステートメント、複合ステートメント、または完全なメソッドとクラス)を入力し、それを評価して結果を出力できます。 転送 参照 メソッドを参照するコマンドです 、変数 、またはクラス これは、JShellで入力したコードには存在しません。コードがJShellに順番に入力されて評価されると、これらのフォワード 参照 一時的に未解決です。 JShellは、メソッドで前方参照をサポートします ボディ 、返品 タイプ 、パラメータ タイプ 、変数 タイプ 、および内 a クラス 。 以下のコードスニペットで、メソッド
-
Java 9でのCollectors.filtering()メソッドの重要性?
コレクター クラスはストリームの重要な部分です API 。 Java 9では、新しいメソッド: filtering() コレクターに追加 クラス。 Collectors.filtering() メソッドは、ストリーム内の要素をフィルタリングするために使用できます。 filter()に似ています ストリームのメソッド。 filter() メソッドは、グループ化される前に値を処理しますが、 filtering() メソッドはCollectors.groupingBy()でうまく使用できます フィルタリングステップが実行される前に値をグループ化する方法。 構文 public static
-
Java 9でのCollectors.flatMapping()メソッドの重要性?
Java 9では、Collectorsクラスに追加された新しいメソッド flatMapping() 。 Collectors.mapping()に似ています flatMapping()が実行されるメソッド メソッドを使用すると、ネストされたコレクションを処理できます。 Collectors.flatMapping() メソッドは、入力要素に適用される関数と、関数を通過した要素を累積するコレクターを取ります。 Collectors.mapping()とは異なります メソッド、 Collectors.flatMapping() メソッドは、不要な中間コレクションを取り除くことを可能にする要
-
Java 9でStackWalkerの各スタック要素にアクセスするにはどうすればよいですか?
Java9でStackWalkerが導入されました API Thread.getStackTrace()の代わりとして またはThrowable.getStackTrace() およびSecurityManager.getClassContext() 。このAPIは、必要なスタックフレームをトラバースしてマテリアライズするメカニズムを対象としているため、必要に応じて追加のスタックフレームに効率的に遅延アクセスできます。 例外スタックトレースの各スタック要素にアクセスする必要がある場合は、 getStackTrace()を使用できます。 スロー可能の方法 クラス。 配列を返します Stac
-
Java 9での国際化の機能強化は何ですか?
国際化 Java 9の拡張機能には、 Unicode 8.0が含まれます。 、 UTF-8 プロパティファイルとCLDRの有効化 ロケール データ デフォルトでは。 Java9は最大Unicodeをサポートします 8.0標準 10,555文字、29スクリプト、42ブロック。 Java 9では、プロパティファイルはUTF-8エンコーディングでロードされます 。デフォルトでは、入力ストリームを読み取ると MalformedInputExceptionがスローされます またはUnmappableCharacterException 。この場合、 PropertyResourceBundle イ
-
Java 9でのtoEpochSecond()メソッドの使用法は何ですか?
Java 9では、 LocalDate クラスはtoEpochSecond()を提供します ローカル日付をエポック秒に変換する方法 。 toEpochSecond() メソッドはLocalDateを変換します エポックからの秒数1970-01-01T00:00:00Z 。 LocalDate 特定の時間と組み合わせることができます およびゾーン オフセット 1970-01-01T00:00:00Zから始まる秒を計算します。 構文 public long toEpochSecond(LocalTime time, ZoneOffset offset) 例 import java.tim
-
Java 9でのofInstant()メソッドの重要性?
Java 9では、 ofInstant() 変換のためのメソッドが導入されました。これは、 LocalDateの静的メソッドです。 、 LocalTime 、および LocalDateTime クラス。このメソッドは、 java.time.Instantを変換します LocalDateに反対する java.time.ZoneIdの形式のタイムゾーンが必要です 。 構文 public static LocalTime ofInstant(Instant instant, ZoneId zone) public static LocalDate ofInstant(Instant inst
-
Java9でProcessAPIを使用してプロセスを終了/破棄するにはどうすればよいですか?
Java 9では、プロセスAPI プロセスに関する多くの情報を取得する簡単な方法をサポートします。 ProcessHandle インターフェイスは、ネイティブプロセスとメソッドの制御を識別して提供し、プロセスの活性をチェックしてプロセスを破棄できますが、 ProcessHandle.Info インターフェイスは、プロセスの情報スナップショットを提供できます。 destroy()を使用してプロセスを破棄する必要があります ProcessHandleのメソッド インターフェイス。 以下の例では、 ProcessHandleを使用してプロセスを終了する必要があります インターフェイス。
-
Java9でProcessAPIを使用してプロセスのすべての子を取得するにはどうすればよいですか?
プロセス 処理 クラスと関連APIはJava9で導入されました 。 ProcessHandleを使用できます pidを取得するためのインターフェースと関連メソッド およびその他の関連プロセスに関する情報。プロセスのすべての子を取得してから、 java.lang.ProcessHandle.children()を使用する必要があります。 方法。このメソッドは、ストリーム(通常は子を持たないプロセス)を返します。 以下の例では、最初のプロセスを取得し、その子のプロセス情報を取得できます。 例 import java.util.stream.Stream; import java.util.Op
-
Java9でProcessAPIのすべてのプロセスデータを取得するにはどうすればよいですか?
Java 9では、プロセスAPI オペレーティングシステムのプロセスを制御および管理するために使用されています。 ProcessHandle クラスは、プロセスのネイティブプロセスを提供します ID 、開始 時間 、蓄積された CPU 時間 、引数 、コマンド 、ユーザー 、親 プロセス 、および子孫 。また、プロセスをチェックする方法も提供しますライブネス そして破壊する プロセス。すべてのProcessHandleを取得します allProcesses()を使用したストリームとしてのデータ メソッド。 以下の例では、すべてのプロセス情報を取得します。 例 import
-
Java 9のリアクティブストリームのコアインターフェイスは何ですか?
Java9はリアクティブストリームを導入しました java.util.concurrent.Flowの下 相互運用可能なパブリッシュ/サブスクライブをサポートするパッケージ フレームワーク。非同期境界を越えてデータの非同期ストリームを処理し(要素を別のスレッドまたはスレッドプールに渡す)、受信側が任意の量のデータをバッファリングすることを強制されないため、バッファオーバーフローは発生しません。 フローAPI 相互に関連する4つのコアインターフェースが含まれています:パブリッシャー 、サブスクライバー 、サブスクリプション 、およびプロセッサ 。 構文 @FunctionalInterface
-
Java 9でSubmissionPublisherクラスを実装するにはどうすればよいですか?
Java 9以降、 Rを作成できます アクティブストリーム 4つのコアインターフェースを導入することにより:パブリッシャー 、サブスクライバー 、サブスクリプション 、プロセッサ 、および1つの具体的なクラス: SubmitPublisher パブリッシャーを実装します インターフェース。各インターフェースは、リアクティブの原則に対応して、異なる役割を果たします。 ストリーム 。 submit()を使用できます SubmitPublisherのメソッド 提供されたアイテムを各サブスクライバーに公開するクラス。 構文 public class SubmissionPublisher<
-
Java 9でCompletableFutureのdelayedExecutor()メソッドを使用するのはいつですか?
delayedExecutor() CompletableFutureにメソッドが追加されました Java9のクラス。CompletableFuture delaydExecutor()の2つのオーバーロードされたメソッドを定義します :最初のメソッドは、デフォルトからExecutorオブジェクトを返します エグゼキュータ CompleteableFutureであるオブジェクト オブジェクトは、遅延後にタスクを実行するために使用し、新しいエグゼキュータ オブジェクトはタスクの実行を実行できますが、2番目のメソッドもExecutorオブジェクトを返しますが、遅延と新しいExecutorの後
-
JavaでStackWalkerAPIを使用してさまざまなスタックフレームを印刷するにはどうすればよいですか?
Java9はStackWalkerを定義します API 怠惰とフレームフィルタリングを提供します。 StackWalkerのオブジェクト スタックをトラバースしてアクセスできるようにし、1つの便利なメソッドが含まれています: walk() 。このメソッドは、 StackFrameを開きます ストリーム 現在のスレッドに対して、その StackFrameで関数を適用します ストリーム。 StackWalkerを入手する必要があります オブジェクトを作成し、 StackWalker.getInstance()を使用します メソッド。 次の例では、さまざまなスタックフレームを印刷できます:す
-
Java9でStackWalkerAPIを使用してスタックフレームをフィルタリングするにはどうすればよいですか?
StackWalker APIは、プログラムの実行中にスタックトレースで情報のストリームを提供します。このAPIには仮想マシンが必要です スタック全体のスナップショットをキャプチャし、フィルタリングの目的で要素の配列を返します。 walk()を使用して、スタックフレームをスキップ、ドロップ、および制限する必要があります。 方法。 filter()を使用して、最初に一致するフレームを取得するためにクラスごとにスタックフレームをフィルタリングし、一致するすべてのフレームをフィルタリングすることもできます。 メソッド。 以下の例では、StackWalkerAPIを使用してスタックフレームをフィ