[发明专利]一种基于JNI获取本机CPU和内存占用率的方法在审
申请号: | 201310402356.3 | 申请日: | 2013-09-07 |
公开(公告)号: | CN104424085A | 公开(公告)日: | 2015-03-18 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 镇江金软计算机科技有限责任公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 212009 江苏省镇江市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 jni 获取 cpu 内存 占用率 方法 | ||
技术领域
本发明涉及一种基于JNI获取本机CPU和内存占用率的方法。本发明属于计算机技术领域。
背景技术
在许多情况下,本机CPU和内存的占用率对Java应用的开发人员来说是非常重要的,它可以实时获取应用运行时当前系统CPU与内存的使用情况,让开发人员更好地了解应用所对系统资源造成的影响,从而完善优化使应用获得更好的效率,节约更多的资源,同时,这也是检查Java应用程序是否达到特定性能的一个重要环节。但是这些信息是操作系统内部信息,要从操作系统中获取,而Java却不能获取到操作系统的信息。所以,若想使用Java获取到这些信息,就需要通过使用其他技术手段来获取,最为简便以及有效的就是在底层通过C语言与操作系统交互,把获取到的数据通过JNI(Java Native Interface , Java 本机接口)传输给Java,从而使Java应用可以获取到本机CPU和内存的占用率。
发明内容
根据Java标准的可移植能力,是无法获取到本机CPU和内存的占用率这些操作系统中的信息的。选择使用JNI,在底层通过C语言与操作系统交互,把获取到的数据通过JNI(Java Native Interface , Java 本机接口)传输给Java,便能使Java应用可以获取到本机CPU和内存的占用率。
具体步骤如下:
步骤1:定义Java接口。一个参数对应一个接口。
步骤2:生成JNI头文件。使用Javah程序生成JNI头文件。
步骤3:添加头文件与库文件。添加所需头文件与库文件。
步骤4:代码实现。编写代码实现对系统数据的获取。编译成功后将会产生与项目名称相同的dll文件。
步骤5:引入实现包。使用Java引入上一步生成的dll文件。
步骤6:调用Java接口,获取所得系统数据。
具体实施方式
实施例一
1.使用Myeclips 8.6开发平台进行开发设计,使用专业数据库软件MySql进行数据管理。
2.定义两个Java接口,分别获取CPU占用率和内存占用率。
3.生成JNI头文件。打开命令行,使用javah程序(%JAVA_HOME%/bin/javah)生成JNI头文件。javah -classpath ./bin com.getCpu.jni.SysInfo。这将会在目录下生成一个com.getCpu.jni.SysInfo.h的头文件。
4. 添加头文件与库文件。 添加上一步生成的JNI头文件,以及jvm.lib等所需库文件。
5.通过C语言代码分别实现获取系统CPU占用率和内存占用率。
6.通过调用Java接口获取到所取得的系统数据信息。
除上述实施例外,本发明还可以有其他实施方式。凡采用等同替换或等效变换形成的技术方案,均落在本发明要求的保护范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于镇江金软计算机科技有限责任公司,未经镇江金软计算机科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310402356.3/2.html,转载请声明来源钻瓜专利网。