import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Map;
import java.util.Properties;
import lambdaj.end;
/* 2017-02-15 13:29:22
* java 提供了 System类 和 runtime 类 来与程序的运行平台进行交互
* system 代表当前 java程序的运行平台 ,程序不能创建system类的对象,
* system 提供了一些变量和类方法,允许直接通过system类来调用这些类变量和类方法
* 提供了代表标准输入、输出、错误输出的类变量
* 提供了一些静态方法用于访问 环境变量、系统属性的方法
* 加载文件和动态链接库的方法
*
*
* 加载文件和动态链接库主要对native方法 (访问操作系统底层硬件设备)java无法实现,必须借助c语言来完成
* 实现步骤
* - java 程序中声明native 修饰的方法 ,类似于abstract 方法, 只有方法签名,没有实现,编译该java 程序,生成一个class文件
* - 用javah 编译第一步生成的class 文件,将产生一个 .h文件
* - 写一个.cpp文件实现native 方法 ,这一步需要包含第2步产生的.h 文件 (这个文件又包含了jdk带的jni.h文件)
* - 将第三步的.cpp文件编译成动态链接库文件
* - 在java 中用system类中的loadLibrary 方法或runtime 类的 loadLibrary()方法加载第四步产生的动态链接库文件
* java 就可以调用这个native 方法
*/
public class SystemClassj {
public static void main(String[] args) throws FileNotFoundException, IOException {
// getenv();
// getpro();
// runtimej();
}
/* 2017-02-15 21:43:05
*
*/
private static void runtimej() throws IOException {
/*2017年2月15日19:03:55
* runtime 类
* 代表java程序的运行时环境,每个java程序都有一个与之对应的runtime实例,
* 应用程序通过该对象与其运行时环境相连,
* 应用程序不能创建自己的runtime实例
* 但是可以通过 getruntime方法获取与之关联的runtime对象
*
*
* runtime 也提供了gc 方法。和runfinalization 方法来通知系统进行垃圾回收、清理系统资源,
* 提供 loadLibrary() 方法来加载文件和动态链接库
*
* runtime 类代表java程序的运行时环境,可以访问jvm 的相关信息, 处理器数量,内存信息
* */
Runtime runtime = Runtime.getRuntime() ;
System.out.println(runtime.availableProcessors()+ "处理器");
System.out.println(runtime.freeMemory() + "空闲内存");
System.out.println(runtime.totalMemory() + "总内存");
System.out.println(runtime.maxMemory() + "最大内存");
//它可以单独启动一个进程来运行操作系统命令
runtime.exec("notepad.exe");/// 打开一个应用程序
}
/*
* 2017-02-15 13:58:29
*
*/
private static void getenv() {
Map<String, String> eMap = System.getenv();
for (String string : eMap.keySet()) {
System.out.println(string + "-----" + eMap.get(string));
}
Properties properties = System.getProperties(); // 获取所有的系统属性
// properties.store(new FileOutputStream("properties.txt"), "system
// propretis"); // 将所有的系统属性保存在txt
}
/*
* 2017-02-15 13:57:21
*
*/
private static void getpro() {
System.out.println("----");
Map<Object, Object> pMap = System.getProperties();
for (Object object : pMap.keySet()) {
System.out.println(object.toString() + "-----" + pMap.keySet());
}
}
}
system、runtime
最新推荐文章于 2024-07-08 09:46:00 发布