问题标签 [fastutil]
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 - 了解 Fastutil 内部的资源
我正在寻找资源来了解 Java 数据类型是如何在内部实现的,以及 Fastutil 和 Eclipse Collections 等库如何提供更快的相同实现。我厌倦了浏览 Github 上的代码库(分别为https://github.com/vigna/fastutil和https://github.com/eclipse/eclipse-collections),但我只知道使用了代码生成器。
但是使用了哪些代码生成器?它们是如何使用的?为什么生成的代码性能更好?如果这些实现更好,为什么它们不是 Java 中的默认实现?
我正在寻找涵盖该主题的任何类型的资源/阅读清单。Youtube 和谷歌没有太大帮助。
谢谢
java - 迭代 fastutil 原始 ArrayList 的最佳实践,例如 IntArrayList?
IntArrayList
什么最适合从 Java 中的fastutil 库中读取迭代?
fastutil 是一个库,用于提高标准库的集合类和算法所能做的性能。因此,在这种情况下,“最佳”意味着最佳性能。
我遵循了fastutil 文档中的建议,并将我的 IDE(Eclipse)设置为在发生装箱时发出警告:Window -> Preferences -> Java -> Compiler -> Errors/Warnings -> Potential Programming Problems -> Boxing and unboxing conversions - > 设置为警告
然而,Eclipse 似乎忽略了一些警告。有关详细信息,请参见下面的代码。
到目前为止,我遇到了这些替代方案进行迭代:
java - 关于 if(m==c)m=c 的 JRE 规范;及其意义
我最近看到了一些奇怪的代码。我无法理解它们的使用意义。
a在诸如fastutil 和 jhighlight 之if(m==c)m=c;
类的库中出现之前没有任何意义。我已经在这个主题上搜索了很多,但令我惊讶的是,它似乎是 Java 规范,没有如此记录 - 可能是由于弃用等。如果有人能详细说明,我将不胜感激。
java - 需要优化的 Map(k,v) 例如 (long, long[]),以避免自动装箱
我有一段代码,基本上如下:
这些值是按顺序填写的,即
if ids = ['id1','id2',...]
这些值可能是values = [['id2val1','id2val2',..]['id1val1','id2val2',...],..]
无法避免不按顺序执行的,我正在考虑的方法是使用 Map
Map<Long,Long[]>
,
但由于 java 的自动装箱,不可能使用 JAVA 泛型。
我想知道它是否可以通过一些使用原语的优化数据结构库来完成,
以避免不必要的自动装箱,我正在寻找像Koloboke
&之类的库Fastutil
。
寻找数据结构推荐