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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。