- 浏览: 438234 次
- 性别:
- 来自: 杭州
-
文章分类
- 全部博客 (269)
- 原创 (7)
- Java (51)
- Java Concurrency (2)
- IDE (16)
- Linux (46)
- Database (23)
- NoSQL (35)
- Web服务器 (23)
- Log日志 (11)
- HTTP (11)
- HTML (2)
- XML (1)
- Test (7)
- Mina (0)
- Amoeba (4)
- Cobar (1)
- 序列化 (2)
- Python (5)
- PHP (1)
- Socket通信 (1)
- Network (3)
- Struts (2)
- Web前端 (10)
- Maven (6)
- SVN (15)
- Json (1)
- XMPP (2)
- Go (1)
- Other (4)
- 未整理 (5)
最新评论
-
u012374672:
[color=darkred][/color][flash=2 ...
Mongo的ORM框架的学习Morphia(annotations) -
b_l_east:
很有问题啊
利用redis的transaction功能,实现分布式下加锁
通过使用第三方开源jar包sigar.jar我们可以获得本地的信息
1.下载sigar.jar
2.按照主页上的说明解压包后将相应的文件copy到java路径。比如windows32位操作系统需要将lib中sigar-x86-winnt.dll文件拷贝到java SDK目录的bin内
参考官方主页上的配置项。
sigar.jar | Java | Java API | Yes (for Java only) |
log4j.jar | Java | Java logging API | No |
libsigar-x86-linux.so | C | Linux AMD/Intel 32-bit | * |
libsigar-amd64-linux.so | C | Linux AMD/Intel 64-bit | * |
libsigar-ppc-linux.so | C | Linux PowerPC 32-bit | * |
libsigar-ppc64-linux.so | C | Linux PowerPC 64-bit | * |
libsigar-ia64-linux.so | C | Linux Itanium 64-bit | * |
libsigar-s390x-linux.so | C | Linux zSeries 64-bit | * |
sigar-x86-winnt.dll | C | Windows AMD/Intel 32-bit | * |
sigar-amd64-winnt.dll | C | Windows AMD/Intel 64-bit | * |
libsigar-ppc-aix-5.so | C | AIX PowerPC 32-bit | * |
libsigar-ppc64-aix-5.so | C | AIX PowerPC 64-bit | * |
libsigar-pa-hpux-11.sl | C | HP-UX PA-RISC 32-bit | * |
libsigar-ia64-hpux-11.sl | C | HP-UX Itanium 64-bt | * |
libsigar-sparc-solaris.so | C | Solaris Sparc 32-bit | * |
libsigar-sparc64-solaris.so | C | Solaris Sparc 64-bit | * |
libsigar-x86-solaris.so | C | Solaris AMD/Intel 32-bit | * |
libsigar-amd64-solaris.so | C | Solaris AMD/Intel 64-bit | * |
libsigar-universal-macosx.dylib | C | Mac OS X PowerPC/Intel 32-bit | * |
libsigar-universal64-macosx.dylib | C | Mac OS X PowerPC/Intel 64-bit | * |
libsigar-x86-freebsd-5.so | C | FreeBSD 5.x AMD/Intel 32-bit | * |
libsigar-x86-freebsd-6.so | C | FreeBSD 6.x AMD/Intel 64-bit | * |
libsigar-amd64-freebsd-6.so | C | FreeBSD 6.x AMD/Intel 64-bit | * |
3. 代码实现
示例java项目下载地址:http://download.csdn.net/detail/jifeng3518/4305325
import java.net.UnknownHostException;
import java.util.Map;
import java.util.Properties;
import org.hyperic.sigar.CpuInfo;
import org.hyperic.sigar.CpuPerc;
import org.hyperic.sigar.FileSystem;
import org.hyperic.sigar.FileSystemUsage;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.NetFlags;
import org.hyperic.sigar.NetInterfaceConfig;
import org.hyperic.sigar.NetInterfaceStat;
import org.hyperic.sigar.OperatingSystem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
import org.hyperic.sigar.Swap;
import org.hyperic.sigar.Who;
public class RuntimeTest {
public static void main(String[] args) {
try {
// System信息,从jvm获取
property();
System.out.println("----------------------------------");
// cpu信息
cpu();
System.out.println("----------------------------------");
// 内存信息
memory();
System.out.println("----------------------------------");
// 操作系统信息
os();
System.out.println("----------------------------------");
// 用户信息
who();
System.out.println("----------------------------------");
// 文件系统信息
file();
System.out.println("----------------------------------");
// 网络信息
net();
System.out.println("----------------------------------");
// 以太网信息
ethernet();
System.out.println("----------------------------------");
} catch (Exception e1) {
e1.printStackTrace();
}
}
private static void property() throws UnknownHostException {
Runtime r = Runtime.getRuntime();
Properties props = System.getProperties();
InetAddress addr;
addr = InetAddress.getLocalHost();
String ip = addr.getHostAddress();
Map<String, String> map = System.getenv();
String userName = map.get("USERNAME");// 获取用户名
String computerName = map.get("COMPUTERNAME");// 获取计算机名
String userDomain = map.get("USERDOMAIN");// 获取计算机域名
System.out.println("用户名: " + userName);
System.out.println("计算机名: " + computerName);
System.out.println("计算机域名: " + userDomain);
System.out.println("本地ip地址: " + ip);
System.out.println("本地主机名: " + addr.getHostName());
System.out.println("JVM可以使用的总内存: " + r.totalMemory());
System.out.println("JVM可以使用的剩余内存: " + r.freeMemory());
System.out.println("JVM可以使用的处理器个数: " + r.availableProcessors());
System.out.println("Java的运行环境版本: " + props.getProperty("java.version"));
System.out.println("Java的运行环境供应商: " + props.getProperty("java.vendor"));
System.out.println("Java供应商的URL: " + props.getProperty("java.vendor.url"));
System.out.println("Java的安装路径: " + props.getProperty("java.home"));
System.out.println("Java的虚拟机规范版本: " + props.getProperty("java.vm.specification.version"));
System.out.println("Java的虚拟机规范供应商: " + props.getProperty("java.vm.specification.vendor"));
System.out.println("Java的虚拟机规范名称: " + props.getProperty("java.vm.specification.name"));
System.out.println("Java的虚拟机实现版本: " + props.getProperty("java.vm.version"));
System.out.println("Java的虚拟机实现供应商: " + props.getProperty("java.vm.vendor"));
System.out.println("Java的虚拟机实现名称: " + props.getProperty("java.vm.name"));
System.out.println("Java运行时环境规范版本: " + props.getProperty("java.specification.version"));
System.out.println("Java运行时环境规范供应商: " + props.getProperty("java.specification.vender"));
System.out.println("Java运行时环境规范名称: " + props.getProperty("java.specification.name"));
System.out.println("Java的类格式版本号: " + props.getProperty("java.class.version"));
System.out.println("Java的类路径: " + props.getProperty("java.class.path"));
System.out.println("加载库时搜索的路径列表: " + props.getProperty("java.library.path"));
System.out.println("默认的临时文件路径: " + props.getProperty("java.io.tmpdir"));
System.out.println("一个或多个扩展目录的路径: " + props.getProperty("java.ext.dirs"));
System.out.println("操作系统的名称: " + props.getProperty("os.name"));
System.out.println("操作系统的构架: " + props.getProperty("os.arch"));
System.out.println("操作系统的版本: " + props.getProperty("os.version"));
System.out.println("文件分隔符: " + props.getProperty("file.separator"));
System.out.println("路径分隔符: " + props.getProperty("path.separator"));
System.out.println("行分隔符: " + props.getProperty("line.separator"));
System.out.println("用户的账户名称: " + props.getProperty("user.name"));
System.out.println("用户的主目录: " + props.getProperty("user.home"));
System.out.println("用户的当前工作目录: " + props.getProperty("user.dir"));
}
private static void memory() throws SigarException {
Sigar sigar = new Sigar();
Mem mem = sigar.getMem();
// 内存总量
System.out.println("内存总量: " + mem.getTotal() / 1024L + "K av");
// 当前内存使用量
System.out.println("当前内存使用量: " + mem.getUsed() / 1024L + "K used");
// 当前内存剩余量
System.out.println("当前内存剩余量: " + mem.getFree() / 1024L + "K free");
Swap swap = sigar.getSwap();
// 交换区总量
System.out.println("交换区总量: " + swap.getTotal() / 1024L + "K av");
// 当前交换区使用量
System.out.println("当前交换区使用量: " + swap.getUsed() / 1024L + "K used");
// 当前交换区剩余量
System.out.println("当前交换区剩余量: " + swap.getFree() / 1024L + "K free");
}
private static void cpu() throws SigarException {
Sigar sigar = new Sigar();
CpuInfo infos[] = sigar.getCpuInfoList();
CpuPerc cpuList[] = null ;
cpuList = sigar.getCpuPercList();
for (int i = 0; i < infos.length; i++) {// 不管是单块CPU还是多CPU都适用
CpuInfo info = infos[i];
System.out.println("第" + (i + 1) + "块CPU信息");
System.out.println("CPU的总量MHz: " + info.getMhz());// CPU的总量MHz
System.out.println("CPU生产商: " + info.getVendor());// 获得CPU的卖主,如:Intel
System.out.println("CPU类别: " + info.getModel());// 获得CPU的类别,如:Celeron
System.out.println("CPU缓存数量: " + info.getCacheSize());// 缓冲存储器数量
printCpuPerc(cpuList[i]);
}
}
private static void printCpuPerc(CpuPerc cpu) {
System.out.println("CPU用户使用率: " + CpuPerc.format(cpu.getUser()));// 用户使用率
System.out.println("CPU系统使用率: " + CpuPerc.format(cpu.getSys()));// 系统使用率
System.out.println("CPU当前等待率: " + CpuPerc.format(cpu.getWait()));// 当前等待率
System.out.println("CPU当前错误率: " + CpuPerc.format(cpu.getNice()));//
System.out.println("CPU当前空闲率: " + CpuPerc.format(cpu.getIdle()));// 当前空闲率
System.out.println("CPU总的使用率: " + CpuPerc.format(cpu.getCombined()));// 总的使用率
}
private static void os() {
OperatingSystem OS = OperatingSystem.getInstance();
// 操作系统内核类型如: 386、486、586等x86
System.out.println("操作系统: " + OS.getArch());
System.out.println("操作系统CpuEndian(): " + OS.getCpuEndian());//
System.out.println("操作系统DataModel(): " + OS.getDataModel());//
// 系统描述
System.out.println("操作系统的描述: " + OS.getDescription());
// 操作系统类型
// System.out.println("OS.getName(): " + OS.getName());
// System.out.println("OS.getPatchLevel(): " + OS.getPatchLevel()); //
// 操作系统的卖主
System.out.println("操作系统的卖主: " + OS.getVendor());
// 卖主名称
System.out.println("操作系统的卖主名: " + OS.getVendorCodeName());
// 操作系统名称
System.out.println("操作系统名称: " + OS.getVendorName());
// 操作系统卖主类型
System.out.println("操作系统卖主类型: " + OS.getVendorVersion());
// 操作系统的版本号
System.out.println("操作系统的版本号: " + OS.getVersion());
}
private static void who() throws SigarException {
Sigar sigar = new Sigar();
Who who[] = sigar.getWhoList();
if (who != null && who.length > 0) {
for (int i = 0; i < who.length; i++) {
// System.out.println("当前系统进程表中的用户名" + String.valueOf(i));
Who _who = who[i];
System.out.println("用户控制台: " + _who.getDevice());
System.out.println("用户host: " + _who.getHost());
// System.out.println("getTime(): " + _who.getTime());
// 当前系统进程表中的用户名
System.out.println("当前系统进程表中的用户名: " + _who.getUser());
}
}
}
private static void file() throws Exception {
Sigar sigar = new Sigar();
FileSystem fslist[] = sigar.getFileSystemList();
for (int i = 0; i < fslist.length; i++) {
System.out.println("分区的盘符名称" + i);
FileSystem fs = fslist[i];
// 分区的盘符名称
System.out.println("盘符名称: " + fs.getDevName());
// 分区的盘符名称
System.out.println("盘符路径: " + fs.getDirName());
System.out.println("盘符标志: " + fs.getFlags());//
// 文件系统类型,比如 FAT32、NTFS
System.out.println("盘符类型: " + fs.getSysTypeName());
// 文件系统类型名,比如本地硬盘、光驱、网络文件系统等
System.out.println("盘符类型名: " + fs.getTypeName());
// 文件系统类型
System.out.println("盘符文件系统类型: " + fs.getType());
FileSystemUsage usage = null ;
usage = sigar.getFileSystemUsage(fs.getDirName());
switch (fs.getType()) {
case 0: // TYPE_UNKNOWN :未知
break ;
case 1: // TYPE_NONE
break ;
case 2: // TYPE_LOCAL_DISK : 本地硬盘
// 文件系统总大小
System.out.println(fs.getDevName() + "总大小: " + usage.getTotal() + "KB");
// 文件系统剩余大小
System.out.println(fs.getDevName() + "剩余大小: " + usage.getFree() + "KB");
// 文件系统可用大小
System.out.println(fs.getDevName() + "可用大小: " + usage.getAvail() + "KB");
// 文件系统已经使用量
System.out.println(fs.getDevName() + "已经使用量: " + usage.getUsed() + "KB");
double usePercent = usage.getUsePercent() * 100D;
// 文件系统资源的利用率
System.out.println(fs.getDevName() + "资源的利用率: " + usePercent + "%");
break ;
case 3:// TYPE_NETWORK :网络
break ;
case 4:// TYPE_RAM_DISK :闪存
break ;
case 5:// TYPE_CDROM :光驱
break ;
case 6:// TYPE_SWAP :页面交换
break ;
}
System.out.println(fs.getDevName() + "读出: " + usage.getDiskReads());
System.out.println(fs.getDevName() + "写入: " + usage.getDiskWrites());
}
return ;
}
private static void net() throws Exception {
Sigar sigar = new Sigar();
String ifNames[] = sigar.getNetInterfaceList();
for (int i = 0; i < ifNames.length; i++) {
String name = ifNames[i];
NetInterfaceConfig ifconfig = sigar.getNetInterfaceConfig(name);
System.out.println("网络设备名: " + name);// 网络设备名
System.out.println("IP地址: " + ifconfig.getAddress());// IP地址
System.out.println("子网掩码: " + ifconfig.getNetmask());// 子网掩码
if ((ifconfig.getFlags() & 1L) <= 0L) {
System.out.println("!IFF_UP...skipping getNetInterfaceStat");
continue ;
}
NetInterfaceStat ifstat = sigar.getNetInterfaceStat(name);
System.out.println(name + "接收的总包裹数:" + ifstat.getRxPackets());// 接收的总包裹数
System.out.println(name + "发送的总包裹数:" + ifstat.getTxPackets());// 发送的总包裹数
System.out.println(name + "接收到的总字节数:" + ifstat.getRxBytes());// 接收到的总字节数
System.out.println(name + "发送的总字节数:" + ifstat.getTxBytes());// 发送的总字节数
System.out.println(name + "接收到的错误包数:" + ifstat.getRxErrors());// 接收到的错误包数
System.out.println(name + "发送数据包时的错误数:" + ifstat.getTxErrors());// 发送数据包时的错误数
System.out.println(name + "接收时丢弃的包数:" + ifstat.getRxDropped());// 接收时丢弃的包数
System.out.println(name + "发送时丢弃的包数:" + ifstat.getTxDropped());// 发送时丢弃的包数
}
}
private static void ethernet() throws SigarException {
Sigar sigar = null ;
sigar = new Sigar();
String[] ifaces = sigar.getNetInterfaceList();
for (int i = 0; i < ifaces.length; i++) {
NetInterfaceConfig cfg = sigar.getNetInterfaceConfig(ifaces[i]);
if (NetFlags.LOOPBACK_ADDRESS.equals(cfg.getAddress()) || (cfg.getFlags() & NetFlags.IFF_LOOPBACK) != 0
|| NetFlags.NULL_HWADDR.equals(cfg.getHwaddr())) {
continue ;
}
System.out.println(cfg.getName() + "IP地址:" + cfg.getAddress());// IP地址
System.out.println(cfg.getName() + "网关广播地址:" + cfg.getBroadcast());// 网关广播地址
System.out.println(cfg.getName() + "网卡MAC地址:" + cfg.getHwaddr());// 网卡MAC地址
System.out.println(cfg.getName() + "子网掩码:" + cfg.getNetmask());// 子网掩码
System.out.println(cfg.getName() + "网卡描述信息:" + cfg.getDescription());// 网卡描述信息
System.out.println(cfg.getName() + "网卡类型" + cfg.getType());//
}
}
}
运行结果:
用户名: Administrator
用户的账户名称: Administrator
计算机名: UCIT_JIF
计算机域名: UCIT_JIF
本地ip地址: 192.168.2.153
本地主机名: UCIT_Jif
JVM可以使用的总内存: 16252928
JVM可以使用的剩余内存: 15866248
JVM可以使用的处理器个数: 2
Java的运行环境版本: 1.6.0_18
Java的运行环境供应商: Sun Microsystems Inc.
Java供应商的URL:
http://java.sun.com/
Java的安装路径: C:\java\jre6
Java的虚拟机规范版本: 1.0
Java的虚拟机规范供应商: Sun Microsystems Inc.
Java的虚拟机规范名称: Java Virtual Machine Specification
Java的虚拟机实现版本: 16.0-b13
Java的虚拟机实现供应商: Sun Microsystems Inc.
Java的虚拟机实现名称: Java HotSpot(TM) Client VM
Java运行时环境规范版本: 1.6
Java运行时环境规范供应商: null
Java运行时环境规范名称: Java Platform API Specification
Java的类格式版本号: 50.0
Java的类路径: D:\eclipse3.6\eclipse\workspace\sigar\bin;D:\eclipse3.6\eclipse\workspace\sigar\lib\sigar.jar;D:\eclipse3.6\eclipse\workspace\sigar\lib\.sigar_shellrc;D:\eclipse3.6\eclipse\workspace\sigar\lib\sigar-x86-winnt.dll;D:\eclipse3.6\eclipse\workspace\sigar\lib\sigar-x86-winnt.lib;D:\eclipse3.6\eclipse\workspace\sigar\lib\libsigar-x86-linux.so
加载库时搜索的路径列表: C:\java\jre6\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\NVIDIA Corporation\PhysX\Common;C:\PHP\;D:\oracle\product\10.2.0\client_2\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\java\jdk1.6.0_18\bin;C:\Program Files\TortoiseSVN\bin;C:\Progra~1\GnuWin32\bin;C:\Program Files\goodvpn\bin;D:\Program Files\PowerCmd;C:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Common Files\Adobe\AGL;C:\apache-ant-1.8.2\bin;D:\Program Files\Rational\common;C:\Program Files\StormII\Codec;C:\Program Files\StormII;C:\Program Files\SSH Communications Security\SSH Secure Shell;;;C:\Program Files\OpenVPN\bin;C:\Program Files\OpenVPN64\bin
默认的临时文件路径: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\
一个或多个扩展目录的路径: C:\java\jre6\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
操作系统的名称: Windows XP
操作系统的构架: x86
操作系统的版本: 5.1
文件分隔符: \
路径分隔符: ;
行分隔符:
用户的主目录: C:\Documents and Settings\Administrator
用户的当前工作目录: D:\eclipse3.6\eclipse\workspace\sigar
----------------------------------
第1块CPU信息
CPU的总量MHz: 3015
CPU生产商: AMD
CPU类别: Athlon
CPU缓存数量: -1
CPU用户使用率: 3.1%
CPU系统使用率: 9.3%
CPU当前等待率: 0.0%
CPU当前错误率: 0.0%
CPU当前空闲率: 87.4%
CPU总的使用率: 12.5%
第2块CPU信息
CPU的总量MHz: 3015
CPU生产商: AMD
CPU类别: Athlon
CPU缓存数量: -1
CPU用户使用率: 0.0%
CPU系统使用率: 3.2%
CPU当前等待率: 0.0%
CPU当前错误率: 0.0%
CPU当前空闲率: 96.8%
CPU总的使用率: 3.2%
----------------------------------
内存总量: 3275880K av
当前内存使用量: 1698960K used
当前内存剩余量: 1576920K free
交换区总量: 5206208K av
当前交换区使用量: 2062372K used
当前交换区剩余量: 3143836K free
----------------------------------
操作系统: x86
操作系统CpuEndian(): little
操作系统DataModel(): 32
操作系统的描述: Microsoft Windows XP
操作系统的卖主: Microsoft
操作系统的卖主名: Whistler
操作系统名称: Windows XP
操作系统卖主类型: XP
操作系统的版本号: 5.1
----------------------------------
用户控制台: console
用户host: NT AUTHORITY
当前系统进程表中的用户名: LOCAL SERVICE
用户控制台: console
用户host: NT AUTHORITY
当前系统进程表中的用户名: NETWORK SERVICE
用户控制台: Console
用户host: UCIT_JIF
当前系统进程表中的用户名: Administrator
用户控制台: console
用户host: NT AUTHORITY
当前系统进程表中的用户名: SYSTEM
----------------------------------
分区的盘符名称0
盘符名称: C:\
盘符路径: C:\
盘符标志: 0
盘符类型: FAT32
盘符类型名: local
盘符文件系统类型: 2
C:\总大小: 47159808KB
C:\剩余大小: 9771792KB
C:\可用大小: 9771792KB
C:\已经使用量: 37388016KB
C:\资源的利用率: 80.0%
C:\读出: 45669
C:\写入: 43176
分区的盘符名称1
盘符名称: D:\
盘符路径: D:\
盘符标志: 0
盘符类型: NTFS
盘符类型名: local
盘符文件系统类型: 2
D:\总大小: 133186848KB
D:\剩余大小: 65896436KB
D:\可用大小: 65896436KB
D:\已经使用量: 67290412KB
D:\资源的利用率: 51.0%
D:\读出: 41299
D:\写入: 40369
分区的盘符名称2
盘符名称: E:\
盘符路径: E:\
盘符标志: 0
盘符类型: NTFS
盘符类型名: local
盘符文件系统类型: 2
E:\总大小: 154151672KB
E:\剩余大小: 82892352KB
E:\可用大小: 82892352KB
E:\已经使用量: 71259320KB
E:\资源的利用率: 47.0%
E:\读出: 21383
E:\写入: 728
分区的盘符名称3
盘符名称: F:\
盘符路径: F:\
盘符标志: 0
盘符类型: NTFS
盘符类型名: local
盘符文件系统类型: 2
F:\总大小: 153862504KB
F:\剩余大小: 33843680KB
F:\可用大小: 33843680KB
F:\已经使用量: 120018824KB
F:\资源的利用率: 79.0%
F:\读出: 14
F:\写入: 24
----------------------------------
网络设备名: eth0
IP地址: 0.0.0.0
子网掩码: 0.0.0.0
!IFF_UP...skipping getNetInterfaceStat
网络设备名: eth1
IP地址: 0.0.0.0
子网掩码: 0.0.0.0
!IFF_UP...skipping getNetInterfaceStat
网络设备名: eth2
IP地址: 192.168.2.153
子网掩码: 255.255.255.0
eth2接收的总包裹数:105678
eth2发送的总包裹数:21919
eth2接收到的总字节数:24269582
eth2发送的总字节数:8721544
eth2接收到的错误包数:0
eth2发送数据包时的错误数:0
eth2接收时丢弃的包数:0
eth2发送时丢弃的包数:0
网络设备名: eth3
IP地址: 192.168.184.1
子网掩码: 255.255.255.0
eth3接收的总包裹数:144
eth3发送的总包裹数:146
eth3接收到的总字节数:16861
eth3发送的总字节数:16969
eth3接收到的错误包数:0
eth3发送数据包时的错误数:0
eth3接收时丢弃的包数:0
eth3发送时丢弃的包数:0
网络设备名: eth4
IP地址: 192.168.92.1
子网掩码: 255.255.255.0
eth4接收的总包裹数:144
eth4发送的总包裹数:146
eth4接收到的总字节数:16861
eth4发送的总字节数:16969
eth4接收到的错误包数:0
eth4发送数据包时的错误数:0
eth4接收时丢弃的包数:0
eth4发送时丢弃的包数:0
网络设备名: lo0
IP地址: 127.0.0.1
子网掩码: 255.0.0.0
lo0接收的总包裹数:94004
lo0发送的总包裹数:94004
lo0接收到的总字节数:15416919
lo0发送的总字节数:15416919
lo0接收到的错误包数:0
lo0发送数据包时的错误数:0
lo0接收时丢弃的包数:0
lo0发送时丢弃的包数:0
----------------------------------
eth0IP地址:0.0.0.0
eth0网关广播地址:255.255.255.255
eth0网卡MAC地址:00:FF:79:6B:AF:45
eth0子网掩码:0.0.0.0
eth0网卡描述信息:TAP-Win32 Adapter V8 #3 - ????ü??????ò?
eth0网卡类型Ethernet
eth1IP地址:0.0.0.0
eth1网关广播地址:255.255.255.255
eth1网卡MAC地址:00:FF:C9:53:0A:58
eth1子网掩码:0.0.0.0
eth1网卡描述信息:TAP-Win32 Adapter V8 #2 - ????ü??????ò?
eth1网卡类型Ethernet
eth2IP地址:192.168.2.153
eth2网关广播地址:192.168.2.255
eth2网卡MAC地址:00:21:86:4D:23:26
eth2子网掩码:255.255.255.0
eth2网卡描述信息:NVIDIA nForce Networking Controller - ????ü??????ò?
eth2网卡类型Ethernet
eth3IP地址:192.168.184.1
eth3网关广播地址:192.168.184.255
eth3网卡MAC地址:00:50:56:C0:00:01
eth3子网掩码:255.255.255.0
eth3网卡描述信息:VMware Virtual Ethernet Adapter for VMnet1
eth3网卡类型Ethernet
eth4IP地址:192.168.92.1
eth4网关广播地址:192.168.92.255
eth4网卡MAC地址:00:50:56:C0:00:08
eth4子网掩码:255.255.255.0
eth4网卡描述信息:VMware Virtual Ethernet Adapter for VMnet8
eth4网卡类型Ethernet
发表评论
-
MyBatis-generator使用,为Example添加分页
2017-11-01 16:10 5249数据库为MySQL。1. 在Example类里,加入两个变 ... -
使用Spring MVC统一异常处理实战
2017-08-22 14:26 3921 描述 在J2EE项目的开 ... -
日志组件的关系梳理:如何正确使用它们
2017-08-07 14:25 775背景 由于现在开源框架日益丰富,好多开源框架使用的 ... -
Java中“引用”的几种类型
2017-07-18 17:09 656一. 概述: 强引用(S ... -
Spring和Mybatis整合时无法读取properties的处理方案
2016-11-29 11:39 1804config.properties配置文件信息 ... -
Protobuf使用
2016-07-12 11:49 2242ProtoBuf的官方下载包并不包含jar文件,需要用户自 ... -
jmeter读取外部配置文件
2016-06-06 10:30 0配置文件有两类: 一、路径相关配置文件,只需要了解清楚jm ... -
@SuppressWarnings抑制警告的关键字
2016-05-16 15:45 2012关键字 用途 all to suppress a ... -
Apache的DbUtils框架学习
2016-04-01 19:47 832一、commons-dbutils简介 co ... -
Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
2016-03-30 20:13 753互联网的发展,网站 ... -
Java GC 详解
2016-03-30 19:54 7831、基本回收算法 (1) 引用计数(Reference ... -
JVM(Java虚拟机)优化大全和案例实战
2016-03-30 19:53 547堆内存设置 原理 JVM堆内存分为2块:Perman ... -
Spring事务的传播行为和隔离级别
2016-02-20 22:32 961http://blog.csdn.net/paincupi ... -
java中什么是bridge method(桥接方法)
2016-01-31 19:19 632在看spring-mvc的源码的时候,看到在解析handle ... -
@SuppressWarnings的使用、作用、用法
2016-01-06 16:45 1598在java编译过程中会出现很多警告,有很多是安全的,但是每次 ... -
fastjson遇到的无限递归的问题
2015-09-13 18:09 4060fastjson是用反射的,如果在实体类里 ... -
当spring 容器初始化完成后执行某个方法
2015-08-11 14:56 2322在做web项目开发中,尤其是企业级应用开发的时候,往往会在工 ... -
javac命令初窥
2015-07-30 14:05 2046注:以下红色标记的参数在下文中有所讲解。 用法: ja ... -
JDK各版本地址下载
2015-07-17 13:09 14211. 总地址:http://www.oracle.com/ ... -
jdk1.5-1.9新特性
2015-07-17 13:02 18951.51.自动装箱与拆箱:2.枚举(常用来设计单例模式)3. ...
相关推荐
电气自动化仪表工程施工组织设计.doc
内容概要:本文详细介绍了基于C#和VisionPro构建的一个工业视觉通用框架。该框架主要解决了设备开发中的多个痛点,包括但不限于动态界面布局、标定算法、DLL嵌入方案、光源控制和服务端架构等方面。文中提供了大量具体的代码片段,展示了如何利用C#的强大特性和VisionPro丰富的工具链进行高效开发。例如,通过动态布局代码实现了根据相机数量自动调整界面的功能;采用两种旋转标定方法互为验证确保精度;通过接口化设计使得不同类型的光源控制器可以轻松接入;并使用WCF作为通信协议搭建了高性能的服务端架构。 适合人群:从事工业视觉开发的技术人员,尤其是那些需要频繁面对新项目启动阶段重复劳动的人群。 使用场景及目标:本框架适用于各种涉及多相机协作、复杂标定任务以及需要高度定制化的工业视觉项目。其目的是帮助开发者节省大量的前期准备工作,提高开发效率,降低错误率。 其他说明:尽管该框架已经非常成熟,但在实际应用过程中仍需要注意一些潜在的问题,如VisionPro的线程模型与C#异步特性之间的协调、不同品牌光源控制器的兼容性等。此外,作者还提到未来计划增加云端标定数据同步等功能。
2023年计算机信息系统集成项目管理工程师学习笔记.docx
matlab
part3包含2000张图片,全部6000张。 当前道路养护领域面临几个显著挑战: 1. 数据稀缺性:大多数机构缺乏高质量的标注数据集来训练可靠的缺陷检测模型 2. 类别不平衡:现有数据集往往只关注裂缝等常见缺陷,忽视修补区域和井盖等重要类别 本沥青路面缺陷目标检测数据集提供6,000张精心标注的高质量图像,包含6个关键类别:裂缝、裂缝修补、坑洞、坑洞修补、井盖及其他。 数据集介绍: https://mp.csdn.net/mp_blog/creation/success/147170602
2023年自考自动化制造系统数控铣削.doc
2023年计算机等级考试一级笔试试卷.doc
内容概要:本文详细介绍了使用C#和Xamarin开发一款手机组态应用程序,用于通过WiFi实时监控西门子S7-1200 PLC的运行状态。主要内容涵盖PLC通信配置、登录模块的安全措施、数据交互与缓存、异常处理以及报警推送等功能的实现。文中提供了具体的代码示例和技术细节,如使用S7.Net库进行PLC连接、JSON格式缓存PLC状态、SHA256密码哈希、心跳机制维持WiFi连接稳定性和跨线程UI更新等。 适合人群:具有一定编程基础,尤其是熟悉C#和Xamarin框架的研发人员,以及从事工业自动化领域的工程师。 使用场景及目标:适用于希望将工业控制系统集成到移动设备的应用开发者,旨在提高工业现场监控效率,减少维护成本。具体目标包括实现远程监控、提升系统的可靠性和安全性,以及改善用户体验。 其他说明:文中提到多个实用技巧和常见问题解决方案,如WiFi配置、安卓系统权限设置、不同品牌手机的后台服务限制处理等。同时强调了工业无线通信不仅涉及编程技能,还需要掌握一定的网络基础知识。
内容概要:本文详细介绍了基于MATLAB/Simulink构建VIENNA整流器仿真模型的过程,重点探讨了电压电流双环控制策略及其参数调整方法。作者通过反复试验确定了电压外环PI控制器的最佳参数配置,并解决了电流内环滞环控制带来的开关频率和电感啸叫等问题。同时,文中还涉及了坐标变换、锁相环、电容选型等关键技术细节,确保直流母线电压纹波控制在0.5%以内,实现了高效稳定的整流效果。 适合人群:从事电力电子研究的技术人员、高校相关专业师生以及对VIENNA整流器感兴趣的工程师。 使用场景及目标:适用于需要深入了解VIENNA整流器工作原理及其实现方式的研究项目;帮助读者掌握如何利用MATLAB/Simulink进行复杂电力电子系统的建模仿真;提供了一套完整的参数调试思路和技术解决方案。 其他说明:文中不仅提供了详细的数学公式和代码片段,还有丰富的实验数据支持,使得理论与实践紧密结合。此外,作者分享了许多宝贵的实战经验,如抗饱和处理、死区时间设置等,有助于提高读者的实际操作能力。
内容概要:本文详细介绍了基于STM32L073和SX1278的LoRaWAN工业温控器的量产代码设计与实现。主要内容涵盖硬件架构与基础配置、IAP固件升级、温湿度采集与滤波、继电器控制与工况检测、LoRaWAN通信等方面。文中不仅提供了关键代码示例,还分享了许多实战经验和技术难点解决方案,如低功耗优化、抗干扰措施、数据传输可靠性等。 适合人群:嵌入式系统开发者、物联网工程师、工业自动化技术人员。 使用场景及目标:适用于工业环境中需要远程监控和控制温湿度的场合,旨在提高系统的稳定性和可靠性,确保设备能够在恶劣环境下正常运行。 其他说明:文章强调了工业级设备开发过程中需要注意的各种细节,如硬件选型、软件优化、抗干扰设计等,对于从事类似项目的技术人员具有很高的参考价值。
2023年山东电子商务师考试试题答案.doc
2023年农村信用社考试计算机.doc
1. CompletableFuture 简介 2. CompletableFuture 基础操作 3. CompletableFuture 异常处理 4. CompletableFuture 组合操作 5. CompletableFuture 的超时和取消 6. CompletableFuture 线程池管理 7. CompletableFuture 实际应用场景
matlab
MATLAB(Matrix Laboratory)是一种广泛应用于科学计算、工程分析和数据可视化的高级编程语言和开发环境。它以矩阵操作为核心,具有强大的数值计算能力和丰富的工具箱支持。以下是MATLAB基础学习的指南,帮助你快速入门并掌握其核心功能。 --- ### **1. MATLAB 基础概念** - **工作区(Workspace)**:存储变量的地方,所有定义的变量都会显示在这里。 - **命令窗口(Command Window)**:输入命令并即时执行的地方。 - **脚本文件(Script File)**:包含一系列MATLAB命令的`.m`文件,可以重复运行。 - **函数文件(Function File)**:定义自定义函数的`.m`文件,可以接受输入参数并返回输出结果。 --- ### **2. MATLAB 基础语法** #### **(1) 变量与数据类型** - MATLAB 是动态类型的,无需显式声明变量类型。 - 常用数据类型包括: - 数值类型:`double`(默认)、`int8`、`uint8` 等。 - 字符串:`string` 或字符数组(如 `'hello'`)。 - 逻辑类型:`true` 和 `false`。 - 示例: ```matlab a = 10; % 整数 b = 3.14; % 浮点数 c = 'Hello'; % 字符串 d = true; % 逻辑值 ``` #### **(2) 矩阵与数组** - MATLAB 的核心是矩阵操作,几乎所有数据都以矩阵形式存储。 - 创建矩阵: ```matlab A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; % 3x3 矩阵 B = [10, 20,
内容概要:本文详细介绍了使用Simulink进行静止无功发生器(SVG)仿真的全过程。首先,构建了三相两电平拓扑的主电路,特别关注IGBT模块参数设置和直流侧电容的选择。接着,深入探讨了控制环路的设计,特别是锁相环(PLL)模块的参数调整方法及其对系统性能的影响。文中还提供了多个MATLAB代码片段,用于实现电流控制器、PLL算法以及波形分析等功能。此外,文章强调了仿真过程中常见的陷阱和解决方案,如仿真步长选择、PWM脉冲毛刺处理等。最后,通过FFT分析验证了SVG的补偿效果,展示了显著降低谐波畸变率的实际成果。 适合人群:从事电力系统研究和技术开发的专业人士,尤其是熟悉Simulink和MATLAB的工程师。 使用场景及目标:适用于需要深入了解SVG工作原理和仿真技术的研究人员,旨在提高SVG系统的性能和稳定性,确保无功补偿效果最优。 其他说明:文章不仅提供了详细的理论分析,还结合了大量的实践经验,帮助读者更好地理解和解决实际问题。
2023年自考电子商务概论试题及答案新编.docx
2023年电子商务概论形成性考核册作业最新.doc
资源内项目源码是来自个人的毕业设计,代码都测试ok,包含源码、数据集、可视化页面和部署说明,可产生核心指标曲线图、混淆矩阵、F1分数曲线、精确率-召回率曲线、验证集预测结果、标签分布图。都是运行成功后才上传资源,毕设答辩评审绝对信服的保底85分以上,放心下载使用,拿来就能用。包含源码、数据集、可视化页面和部署说明一站式服务,拿来就能用的绝对好资源!!! 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、大作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.txt文件,仅供学习参考, 切勿用于商业用途。