3

私はJava 7でOCP試験の準備をしています。私が読んでいる本は、私が完全に理解していないことに出くわしました。

あれは、

JVM が IDE によって間接的に呼び出された場合、または JVM がバックグラウンド プロセスから呼び出された場合、メソッド呼び出しSystem.console()は失敗し、null が返されます。

どのような場合に、どのようにバックグラウンド プロセスから JVM を呼び出しますか? 誰かがそれについて詳しく説明できますか?よろしくお願いします

4

4 に答える 4

1

IDE から、またはメインの Java プロセスの子プロセスとして JVM を起動すると、コンソールが接続されないということです。

  • IDE の場合は、IDE のコンソールが使用されます。
  • サブ プロセスの場合、サブ プロセスでメイン プロセスのコンソールを使用する場合は、入出力ストリームをメイン プロセスにリダイレクトする必要があります。
于 2013-07-12T13:15:46.970 に答える
1

これはドキュメントのとおりです

仮想マシンにコンソールがあるかどうかは、基盤となるプラットフォームと、仮想マシンが呼び出される方法に依存します。標準入出力ストリームをリダイレクトせずに対話型コマンド ラインから仮想マシンを起動すると、そのコンソールが存在し、通常、仮想マシンを起動したキーボードとディスプレイに接続されます。たとえば、バックグラウンド ジョブ スケジューラによって仮想マシンが自動的に起動される場合、通常、仮想マシンにはコンソールがありません。

Eclipse などの IDE は、システム コンソールを使用したトップレベル プロセスとしてではなく、バックグラウンド プロセスとしてアプリを実行します。

于 2013-07-12T13:14:34.853 に答える