當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Runtime maxMemory()用法及代碼示例


在裏麵運行Java 的類,maxMemory()方法返回為 Java 虛擬機 (JVM) 設計的最大內存。換句話說,我們可以說它返回JVM可以使用的最大內存量。該方法返回一個‘長的'表示 JVM 可以使用的最大內存量的值。我們可以使用maxMemory()方法根據可用內存做出運行時決策。它通常返回以字節為單位的值。如果我們的程序嘗試分配比返回值更多的內存maxMemory(),它會拋出一個內存不足錯誤。在本文中,我們將 deep-diving 引入到用例中maxMemory()具有正確代碼演示的方法。

的性質maxMemory()方法

  • 它總是返回一個值數據類型。
  • 它始終以字節為單位返回可用內存。
  • 它不需要任何參數。

用法:

Runtime.getRuntime().maxMemory();

運行時示例maxMemory()

我們將討論一些演示 Runtime maxMemory 方法用法的代碼片段。我們還將看到它的一些用例。

示例 1:基本用法

下麵是上述方法的實現:

Java


// Java Program to implement 
// Runtime maxMemory() 
class GFG { 
    // Defining the main function 
    public static void main(String[] args) 
    { 
        System.out.println("This is a Simple Java Code....."); 
  
        // Invoking the maxMemory() method 
        long av_memory = Runtime.getRuntime().maxMemory(); 
  
        // Displaying the available memory in Bytes 
        System.out.println("Available Memory in Bytes: " + av_memory); 
  
        // Displaying the available memory in Kilo Bytes 
        System.out.println("Available Memory in Kilo bytes(KB): " + av_memory / 1024); 
  
        // Displaying the available memory in Mega Bytes 
        System.out.println( "Available Memory in Mega bytes(MB): " + av_memory / (1024 * 1024)); 
    } 
}
輸出
This is a Simple Java Code.....
Available Memory in Bytes: 259522560
Available Memory in Kilo bytes(KB): 253440
Available Memory in Mega bytes(MB): 247



對上例的解釋:

In the above program, We can clearly see the method maxMemory() returns the maximum available memory Java Virtual Machine (JVM) . It return the value in Bytes. This code provides a way to check and display the available memory in different units (bytes, KB, MB) within the JVM. We can further do same for other units too.

1 KB = 1024 bytes
1 MB = 1024 KB

示例2:內存計算

下麵是上述方法的實現:

Java


// Java Program to demonstrate Memory Calculation  
// using Runtime maxMemory Method 
import java.io.*; 
  
// Driver Class 
class GFG 
{ 
    //Defining Assign Array function 
    public static void assignArray(){ 
        int i; 
        int[] arr = new int[10]; 
        for (i = 0; i < 10; i++) { 
            arr[i] = i; 
        } 
    } 
    //Defining the memory function 
    public static void memory(){ 
          
        //Calculating used memory 
        long usedMemory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); 
          
        //Calculating free memory 
        long freeMemory = Runtime.getRuntime().maxMemory() - usedMemory; 
          
          //Displaying Used Memory 
        System.out.println("Used Memory : " + usedMemory/(1024*1024) + " MB"); 
          
          //Displaying free Memory 
        System.out.println("Total Free Memory : " + freeMemory/(1024*1024)+ " MB"); 
    } 
      
    //Driver Code 
    public static void main(String[] args){ 
          
        System .out.println("System Memory Before assigning array of 10 elements"); 
        memory(); 
          
          //Invoking assignArray method 
        System .out.println(" "); 
        assignArray(); 
          
        System .out.println("System Memory Before assigning array of 10 elements"); 
        memory(); 
          
    } 
}
輸出
System Memory Before assigning array of 10 elements
Used Memory : 0 MB
Total Free Memory : 246 MB
 
System Memory Before assigning array of 10 elements
Used Memory : 1 MB
Total Free Memory : 246 MB




對上例的解釋:

The above code is used to analyze memory usage. In arrayAssign method an integer array is initialized with 10 elements from 0 to 9. In memory method we display memory related information such as used memory and total free memory in JVM. In memory function function we have used freeMemory() , totalMemory() and maxMemory() methods to demonstrate memory related information. We have invoked memory method , arrayAssign method and again memory method to show the usage of memory by our program.

結論

在本文中,我們嘗試通過適當且簡短的示例來涵蓋與 maxMemory() 方法相關的所有基本和中間實現。 Java Runtime maxMemory() 方法返回為 Java 虛擬機 (JVM) 設計的最大內存。我們已經了解了如何查看 Java 虛擬機 (JVM) 內存使用情況。這將進一步允許對內存優化做出決定。我們已經看到了兩個例子,它們都有清晰的解釋。我們已經看到了 maxMemory() 方法的兩個主要屬性,例如:

  • 它始終返回long類型的值。
  • 它始終以字節為單位返回可用內存。

簡而言之maxMemory()用於獲取JVM可用的最大堆內存的方法。



相關用法


注:本文由純淨天空篩選整理自vishuvaishnav3001大神的英文原創作品 Java Runtime maxMemory() Method with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。