Java
 Computer >> コンピューター >  >> プログラミング >> Java

Java9のProcessAPIでのコアライブラリの変更は何ですか?


Java 9では、 PIDを取得できます。 ネイティブコールを介してプロセスを処理し、 ProcessHandleを介して達成できます。 。現在実行中のJavaプロセス( JVM )に関する情報を取得することもできます )および情報 ProcessHandleの内部クラス )プロセスに関する詳細を含むクラス。 スナップショットを返すこともできます システムで現在実行中のすべてのプロセスの。

import java.lang.ProcessHandle.Info;

public class ProcessAPIChanges {
   public void detailedAPIInfo(ProcessHandle processHandle) {
      Info processInfo = processHandle.info();
      System.out.println("Detailed Process Info is Provided Below: ");
      System.out.println("[Executable Name] " + processInfo.command().get());
      System.out.println("[User Name] " + processInfo.user().get());
      System.out.println("[Start Time] " + processInfo.startInstant().get().toString());
   }
   public static void main(String args[]) {
      System.out.println("Process API Changes (Core Library) ");
      ProcessAPIChanges processAPIChanges = new ProcessAPIChanges();
      ProcessHandle processHandle = ProcessHandle.current();

      System.out.println("[Current Process Id] " + processHandle.pid());

      processAPIChanges.detailedAPIInfo(processHandle);
      ProcessHandle.allProcesses()
         .filter(ph -> ph.info().command().isPresent())
         .limit(4).forEach((process) -> processAPIChanges.detailedAPIInfo(process));
   }
}

出力

Process API Changes (Core Library)
[Current Process Id] 5724
Detailed Process Info is Provided Below:
[Executable Name] C:\Program Files\Java\jdk-9.0.4\bin\java.exe
[User Name] Tutorialspoint\User
[Start Time] 2020-04-01T07:35:43.152Z
Detailed Process Info is Provided Below:
[Executable Name] C:\WINDOWS\System32\taskhostex.exe
[User Name] Tutorialspoint\User
[Start Time] 2020-04-01T04:14:36.241Z
Detailed Process Info is Provided Below:
[Executable Name] C:\Program Files\Synaptics\SynTP\SynTPEnh.exe
[User Name] Tutorialspoint\User
[Start Time] 2020-04-01T04:14:36.257Z
Detailed Process Info is Provided Below:
[Executable Name] C:\WINDOWS\explorer.exe
[User Name] Tutorialspoint\User
[Start Time] 2020-04-01T04:14:36.335Z
Detailed Process Info is Provided Below:
[Executable Name] C:\Program Files (x86)\Dell Wireless\Bluetooth Suite\BtvStack.exe
[User Name] Tutorialspoint\User
[Start Time] 2020-04-01T04:14:51.594Z

  1. Java 9で導入された主な機能と拡張機能は何ですか?

    OracleはJをリリースしました ava 9 新しい機能の豊富なセットを備えたバージョン そして、多くの新しい拡張機能をもたらします 。 以下は、Java9で導入されたいくつかの重要な機能と拡張機能です。 収集のためのファクトリメソッド s :ファクトリメソッド は、コレクションの変更不可能なインスタンスを作成するために使用できる特殊な種類の静的メソッドです。つまり、これらのメソッドを使用してリストを作成できます。 、セット 、およびマップ 。 Javaプラットフォームモジュールシステム(JPMS): Javaモジュールは、JavaアプリケーションとJavaパッケージをJav

  2. JavaのProcessクラスの目的は何ですか?

    java.lang.Process オブジェクトのサブクラスです クラスであり、 exec()によって開始されるプロセスを記述できます。 ランタイムの方法 クラス。 プロセス オブジェクトはプロセスを制御し、それに関する情報を取得します。 Processクラスは抽象クラスであるため、インスタンス化できません。 Processクラスの重要なメソッドは、 destroy()、exitValue()、getErrorStream()、waitFor()、getInputStream()です。 およびgetOutputStream() 。 構文 public abstract class Proce