system、runtime

来源:互联网 发布:嵌入式linux终端 编辑:程序博客网 时间:2024/05/29 23:44
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());}}}

0 0
原创粉丝点击