systemkit.java
来自「jGAp 遗传算法 提不错的一款软件 最新的更新」· Java 代码 · 共 119 行
JAVA
119 行
/*
* This file is part of JGAP.
*
* JGAP offers a dual license model containing the LGPL as well as the MPL.
*
* For licensing information please see the file license.txt included with JGAP
* or have a look at the top of class org.jgap.Chromosome which representatively
* includes the JGAP license policy applicable for any file delivered with JGAP.
*/
package org.jgap.util;
import java.io.*;
/**
* System-related utility functions.
*
* @author Klaus Meffert
* @since 3.2
*/
public class SystemKit {
/** String containing the CVS revision. Read out via reflection!*/
private final static String CVS_REVISION = "$Revision: 1.6 $";
/**
* @return total memory available by the VM in megabytes.
*
* @author Klaus Meffert
* @since 3.2 (since 3.0 in GPGenotype)
*/
public static double getTotalMemoryMB() {
return getTotalMemoryKB() / 1024;
}
/**
* @return total memory available by the VM in kilobytes.
*
* @author Klaus Meffert
* @since 3.2.1
*/
public static double getTotalMemoryKB() {
return (Runtime.getRuntime().totalMemory() / 1024);
}
/**
* @return free memory available in the VM in megabytes.
*
* @author Klaus Meffert
* @since 3.2 (since 3.0 in GPGenotype)
*/
public static double getFreeMemoryMB() {
return getFreeMemoryKB() / 1024;
}
/**
* @return free memory available in the VM in kilobytes.
*
* @author Klaus Meffert
* @since 3.2.1
*/
public static double getFreeMemoryKB() {
return (Runtime.getRuntime().freeMemory() / 1024);
}
/**
* Nicifies a decimal string by cutting of all but two decimal places.
*
* @param a_mem the number to make nice
* @return nicified number as a string
*
* @since 3.3.1
*/
public static String niceMemory(double a_mem) {
String freeMB = "" + a_mem;
int index = freeMB.indexOf('.');
int len = freeMB.length();
if (len - index > 2) {
freeMB = freeMB.substring(0, index + 2);
}
return freeMB;
}
/**
* Returns the first line of the result of a shell command.
* Taken from UUID.
*
* @param commands the commands to run
* @return the first line of the command
* @throws IOException
*
* @since 3.3.3
*/
static String getFirstLineOfCommand(String[] commands)
throws IOException {
Process p = null;
BufferedReader reader = null;
try {
p = Runtime.getRuntime().exec(commands);
reader = new BufferedReader(new InputStreamReader(
p.getInputStream()), 128);
return reader.readLine();
} finally {
if (p != null) {
if (reader != null) {
try {
reader.close();
} catch (IOException ex) {}
}
try {
p.getErrorStream().close();
} catch (IOException ex) {}
try {
p.getOutputStream().close();
} catch (IOException ex) {}
p.destroy();
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?