Java访问操作系统资源
来源:互联网 发布:日本人学汉语 知乎 编辑:程序博客网 时间:2024/06/05 18:24
这类问题常常会被人问题, 如何用Java实现下面的功能?
1. 需要做一个应用模块, 用来监控CPU的占有率.
2. 想获得磁盘空间的大小.
3. 当前系统连接请求
4. 系统进程状态
5. 写一个Java程序, 后台运行, 产生类似金山词霸的鼠标抓取单词功能
...
上述问题的共同点是: 涉及到底层资源, 如CPU, 磁盘空间, 请求状态, 进程状态, 对于底层资源而言, 根据操作系统不同, 会存在不同的描述, 而Java作为一个跨平台的语言, 不会提供直接面对这些底层资源的操作(当然它可以实现, 如文件访问), 为了更好的跨平台, Java并没有为这些资源的访问, 提供API.
那么如何获得底层资源[1~4]所描述的问题, 获取其它进程的状态[第五个问题]呢?
对Java而言, 可以通过两种方式实现:
1. JNI, 可以解决问题5, 实质是通过Java启动一个后台服务, 这个服务能获取当前的鼠标靠近的单词. 本质实质就是一个平台相关的C程序.
2. 调用命令行接口, 从标准输入输出流中得到返回结果, 然后对这个数据流进行分析即可, 具体做法如下:
然后便可以得到需要的内容了, 比如系统的资源可以用systeminfo命令获取.分析文本可以采用正则表达式, 也容易搞定这个问题。
Java对跨进程的处理, 往往非常弱小, 进程之间的交互能力不强。 弱小的原因就是跨平台带来的牺牲, 如果跨平台需要解决操作系统的底层问题, 用Java的优势会明显减弱。 如果带来更大的问题, 建议放弃Java, 采用本地代码实现。
- Java访问操作系统资源
- java访问资源文件
- java访问资源文件
- java访问资源文件
- java访问资源文件
- java访问资源文件
- java访问资源文件
- java访问资源文件
- java访问资源文件
- java访问资源文件Properties
- java访问资源文件 .properties
- java 访问不同资源方式
- java访问 HDFS文件资源
- Java资源目录访问一目了然
- JAVA通过代理访问外部资源
- java-资源的表示和访问
- Java Web中资源的访问路径
- java web 静态资源访问配置
- VirtualBox的网络配置ubuntu
- C#后台调用前台javascript的五种方法
- 客户端使用COM组件(整理个人学习思路)
- 服务器控件生命周期简介
- Linux学习笔记之一
- Java访问操作系统资源
- JDK1.6下载及JDK安装与配置
- 无聊
- 乱了阵脚,巴西队输了
- [轉貼] 华中科技大学校长李培根在2010届毕业典礼上的演讲全文
- 【STM32 .Net MF开发板学习-04】TinyGUI位图显示
- 添加删除组件里没有IIS怎么办?我来教你怎么做!
- FAQ_SQL Server 2005数据库邮件配置
- WINDOWS平台下使用ACE框架的异步串口操作