java获取电脑配置_使用Java获取cao作系统和硬件信息

距离上一次写博客已经过去2个半的月份了,也是工作忙,也是懒,也是在积攒文章吧,反正就是许久没有写了,本次分享一个用Java获取cao作系统和硬件信息的组件,在十一假期之前就准备分享的,然这些详细的参数实在是较多,本文的重点是将这些参数详细罗列出来,给出个人对参数的理解和尴尬的翻译结果,轻点喷。

本站对于博客的2.0的实现期待较高,所以在后台的管理主页面也计划将服务器的一些参数给读取显示出来,它们不仅限于Jdk与Web容器的参数,同时还要包括cao作系统自身的一些硬件参数,此为背景。

围绕这一大背景还是网罗相关的实现,其中Sigar与oshi的实现看起来比较给力,但前者需要依赖不同cao作系统的动态链接库文件实现,功能强大与否暂且不表,在我这里的背景下肯定是要考虑采用oshi的实现了,它的在实现上跨平台,每个参数都根据不同的cao作系统进行了实现,对于一些常用的参数,我们不需要调用系统底层接口,oshi是Java的免费基于JNA的(本机)cao作系统和硬件信息库。它不需要安装任何其他本机库,并且旨在提供一种跨平台的实现来检索系统信息,例如cao作系统版本,进程,内存和CPU使用率,磁盘和分区,设备,传感器等,下文中所有的描述均是围绕oshi。

支持平台Windows•Linux•Mac OS X•Unix(Solaris,FreeBSD)

支持的功能计算机系统和固件,底板

cao作系统和版本/内部版本

物理(核心)和逻辑(超线程)CPU

系统和每个处理器的负载百分比和滴答计数器

CPU正常运行时间,进程和线程

进程正常运行时间,CPU,内存使用率

已使用/可用的物理和虚拟内存

挂载的文件系统(类型,可用空间和总空间)

磁盘驱动器(型号,序列号,大小)和分区

网络接口(IP,带宽输入/输出)

电池状态(电量百分比,剩余时间)

连接的显示器(带有EDID信息)

USB设备

传感器(温度,风扇速度,电压)

整理参数详细(operatingSystemcao作系统、hardware主板),整理太耗时间了,其实有用的就那么几个,然后算是你能看到的所有相关文章中整理的参数最完整的了吧

operatingSystem

bitness电脑位数

elevated是否管理员权限

family家庭版

manufacturer制造商

processCount进程数量

processId      进程ID

systemBootTime   系统启动时间(感觉不准)

systemUptime系统运行时间  (感觉不准,任务管理器处CPU那里有正常运行时间)

threadCount线程数量

version      版本

buildNumber 17763

codeName家庭版/标准版/旗舰版

version版本号

networkParams网络参数

dnsServers[0]dns服务器

[0]192.168.1.1

domainName计算机域名

hostName计算机名

ipv4DefaultGateway IP4默认网关

ipv6DefaultGateway IP6默认网关

fileSystem文件系统

maxFileDescriptors最大文件描述符

openFileDescriptors打开文件描述符

fileStores[ ]文件存储,含本地磁盘与可移动磁盘

[description]  磁盘驱动器描述:本地驱动器、可移动启动器(插入的U盘)

[freeInodes]  磁盘驱动器上的可用/空闲索引节点

[freeSpace]   磁盘驱动器上的可用空间,硬盘可用大小,如“1.34G”

[logicalVolume]  文件系统的逻辑卷

[mount]   盘符号,如:“C:\”

[name]    盘符名称,如:“本地固定磁盘 (C:)”

[totalInodes]   文件系统的整数的最大/最大数目

[totalSpace]  磁盘总大小,如 5.20G

[type]      磁盘类型,NTFS 与 FAT32

[uUID]     磁盘唯一标识,每次获取都一样

[usableSpace]   驱动器上的可用空间

[volume]   文件系统卷

hardware

computerSystem   计算机系统

baseboard   电脑主板

manufacturer  主板生产商

model主板模型

serialNumber   主板序列号

version主板版本

firmware   电脑固件

description  固件描述

manufacturer   固件生产商

name固件名称

releaseDate发布日期

version版本号

manufacturer  电脑生产商

model模型

serialNumber序列化

diskStores[]磁盘存储

currentQueueLength要设置的磁盘队列的长度

model磁盘模型:“SAMSUNG MZVLB256HAHQ-00000 (标准磁盘驱动器)”、“General USB Flash Disk USB Device (标准磁盘驱动器)”

name名称

partitions[] 分区

[identification]磁盘 #0,分区 #1

[major]重要的

[minor]磁盘编号

[mountPoint]盘符

[name]名称

[size]磁盘大小

[type]磁盘类型:“GPT: 系统”、“GPT: 基本数据”

[uuid]磁盘唯一编号

readBytes读取的字节数

reads读

serial串行

size磁盘大小

timeStamp时间戳

transferTime读取或写入设置所用的毫秒数

writeBytes写入的字节数

writes写

displays[]

[0]

edid  监视器等的显示对象的数组

memory内存信息

available可用内存

pageSize 每页显示大小

total内存总大小

virtualMemory虚拟内存信息

swapPagesIn从分页/交换文件读取以解决硬页错误的页数

swapPagesOut写入分页/交换文件以释放物理内存空间的页数

swapTotal分页/交换文件的当前大小

swapUsed提交到分页/交换文件的当前内存

networkIFs[] 网卡设备

[0]

bytesRecv字节接收

bytesSent字节发送

displayName显示名称(网卡、蓝牙、USB设备)

iPv4addr[]

[0]ip4地址

iPv6addr[]

[0]ip6地址

inErrors输入错误数

mTU

macaddrmac地址

name网卡名称,按编号显示

outErrors输出错误数

packetsRecv数据包接收

packetsSent数据包发送

speed速度,千兆/百兆

timeStamp时间戳

powerSources[]  电源

[0]

name系统电池名称

remainingCapacity剩余电量

timeRemaining剩余时间(单位秒,如2小时30分钟,则对应的值为:2.50)

processor 处理器

contextSwitches上下文切换

cpu64bitCPU是否64位

currentFreq[]当前频率

[0]8核cpu

family家庭

identifier标志符

interrupts中断数

logicalProcessorCount处理器个数

logicalProcessors[]逻辑处理器

[0]

numaNode节点

physicalPackageNumber实际包装号

physicalProcessorNumber物理处理器号

processorGroup处理器组

processorNumber处理器编号

maxFreq最大频率

model模型

name处理器名称

physicalPackageCount物理包个数

physicalProcessorCount物理处理器个数

processorCpuLoadTicks[]处理器CPU负载信号

[] 8个数组元素,每个元素8个数组值

processorID处理器ID

stepping踏步

systemCpuLoadTicks[]系统CPU负载信号

[] 8个数组元素值

vendor供应商

vendorFreq供应商频率

sensors  传感器

cpuTemperaturecpu温度(0.0)

cpuVoltagecpu电压(0.0)

fanSpeeds  []风扇转速([])

soundCards[]  声卡

[0]

codec音频名称编码

driverVersion驱动版本

name音频名称

参考代码

com.github.oshioshi-core4.0.0@Testpublic voidtestSystem(){

System.out.println(SystemInfo.getCurrentPlatformEnum());

SystemInfo systemInfo =newSystemInfo();

System.out.println(JSONObject.toJSONString(systemInfo ,true));

}

输出结果

你可能感兴趣的:(java获取电脑配置)