问题标签 [capacity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 设置不总是使用的 ArrayList 的初始容量的最佳做法是什么?
我有一些类的ArrayList
字段只是有时使用。我通常像这样初始化这些字段:
我了解使用重载构造函数来设置初始容量,所以我想知道是否应该这样声明这些字段:
困境是,如果我用 0 初始化列表,那么列表将始终必须重新初始化自身以添加甚至一个项目。但是,如果我使用默认构造函数,它给出的默认容量为 10,那么我可能有一堆项目(并且可能有很多)正在浪费未使用容量的内存。
我知道你们中的一些人会拒绝询问“多久一次”和“您期望多少项目”,但我真的在寻找“最佳实践”方法。一切都是平等的,是否应该使用(0)
有时()
使用的列表进行初始化?
始终初始化列表是我们部门的政策,因此我可能不会简单地将列表保留为null
,此外,这只会回避问题。
c++ - 改变队列C++容量的方法
我正在创建一个基于动态数组的队列类,并且需要创建一个方法来更改队列可以容纳的项目数。在容量发生变化后,我需要“myLast”保持准确,尤其是在已经有项目从前面出列的队列上。
谁能解释如何做到这一点?
java - Stack linkedlist with initial Capacity
I am doing a stack using LinkedList and LinearNode Class in Java and I have a problem:
........
........
thanks!!!
java - 是否使用指定容量调整哈希图大小的时间
在java 文档中:
当哈希表中的条目数超过负载因子和当前容量的乘积时,哈希表被重新哈希(即重建内部数据结构)。
我发现Java HashMap 调整大小的时间复杂度是 O(n)。
所以,我尝试了这段代码:
案例1:HashMap m = new HashMap()(做了四次):
案例 2:HashMap m = new HashMap(67108864):
第 2 种情况下的时间应该比第一种更好吗?
编辑 :
我只是添加了我的 jvm 的这个 add 参数: -Xms14g -Xmx17g -verbose:gc
案例 1: HashMap m = new HashMap() :
案例 2:HashMap m = new HashMap(67108864):
所以我猜垃圾收集器做了这些时间差异,但我不知道为什么案例 2 在 GC 中花费的时间比案例 1 多。
c++ - pop_back() 可以减少向量的容量吗?(C++)
根据 C++ 标准,std::vector<T>::pop_back()
是否允许减少向量的容量?
我问是因为我想保证以下代码不会引发内存不足异常:
假设这my_vec
是一个std::vector<int>
.
我想有三种可能:
是的,这可以根据 C++03 和 C++11 发生。
不,C++11 禁止这样做(但 C++03 没有)。
不,C++03 和 C++11 都禁止这样做。
是的,我的问题与std::vector.pop_back() 是否改变向量的容量有关?,但我的问题是关于标准保证的具体内容。
另请注意,Std::vector.pop_back() 中接受的答案是否改变了向量的容量?主要是关于如何减少向量的容量,而不是关于何时保证不会发生,并且没有提供任何证据证明它关于 pop_back() 的说法。
linux - 如何比仅使用“du”更快地收集存储系统上的磁盘使用情况?
我使用 Synology NAS 设备,该设备包含 600 多个用户数据。
用户备份数据为税务会计数据。因此,大约一个用户的文件夹有 200,000 个文件。
我必须向每个用户提供他们的备份数据使用信息,但是由于目录和文件太多,du
命令执行时间太长。
有人可以为我提供一种更快地检查每个用户的磁盘使用情况的方法吗?
c++ - C++动态数组,增加容量
我正在尝试实现一个动态数组,这是我增加容量的函数
这是我得到的错误:
speicher(2465,0x7fff7cfc2310) malloc: * 对象 0x7f9742403910 的错误:未分配被释放的指针 *在 malloc_error_break 中设置断点以进行调试
我这样称呼它:
}
c++ - 复制分配期间的c ++字符串容量更改
在 C++ 标准中std:string
遵循指数增长策略,因此我认为capacity()
连接期间的字符串在必要时总是会增加。但是,当我测试时test.cpp
,我发现在for循环中,只有每两次才会在分配期间capacity()
缩回length()
。
为什么这种行为不取决于字符串的长度,而是取决于我更改字符串的频率?是某种优化吗?
以下代码使用g++ -std=c++11
.
测试.cpp:
输出将是这样的:
agile - 如何根据 sprint 的实际时间容量来调整你的故事点
我知道,在你的 sprint 计划的第一部分,你会使用故事点和扑克牌来调整故事的大小,然后你估计下一个 sprint 可以处理多少个故事。因此,假设您同意处理 3 个故事,总共 18 个故事点。
然后您继续进行 sprint 计划的第二部分,并开始将这些故事分解为任务。这些任务现在是使用实际小时数估算的。
我有两个问题:
1)您如何以小时为单位估算任务?您是否再次使用扑克估算但这次有几个小时?团队如何就每项任务的小时数达成一致。
2) 一旦你估计了你同意的 sprint 的 3 个故事的所有任务,你会发现所有 3 个故事的所有任务的总小时数是 90 小时。如果您的实际团队容量(以小时计)为 75 小时,那么既然您意识到自己实际上没有时间去做,那么您如何调整交付 3 个故事的初始承诺?你是否会回到你的产品负责人那里(如果他不在了)并告诉他们你将提供 2 个故事,或者你将如何处理?
非常感谢您的帮助!