- 浏览: 66402 次
- 性别:
- 来自: 上海
文章分类
最新评论
/**
* 计算各个磁盘的大小、已用空间、剩余空间; 只获取本地磁盘信息,不获取U盘等外设信息
* @return
*/
public List<Disk> diskSpaceGather() {
List<Disk> diskList = new ArrayList<Disk>();
FileSystemView fileSystemView = FileSystemView.getFileSystemView();
File[] roots = File.listRoots();
for (File file : roots) {
Disk disk = new Disk();
if (ParameterUtil.LOCAL_DISK_NAME.equals(fileSystemView
.getSystemTypeDescription(file))) {
disk.setDiskName(file.getAbsolutePath());
disk.setFreeSpace(file.getFreeSpace() / ParameterUtil.GB);
disk.setTotal(file.getTotalSpace() / ParameterUtil.GB);
disk.setUsed(file.getUsableSpace() / ParameterUtil.GB);
diskList.add(disk);
}
}
return diskList;
}
/**
* 计算物理内存空间大小,包括总的大小,已使用,剩余量
*/
public Map<String,Object> physicalMemoryGather() {
Map<String,Object> hashMap=new HashMap<String,Object>();
OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory
.getOperatingSystemMXBean();
String osName = System.getProperty("os.name");
long totalMemory = osmxb.getTotalPhysicalMemorySize()/ ParameterUtil.MB;
long freeMemory = osmxb.getFreePhysicalMemorySize()/ ParameterUtil.MB;
long usedMemory = (osmxb.getTotalPhysicalMemorySize() - osmxb.getFreePhysicalMemorySize())/ ParameterUtil.MB;
hashMap.put("osName", osName);
hashMap.put("totalMemory", totalMemory);
hashMap.put("freeMemory", freeMemory);
hashMap.put("usedMemory", usedMemory);
return hashMap;
}
自己设计的简单的Disk类
public class Disk {
private Long used; //已使用;
private Long total; //总量;
private String diskName; //磁盘名称;
private Long freeSpace; //空闲空间;
public Disk() {
super();
}
public Long getUsed() {
return used;
}
public void setUsed(Long used) {
this.used = used;
}
public Long getTotal() {
return total;
}
public void setTotal(Long total) {
this.total = total;
}
public String getDiskName() {
return diskName;
}
public void setDiskName(String diskName) {
this.diskName = diskName;
}
public Long getFreeSpace() {
return freeSpace;
}
public void setFreeSpace(Long freeSpace) {
this.freeSpace = freeSpace;
}
public Disk(Long used, Long total, String diskName, Long freeSpace) {
super();
this.used = used;
this.total = total;
this.diskName = diskName;
this.freeSpace = freeSpace;
}
@Override
public String toString() {
String toString="";
toString=this.diskName+":"+"total "+this.total+"GB,used "+this.used+"GB,freeSpace "+this.freeSpace+"GB";
System.out.println(toString);
return toString;
}
}
发表评论
-
自定义xsd扩展
2018-12-24 11:43 1232扩展xsd很简单,官方文档送上:https://docs.s ... -
cglib
2017-06-09 17:54 365import net.sf.cglib.core.Nami ... -
最近学习经验总结二
2017-03-02 15:50 0集合框架: Collection L ... -
最近学习经验总结一
2017-03-02 15:49 0java 基础(重点多线程,锁) ArrayList 数据 ... -
mysql乐观锁/悲观锁
2017-02-24 09:29 0http://chenzhou123520.iteye.co ... -
一致性hash
2017-02-23 19:47 0http://www.blogjava.net/hello-y ... -
单例模式写法之SingletonHolder
2017-02-20 11:16 1197public class SingleDemo { ... -
ThreadLocal源码分析一ThreadLocalMap类
2016-10-21 17:28 0接上文我们将到ThreadLocal基本相当于一个空壳,它 ... -
ThreadLocal源码分析一ThreadLocal类
2016-10-21 17:22 1002ThreadLocal类提供线程局部变量。这些变量和其他普 ... -
阿里巴巴druid源码分析之 filter-chain设计模式
2016-09-20 18:18 7691druid是号称目前最好的java数据库连接池,温少写的代 ... -
ServiceLoader
2016-09-20 15:27 0https://my.oschina.net/hanzhank ... -
驼峰和下划线互转
2016-08-24 11:38 1316public class HumpLineUtil { ... -
java Eclipse配合开启远程debug
2016-08-11 11:18 482远程机器jar方式启动的时候需要指定dubug参数 ... -
java锁之wait,notify(wait会释放锁,notify仅仅只是通知,不释放锁)
2016-07-29 09:40 9364wait是指在一个已经进入了同步锁的线程内,让自己暂 ... -
java锁之CyclicBarrier(互相等待,直到大家都做完,一起开始下面)
2016-07-28 14:43 856参考文章:http://blog.csdn.net/lmc ... -
java锁之CountDownLatch(等待最后一个完成)
2016-07-28 11:19 2036线程同步工具,允许一个线程(或者多个线程)等待其他所有线程 ... -
java锁之Semaphore(信号量,限制并发数量)
2016-07-28 11:17 2077Semaphore也是一个线程同步的辅助类,可以维护当前访 ... -
内部类和final关键字
2016-07-28 11:08 457首先,内部类被编译的时候会生成一个单独的内部类的.class ... -
visitor设计模式
2016-06-29 14:09 324visitor设计模式 visitor设计模式的思 ... -
asm字节码生成技术,cglib
2016-06-29 11:25 643相关技术blog class文件解析: https:/ ...
相关推荐
labview 小程序,利用labview查询硬盘的剩余空间容量。
其中,lpDirectoryName是你想要查询的磁盘路径,例如"C:\"。其余三个参数是用来接收磁盘空间信息的指针。 4. 处理结果:如果函数调用成功,你可以在TotalNumberOfBytes中得到磁盘的总容量,在...
2. `Form1.frm`:这是VB6的窗体文件,可能包含了用户界面设计,如按钮、文本框等,用于展示磁盘容量信息。 3. `获得硬盘的剩余空间 VB.txt`:这是一个可能包含VB代码示例或者说明文档的文本文件,用于解释如何获取...
这个"检测磁盘容量_硬件与系统"的源码软件,很可能是集成了上述功能的一个实用工具,它可以提供图形化界面或者命令行方式来查询和展示计算机的硬件状态和磁盘使用情况。对于学习系统管理、软件开发或者硬件监控的...
在Go语言中,读取Linux系统的CPU占用率、CPU温度、内存占用率以及磁盘占用率涉及到了系统监控和性能分析。以下将详细介绍如何利用Go实现这些功能。 1. **CPU占用率** CPU占用率是指CPU在单位时间内用于执行用户...
本篇文章将详细讲解如何编写一个shell脚本来批量获取主机的IP地址、主机名、CPU型号、主频、核数、物理内存总大小以及磁盘名称和容量,并将其输出为CSV格式。 首先,我们需要了解在Linux中获取这些信息的命令: 1....
本项目涉及的核心知识点主要涵盖操作系统信息的获取、内存状态的查询、驱动器信息的检索以及磁盘相关数据的展示。以下将对这些方面进行详细的阐述。 首先,获取操作系统信息通常包括操作系统的类型(如Windows、...
1. **兼容性**:Windows 7 64位版能支持更大的内存容量,这使得使用Ramdisk成为可能,特别是对于需要处理大量数据或进行高性能计算的应用来说。 2. **设置与配置**:用户可以通过第三方软件,如本压缩包提供的...
在给定的上下文中,提及了“内存数据库”和“文件数据库stsdb”,这表明我们将探讨的是一个融合了内存管理和磁盘存储的数据库解决方案。 内存数据库,顾名思义,将所有数据存储在内存中,以提供比传统磁盘数据库更...
Python文件:python来查看Linux系统内存使用情况.py Python文件:python来查看Linux系统内存使用情况.py
首先,内存的容量有限,可能无法容纳大规模的数据集,这需要更精细的数据管理和压缩策略。其次,数据的持久性是MMDB的一大难题,因为一旦系统崩溃,内存中的数据可能会丢失。为了解决这个问题,MMDB通常会采用日志...
接着,它使用`fsutil volume diskfree`命令来查询该盘符的磁盘自由空间,并提取出可用容量的值。最后,脚本会暂停以便用户查看结果。 批处理脚本的优点在于其灵活性和自动化能力。你可以根据需要自定义脚本,比如...
这段代码将打印出堆和非堆内存的初始大小、当前使用量、最大容量以及已分配但未使用的容量。 至于硬盘信息,Java的标准库没有直接提供方法来获取硬盘的总空间、剩余空间等。但是,我们可以使用`java.io.File`类的`...
- **数据量的控制**:内存表的数据容量受限于系统的物理内存,因此需要合理预估数据规模,避免内存溢出。 - **性能优化**:内存表的性能很大程度上取决于数据结构的选择和索引策略。合理的设计可以显著提高查询速度...
然而,内存数据库的容量受限于系统的内存大小,相对于传统数据库的超大数据量,它更适合处理较小但要求高处理速度的数据集。 市面上的内存数据库产品多样,分为不同级别,包括应用级、专业级和通用级。应用级内存...
随着硬件技术的发展,内存容量的提升和价格的下降,这些问题得到了一定程度的缓解。 总的来说,内存数据库是一种适用于高并发、低延迟应用场景的技术,尤其在电信行业中的计费系统中展现出了强大的优势。随着技术的...
由于内存的读写速度远高于硬盘,因此,内存数据库能够提供比磁盘数据库更快的查询响应时间和更高的吞吐量。这使得内存数据库特别适合那些对实时性有极高要求的应用场景,如金融交易、物联网(IoT)数据分析和在线广告...
2. **查询业务**:内存数据库采用Key-Value形式存储数据,查询操作直接在内存中进行,减少了磁盘交互,大大提升了查询速度。对于余票查询这种频繁的实时运算,内存数据库能快速响应,提供良好的用户体验。 3. **...
使用WMI,我们可以查询到非常详尽的系统硬件信息,包括但不限于CPU、内存、磁盘、网卡等硬件的详细信息。 最后,在使用上述方法获取硬件信息的时候,需要注意代码的运行环境。因为获取硬件信息涉及操作系统的底层...
内存数据库是一种特殊的数据库管理系统,它的主要特点是将所有数据存储在内存中,而非传统的磁盘上。这使得内存数据库能够提供极高的数据处理速度和近乎实时的响应能力,尤其适合那些需要快速读写和低延迟的应用场景...