当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Runtime halt()用法及代码示例


Java 运行时 halt() 方法用于强制终止 Java 虚拟机 (JVM) 中当前正在运行的 Java 代码。不像System.exit(),此方法用于需要立即关闭Java虚拟机(JVM)的极端情况。它不会调用关闭钩子并具有干净的关闭函数。它立即终止代码,并且不等待执行任何清理或终结任务。不像System.exit(),该方法不建议在正常终止程序时使用。它通常用于突然强制终止程序。在本文中,我们将介绍halt()方法并提供一些清晰简洁的示例。

用法

Runtime.getRuntime().halt(0); 

同样,在 System.exit() 中,状态代码在此方法中的工作方式也相同。

Status code ‘0 indicates a successful/ normal termination, by convention, and ‘any non-zero number’ is used for abrupt termination. Different numbers is used to distinguish between different errors that occur at a particular line of code.

Java运行时halt()方法示例

我们将使用 halt() 方法讨论一些 Java 代码。我们将看到halt()方法实现和代码输出。下面我们讨论了一些示例代码及其输出。

示例 1:

以下是 Java 运行时 halt() 的示例:

Java


// Java Program to implement 
// Java Runtime halt() Method 
import java.io.*; 
  
class GFG { 
    // Main Function 
    public static void main(String[] args) 
    { 
        // Displaying the Message 
        System.out.println("Program is running........"); 
  
        // invoking the halt() method 
        Runtime.getRuntime().halt(0); 
  
        // This part of code will not be executed 
        System.out.println("Successfully Completed......"); 
    } 
}
输出
Program is running........

对上例的解释:

在上面的程序中我们可以清楚地看到最后一条打印语句没有被编译器执行。这是由于 halt() 方法而发生的。当我们在最后一个打印语句之前执行halt()方法时,它突然关闭程序而不打印最后一个语句。我们还可以注意到,这里使用的状态代码是‘0’,它表示程序正常终止。

示例 2:

下面是 Java 运行时 halt() 的实现:

Java


// Java Program to implement 
// Java Runtime halt() Method 
import java.io.*; 
  
// Driver Class 
class GFG { 
  
    // this method return the index of element if it is in 
    // the array 
    public static int arrayIndex(int[] arr, int element) 
    { 
        int i; 
        for (i = 0; i < arr.length; i++) { 
            if (arr[i] == element) { 
                return i; 
            } 
        } 
        return -1; 
    } 
    // this method display the error (if any) and shut the 
    // program otherwise this displays the index of element 
    public static void check(int k) 
    { 
        if (k == -1) { 
            System.out.println("Error Occured.........."); 
            // invoking halt method 
            Runtime.getRuntime().halt(1); 
        } 
        else { 
            System.out.println("Index of Element is: " + k); 
        } 
  
        System.out.println( 
            "Sucessfully Executed.........."); 
    } 
  
    // Driver Code 
    public static void main(String[] args) 
    { 
  
        // initializing the Array 
        int[] arr = { 18, 9, 108, 15, 150, 100 }; 
  
        // Displaying the output 1 
        System.out.println("Output 1: "); 
        int k; 
        k = arrayIndex(arr, 108); 
        check(k); 
  
        // Displaying the output 2 
        System.out.println(" "); 
        System.out.println("Output 2: "); 
        k = arrayIndex(arr, 250); 
        check(k); 
    } 
}
输出
Output 1: 
Index of Element is: 2
Sucessfully Executed..........
 
Output 2: 
Error Occured..........

对上例的解释:

在上面的代码块中我们创建了arrayIndex()方法。该方法本质上执行线性搜索在我们的数组上有给定的元素。然后,如果找到该方法,则返回该元素的索引,否则负 1 表示该元素不存在于数组中。我们还创建了一个check()如果发现其他调用,该方法将向用户显示索引halt()方法将对我们的程序执行异常关闭。

在上面的代码中我们可以清楚地发现halt()方法中使用的状态码是一个非零数字。这意味着如果出现错误,会突然关闭程序而不完成其他挂起的任务。

结论

halt()方法是一种不常见的方法。它通常用于需要立即终止的非常特殊的情况。一般场景不建议使用此方法。此方法不调用关闭钩子,并且代码终止不等待执行清理或终结任务。在镜头中,它执行了不干净的终止。在本文中,我们通过一些简洁的示例介绍了每个场景。我们有如何在紧急需要时终止我们的程序。



相关用法


注:本文由纯净天空筛选整理自vishuvaishnav3001大神的英文原创作品 Java Runtime halt() Method with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。