java - Java 优化:将 map.size() 存储在变量中
问题描述
在我的程序(贝叶斯分类器)中,我对该map.size()
方法进行了很多调用。
map.size()
我想知道是否可以通过将 的值存储在局部变量(或字段)中来优化程序的性能。
如果是这样,将它存储在变量中的正确方法是什么?
int mapSize = map.size();
在表面之下,这可能只会创建一个指向方法的指针(?)
解决方案
您的问题中提供的以下代码不会存储指向该方法的指针,它存储该方法返回的值。
int mapSize = map.size();
查看该HashMap.size();
方法,您可以看到它只返回一个局部变量,这导致它已经非常快了:
/**
* Returns the number of key-value mappings in this map.
*
* @return the number of key-value mappings in this map
*/
public int size() {
return size;
}
推荐阅读
- file-io - cypher/neo4j 中的文件 IO,或通过其他语言集成
- javascript - JavaScript:为 jquery ajax 重试添加延迟
- ruby-on-rails - Ruby 默认参数:静态还是动态?
- c# - 使用托管服务帐户将文件从 IIS 写入网络驱动器
- c# - 使用具有不同层的 LINQ 意味着我无法访问特定类型
- python - aws lambda 逐行读取并写入文件
- c++ - 使用 C++ 在 Active Directory GPO 中管理“安全设置”
- flutter - GridView中的颤振图像滚动滞后
- python - 如何指定来自 rest_framework.test.Client 的 Accept 标头?
- c++ - 对于 C++,是否可以打印派生类对象的超类成员