貌似前面一篇的存储空间的测试木有弄上来。。。这里在把代码附上吧:
package cn.java1118;
public class TestMemory {
public static void main(String[] args) {
System.out.println("刚开始时----虚拟机上空闲的内存量为:"+Runtime.getRuntime().freeMemory());
System.out.println("刚开始时----虚拟机上内存总量为:"+Runtime.getRuntime().totalMemory());
System.out.println("刚开始时----虚拟机试图使用的最大内存量为:"+Runtime.getRuntime().maxMemory());
//调用完一个hashmap之后
MyHashMap04<String, String> map = new MyHashMap04<String, String>();
for(int i=0;i<1000000;i++){
map.add(""+i, ""+i*100);
}
System.out.println("调用了hashmap之后----虚拟机上空闲的内存量为:"+Runtime.getRuntime().freeMemory());
System.out.println("调用了hashmap之后----虚拟机上内存总量为:"+Runtime.getRuntime().totalMemory());
System.out.println("调用了hashmap之后----虚拟机试图使用的最大内存量为:"+Runtime.getRuntime().maxMemory());
//开辟同样大的数组空间之后
// String[] aaa = new String[1000000];
// for (int i = 0; i < 1000000; i++) {
// aaa[i] = new String("aaa");
// }
// System.out.println("调用数组之后----虚拟机上空闲的内存量为:"+Runtime.getRuntime().freeMemory());
// System.out.println("调用数组之后----虚拟机上内存总量为:"+Runtime.getRuntime().totalMemory());
// System.out.println("调用数组之后----虚拟机试图使用的最大内存量为:"+Runtime.getRuntime().maxMemory());
}
}
刚开始时----虚拟机上空闲的内存量为:4868664
刚开始时----虚拟机上内存总量为:5177344
刚开始时----虚拟机试图使用的最大内存量为:832438272
调用数组之后----虚拟机上空闲的内存量为:16260656
调用数组之后----虚拟机上内存总量为:44433408
调用数组之后----虚拟机试图使用的最大内存量为:832438272
刚开始时----虚拟机上空闲的内存量为:4905008
刚开始时----虚拟机上内存总量为:5177344
刚开始时----虚拟机试图使用的最大内存量为:832438272
调用了hashmap之后----虚拟机上空闲的内存量为:69518912
调用了hashmap之后----虚拟机上内存总量为:169803776
调用了hashmap之后----虚拟机试图使用的最大内存量为:832438272
这是我测试了几次的效果。。。每次测试的时候都是使用hashmap比数组所余下的空间要大一些,为了试验的准确性,我是顺者测,逆着测,重启eclipse测,开机重启测。。。各种测啊。。。结果都差不多。。。终于搞定了!!!!!
但我发现了,我的代码还得大大修改。。。暂时先这样吧。。。
<!--EndFragment-->
分享到:
相关推荐
综上所述,`java-hash.7z` 工具包可能包含用于Java环境下的各种哈希计算工具和示例,帮助开发者进行数据校验、安全存储、性能优化等工作。通过理解和应用这些哈希计算技术,可以提升软件的安全性和效率。
《数据结构与算法分析——Java语言描述》第三版是一本深入探讨数据结构和算法的经典教材。这本书通过使用Java编程语言,向读者展示了如何设计、实现和分析一系列关键的数据结构和算法,以解决实际问题。书中的源代码...
通过上述分析,我们可以看到Blizzard的Hash表实现不仅体现了对散列技术的深刻理解,而且还展示了如何利用多个散列值来进一步提高Hash表的性能和准确性。这种技术尤其适用于处理大量数据的情况,能够显著减少冲突的...
在Java编程中,Map接口是用于存储键值对的数据结构,而Java提供了多种Map的实现,包括TreeMap、HashMap和ConcurrentSkipListMap。本文主要比较了这三种Map的性能,尤其是在插入和查找操作上的效率。 1. **TreeMap**...
《数据结构与算法分析_Java语言描述(第3版)》是一本深入探讨数据结构和算法分析的专业书籍,它以Java编程语言为载体,详细阐述了如何高效地组织和操作大量数据,以及如何评估和比较不同算法的性能。这本书不仅涵盖了...
哈希表,又称为散列表,是一种数据结构,它通过使用散列函数将键(Key)映射到数组的特定位置来实现快速访问。在Java中,哈希表的实现主要依赖于`java.util.HashMap`类,它是基于哈希表的Map接口实现。在这个Java版...
5. **哈希表** (CuckooHashTable.java): 哈希表是一种基于哈希函数的查找结构,用于实现快速的查找、插入和删除操作。Cuckoo哈希是一种特殊的哈希表设计,通过Cuckoo算法处理冲突,具有较高的空间效率和较低的查找...
- **选择高效的算法和数据结构**:例如,使用哈希表而不是链表进行查找操作。 - **避免不必要的计算**:如文档中提到的,优化算法的关键部分,特别是那些占总运行时间较大比例的部分。 - **利用缓存技术**:通过...
本课件“数据结构 课件java版本”是基于Java编程语言来讲解这一主题的,旨在帮助学生和开发者深入理解数据结构的基本概念,并掌握用Java实现这些数据结构的方法。 在Java中,数据结构主要分为以下几类: 1. **数组...
Ketama一致性哈希算法由Last.fm的工程师开发,其设计目标是优化分布式哈希表的性能,特别是在处理大量小键值对时。它通过引入虚拟节点的概念,提高了哈希空间的分布均匀性,减少了因节点变动导致的数据迁移。 1. **...
哈希表(Hash Table)是一种通过哈希函数快速定位数据的数据结构,实现了键值对的快速查找。Java中的哈希表主要由`java.util.HashMap`和`java.util.Hashtable`类代表,具有O(1)的平均查找时间复杂度。 六、高级排序...
UTHASH 是一个开源的 C 语言库,提供了一种简单且高效的哈希表实现,用于在 C 代码中快速查找和管理数据结构。这个库的主要功能是提供一个宏定义的集合,可以方便地将结构体转化为哈希表,进而进行添加、删除、查找...
在给定的“Java-codes.rar_HASHJAVA_huffman”压缩包中,包含了多个与Java编程相关的示例代码,主要涉及哈夫曼编码(Huffman Coding)、快速排序(Quicksort)、哈希表(Hash)以及一种名为“q_sort”的排序算法。...
7. **哈希表**(CuckooHashTable.java, CuckooHashTableClassic.java): 哈希表提供了一种快速查找和插入数据的方法,通过散列函数将键映射到数组的索引。Cuckoo哈希是一种特殊的哈希表实现,使用了Cuckoo算法,当冲突...
通过以上分析,我们可以看出,PersistentIdealHashTree的Java实现不仅涉及到数据结构的设计和优化,还需要考虑并发编程中的线程安全问题。理解并掌握这种数据结构的实现原理,对于提升Java程序员在大数据处理和并发...
- `CuckooHashTable.java` 和 `CuckooHashTableClassic.java` 文件是关于Cuckoo哈希表的实现,这是一种高效的动态哈希表,通过使用两个或多个哈希函数来解决冲突,从而保持较低的查找和插入时间复杂度。 2. **排序...
本书由Mark Allen Weiss所著,目的在于通过Java语言来分析和探讨数据结构及算法的原理与应用。根据提供的部分目录内容,本书共分为12个章节,涵盖了数据结构与算法分析的各个重要领域。 在第1章“引言”中,作者...
### 数据结构与算法分析(Java版)核心知识点详解 #### 一、概述 《数据结构与算法分析(Java版)》是由Robert Lafore编写的一本详细介绍数据结构与算法原理及其实现的书籍。本书旨在帮助读者理解如何通过数据结构...
在Java编程语言中,哈希表(Hash Table)是一种常用的数据结构,它的实现通常通过`Hashtable`类。这个数据结构提供了快速的插入、删除和查找操作,其平均时间复杂度为O(1)。`Hashtable`是Java集合框架的一部分,位于...