Mega Code Archive

 
Categories / Java / Development Class
 

JVM memory util

/*  * Copyright 2008-2010 the T2 Project ant the Others.  *  * Licensed under the Apache License, Version 2.0 (the "License");  * you may not use this file except in compliance with the License.  * You may obtain a copy of the License at  *  *      http://www.apache.org/licenses/LICENSE-2.0  *  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */ //package org.t2framework.commons.util; import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.MemoryUsage; public class MemoryUtil {   public static long getTotalMemory() {     return getRuntime().totalMemory();   }   public static long getFreeMemory() {     return getRuntime().freeMemory();   }   public static long getMaxMemory() {     return getRuntime().maxMemory();   }   public static long getHeapInitMemory() {     return getHeapMemoryUsage().getInit();   }   public static long getHeapMaxMemory() {     return getHeapMemoryUsage().getMax();   }   public static long getHeapUsedMemory() {     return getHeapMemoryUsage().getUsed();   }   public static long getHeapCommittedMemory() {     return getHeapMemoryUsage().getCommitted();   }   private static MemoryUsage getHeapMemoryUsage() {     return getMemoryMXBean().getHeapMemoryUsage();   }   private static MemoryMXBean getMemoryMXBean() {     return ManagementFactory.getMemoryMXBean();   }   private static Runtime getRuntime() {     return Runtime.getRuntime();   } }