/*******************************************************************************
* Copyright (c) 2007-2009 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributor:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.hibernate.eclipse.console.test.utils;
/**
* @author Vitali Yemialyanchyk
*/
public class GarbageCollectionUtil {
static public int forceCollectGarbage() {
int numGCCall = 0;
long freeMemory = 0;
long freeMemoryAfter = freeMemory;
do {
freeMemory = Runtime.getRuntime().freeMemory();
System.gc();
numGCCall++;
freeMemoryAfter = Runtime.getRuntime().freeMemory();
} while (freeMemoryAfter - freeMemory != 0);
return numGCCall;
}
}