• GetMemory


    //GetMemory.java
    class GetMemory
    {
    public static void main(String args[])
    {
    Runtime rt = Runtime.getRuntime(); //获得自动创建的Runtime类的对象
    long mem1, mem2;
    Integer someints[] = new Integer[100];

    System.out.println("总内存: "+rt.totalMemory()); //总内存--以字节为单位
    mem1 = rt.freeMemory(); //可用内存
    System.out.println("可用内存: " + mem1);

    rt.gc(); //GC(Gabage Collection)-内存回收-少用-java会自动回收
    mem1 = rt.freeMemory();
    System.out.println("可用内存: "+ mem1); //可用内存--看看内存回收后可用内存是否变化了

    for(int i=0; i<100; i++) //占用内存--看看100个Integer类的对象用了多少内存
    someints[i] = new Integer(i);
    mem2 = rt.freeMemory();
    System.out.println("可用内存: "+ mem2); //可用内存
    System.out.println("使用的内存: "+(mem1-mem2)); //用的内存

    for(int i=0; i<100; i++)
    someints[i] = null; //把不再引用的对象标志为null--以便回收
    rt.gc(); //释放内存

    mem2 = rt.freeMemory();
    System.out.println("可用内存 :" + mem2); //可用内存

    try{
    rt.exec("notepad"); //exec()--执行其他独立进程的程序
    } //java认为exec()可能出现异常-java规定-必须对其进行
    catch(Exception e){ //捕获或声明以便抛出
    System.out.println(e.toString());
    }
    }
    }

  • 相关阅读:
    JavaOOP对象和封装
    使用socket实现文件复制
    多线程模拟银行取款
    初入多线程示例展示--Runner
    初步学习多线程3
    初步学习多线程2
    初步线程学习1
    守护线程_setDaemon()
    多线程_yield()和sleep()方法比较
    java_多线程_优先级
  • 原文地址:https://www.cnblogs.com/Anei/p/7999836.html
Copyright © 2020-2023  润新知