Soalan:
Bolehkah aplikasi Java dilaksanakan dalam proses berasingan berdasarkan namanya , bebas daripada lokasinya?
Jawapan:
Ya, adalah mungkin untuk melaksanakan aplikasi Java dalam proses berasingan menggunakan nama mereka, bukannya laluan fail mereka. Ini boleh dicapai dalam cara bebas platform dengan memanfaatkan sifat sistem Java.
Untuk menjalankan aplikasi Java dalam proses yang berasingan, anda boleh menggunakan pendekatan berikut:
<code class="java">public class JavaProcess { public static int execute(Class<?> appClass, List<String> args) throws IOException, InterruptedException { String javaHome = System.getProperty("java.home"); String javaBin = javaHome + File.separator + "bin" + File.separator + "java"; String classpath = System.getProperty("java.class.path"); String className = appClass.getName(); List<String> command = new LinkedList<>(); command.add(javaBin); command.add("-cp"); command.add(classpath); command.add(className); if (args != null) { command.addAll(args); } ProcessBuilder builder = new ProcessBuilder(command); Process process = builder.inheritIO().start(); process.waitFor(); return process.exitValue(); } }</code>
Penggunaan:
<code class="java">int exitCode = JavaProcess.execute(MyApplicationClass.class, arguments);</code>
Pendekatan ini disepadukan dengan lancar dengan mekanisme laluan kelas, membolehkan pelaksanaan mudah aplikasi tanpa mengira lokasi fizikalnya.
Atas ialah kandungan terperinci Bolehkah Aplikasi Java Berjalan Secara Berasingan Berdasarkan Nama Mereka?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!