java只能够通过JNI或者外部执行一个程序来获得内存的总容量与空闲内存的量.我只需要windows平台的,不知道哪位朋友有类似的命令行程序,或者Windows API写成的代码?

解决方案 »

  1.   

    import java.util.Properties;
    import java.util.Date;public class Test {    public static void main(String[] args) {
            System.out.println(new Date());
            Properties p = System.getProperties();
            System.out.println("--- Memory Usage:");
            Runtime rt = Runtime.getRuntime();
            System.out.println("Total Memory = " + rt.totalMemory());
            System.out.println(" Free Memory = " + rt.freeMemory());
           // System.out.println("Max Memory = " + rt.maxMemory());
        }
      

  2.   

    totalMemory()
              Returns the total amount of memory in the Java virtual machine.
    maxMemory()
              Returns the maximum amount of memory that the Java virtual machine will attempt to use.
    freeMemory()
              Returns the amount of free memory in the Java Virtual Machine.
    They all are the memory in virtual machine not in system.
    You have to use JNI.
      

  3.   

    Process p=Runtime.getRuntime().exec("cmd /c mem");
    p.getOutputStream();然后再分析一下输出的结果就可以了
      

  4.   

    mofeir(莫飞) (你们要记得给分)
    wantsong(WantSong)
    你们的方法只能获取jvm的内存使用量。 jFresH_MaN(Leave Java For Cpp)使用mem命令,在windows2000系统上没有得到正确的输出。
      

  5.   

    今天上网看见了一个好东东,分享给大家,相信的可以试试呀!这个东东叫cashspace,是个泡点换钱的软件,就是利用你的机器作为广告平台,为广告商作广告,广告商给我一定的费用。如果你不相信就不要往下看了!!!这个软件是在你上网的同时挂在上面就可以实现记点,到一定的点数就可以给你money了如果你想试一试,可以跟着我做:1.首先到http://www.cashspace.com/signup.asp?refID=gouldiae_yu这个网址注册一下用户
      因为注册是英文的,所以罗嗦一下,给不会填写的朋友一个帮助:
      进入上面的网址,在左侧有个login(注册),点击进入注册页面,现在让我们来注册吧
    ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
    × 第一部分是:填写基本数据,以便网站以后能将薪资支票寄送到你手上: ×
    × *Salutation(称呼):Mr.(先生)、Mrs.(太太)、Ms.(小姐) ×
    × *First Name(名) ×
    × *Last Name(姓): ×
    × *Mailing Address(收支票的地址):须用英文填写。 ×
    × *City (城市):从上面的邮寄地址提取,按乡,县,市顺序填入即可。 ×
    * State or Province (省、州或郡):台湾的朋友就打Taiwan。 ×
    * Postal Code (邮政编码):邮寄地址查询时候就会一起提供。 ×
    * Country (国家):这不用教吧! ×
    * E-mail Address(电子邮件地址) ×
    * Please confirm your e-mail address (请再输输入一遍你的电子邮件地址) ×
    ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
    这部分很重要呀,别把姓名填反了,地址要写清楚,尽量简写,因为他的地址输入有限制的,好像是40个字符
    给大家几个英文地址,仿照写一下吧!北京路45号,7栋201房,填Room 201,Building 7, 45 beijing Road。 
    广东省广州中山路3号, No.3,ZhongShan Road,Guangzhou,GuangDong; department the People’Republic of China 
    虹口区西康南路125弄34号201室 
    Room 201,No.34,Lane 125,XiKang Road(South),HongKou District 
    北京市崇文区天坛南里西区20楼3单元101 
    Room 3-101 building No.20,TianTan-NanXiLi Residential ChongWen District 
    BeiJing City 
    江苏省扬州市宝应县泰山东村102栋204室 
    Room 204 building No.102, East TaiShan Residential BaoYin County 
    JiangSu Province ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
    × 第二部分是会员调查(Member Survey) ×    
    × 你可以自由填写,或是不予回答(No Comment): ×
    * Age(年龄) ×
    * Education(教育程度) ×
    * Employment(职业) ×
    * Yearly Salaries(年收入) ×
    * Marital status(婚姻状况) ×
    * Family members(家庭成员数目) ×
    * Computer location(计算机位置) ×
    * Have you ever made a purchase on-line?(是否曾网络购物?) ×
    * How many hours do you typically spend on the web in a month?(每个月上网时数?) ×
    ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
    这部分不是很重要就是给调查,如果不想填就都选no comment×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
    × 第三部份是要选择自己的使用账号、密码及介绍人回馈方案, ×
    × 记住这部份的数据只要登录之后就无法再做变更,请审慎考虑再做决定: ×
    × *Select a referral system(选择介绍人回馈方案):这个部分非常、 ×
    × 非常重要,请耐心看过我的分析再做决定! ×
    × A - you 60 points + 7 levels: 10, 8, 7, 6, 5, 2, 2 points / h ×
    × B - you 60 points +7 levels: 5, 6, 7, 8, 9, 10, 11 points / h ×
    × C - you 60 points +7 levels: 20, 2, 2, 2, 2, 2, 2 points / h ×
    × *Select a Partner ID(选择使用账号):限定要英文5 – 12字符。 ×
    × *Select a password(选择密码):限定要英文5 – 12字符。 ×
    × *Retype the password to confirm it(再次输入密码以确认) ×
    × *please tell us how you heard about us?(在哪里获知CashSpace的?) ×
    ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
    这部分很重要的,你要选仔细呀!(举例来说,A方案是指当你自己上线1小时可获得60点,而你的第一层下 
    线每上线1小时,你就可获得10点的红利回馈,第二层下线上线1小时, 
    则可获得8点的回馈,之后依7, 6, 5, 2. 2点的次序类推; 
    至于B方案、C方案也都是类似的道理!那么该如何决定要选择何种方案呢? 
    假使你打算长期投入这份,且希望在过一段时间之后获得较 
    大的收益,B方案会是你比较好那么假使你希望可以快一点点见到成效, 
    A方案则是可以优先考虑的选择至于C方案的部份,除非你认为往后介绍的 
    朋友几乎不可能再介绍其它人参与这份工作 )×××××××××××××××××××××××××××××××××××××××××××××××××××××××××
    × 第四部份是填写介绍人: ×
    × *Referral Info(推荐人):这个部份请你务必不要留空白 ×
    ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××
    所以,请你检视一下字段是不是填着,比如gouldiae_yu (这是我的账号,如果填写我得帐号,我会万分感谢,也可以填写你认识的有号的),
    因为我每天都在挂机, 你一旦加入就会成为我得下线,也就是这个道理,人越多,每小时的点数就越多!!!!待上述数据都填写完毕之后,按Become a Member (成为会员)即完成申请。 基本使用说明 申请完毕后,你会收到来自CashSpace的确认邮件,邮件中有你的会员基本数据,你可以从信件上的链接进入CashSpace网站 ( http://www.cashspace.com/ ), 
    并于网页左侧Download处先行下载广告播放程序(内有两个下载点,一为原始程序,另一则为压缩档),待下载完成
    ,执行该程序,登入后即可开始赚钱。 
    加入完后.. 会开几个网站的,不用管。关闭就可。 
    累计点数的方法。 就打开cashspace 的软件就行了。 
    到了24000点数就 你写上的地址里会邮来支票的。 400美金。 去中国银行换就可以了。 
    拉下线的方法: 
    被推荐的方法。要记得了。。 把您加入的网站的最后部分改成你的ID就可以了。 
    如您的ID是****** 的话 ? 
    http://www.cashspace.com/signup.asp?refID=****** 就这样就可以了。 
    然后像我一样把这篇文章复制了以后找个人多的网站里粘贴就可以了。 
    另外,要特别注意几件事: 
    第一、当漩涡状图样亮起时才算上线,若遇图样暗下时,仅需以鼠标光标 
    由上网下晃过漩涡状图样即可恢复亮起。 右下的图标绿色说明连通,红色说明断开,黄色是待机(鼠标移动即可变绿)
    第二、鼠标光标不可越过漩涡上符号的水平位置,否则将呈现离线状态。 
    你可以把广告条放在桌面的最上面。请记住,这一切都是免费的!!! 
    但是头疼的的是我是在公司上班,那些花花绿绿的画面被领导看到了,怎么办呢?
    想想方法吧,我是将任务管理器打开,然后双击管理器将他调整到广告栏大小,然后盖在上面,希望给打算放弃的人一些帮助 看了这么多如果你想加入的话,别忘了填上我呀http://www.cashspace.com/signup.asp?refID=gouldiae_yu,谢了!!!
    我的qq是:305018471(中午才能上的)
    大家有问题可以联系我,我们共同讨论呀!!!
      

  6.   

    Process p=Runtime.getRuntime().exec("cmd /c systeminfo");
    p.getOutputStream();然后再分析一下输出的结果就可以了
      

  7.   

    public class MemoryDemo {
      public static void main(String[] args) {
        //通过getRunTime方法取得Runtime类的对象
        Runtime runTime = Runtime.getRuntime();
        System.out.println("内存的总数是" + runTime.totalMemory());
        System.out.println("剩余的内存总数是" + runTime.freeMemory());
      }
    }
      

  8.   

    I have said "They all are the memory in virtual machine not in system.You have to use JNI."You have to use JNI!
      

  9.   


    不知有没有方法可以取行系统WINDOWS任务管理器的信息的
    如果有问题就解决了/....
      

  10.   

    同意 wantsong(WantSong)
    使用JNI
      

  11.   

    try{
    Process pp=Runtime.getRuntime().exec("cmd /c mem");
    if (pp.waitFor() == 0) {
      System.out.println("处理过程正确返回!");
      InputStream aas = pp.getInputStream();
      byte[] data = new byte[aas.available()];
      aas.read(data,0,aas.available());
      String nn= new String(data);
      System.out.println("sdfsdf:"+nn);   }
    else {
      InputStream err=pp.getErrorStream();
      byte[] data = new byte[err.available()];
      err.read(data,0,err.available());
      String nn= new String(data);
      System.out.println("sdfsdf:"+nn);
    }
    } catch(Exception e){System.out.println(e);}