2 分•作者: chaos_vy•10 天前
什么是 ChaosTree? ChaosTree 是一个零依赖的 Java 有序集合/映射库,围绕多种树实现构建。 它提供了以下实现: - AVL 树 - 红黑树 - B 树 - B+ 树 我没有创建自定义 API,因为它实现了 NavigableSet、NavigableMap、SequencedSet 和 SequencedMap。我的自定义 API 包括: - `buildFromSorted(Iterator<T> it, float factor)` - `importFlatMatrix(Object[][] blast, float factor)` - `Object[][] exportFlatMatrix()` 我开始开发 ChaosTree 是因为我想探索我对数据结构理解的极限。最初,它是一个包含 7 种集合类型树的第一个版本,带有自定义 API。随着我对此的深入,我转向了映射。在从集合转向映射的过程中,我经历了巨大的变化和知识的提升,将我的树支持从 JDK 11+ 提升到 JDK 21+,并密切关注了无依赖性、内存布局、分配、JVM 行为和实际性能。 我进行的一些实验包括: - 不同的节点布局和元数据占用空间 - 用于树实现的 CRTP/F-有界多态 - 带父指针的节点与不带父指针的节点 - 基于数组的 N 叉树节点 - B 树/B+ 树的阶数选择 - JMH 基准测试和 JFR 性能分析 - 与 `java.util.TreeMap`/`TreeSet` 进行差分/随机测试 经过这些艰难的测试,它还通过了以下测试: - Guava Testlib 兼容性测试 - jqwik 属性驱动测试 - 与参考集合的随机差分测试 - 树节点的白盒结构验证 - B 树/B+ 树结构不变量的直接验证 - 异常和迭代器契约测试 - 序列化和克隆测试 - N 叉树使用自定义 jqwik API 验证测试 尾部延迟行为未在此处显示,因为它被截断为简单的文本,导致数据读取错误:https://chaos-vy.github.io/ChaosTree/utils/JMH-Report.html 我还对官方 JDK TreeMap 运行了基准测试,并更新了我的 N 叉树。 GitHub: https://github.com/Chaos-vy/ChaosTree https://chaos-vy.github.io/ChaosTree/ 我特别希望获得关于 API 设计、实现选择和基准测试方法的反馈。我目前正在尝试截断无用和复杂的代码分支以进行性能调优。
3 分•作者: Sentralis•10 天前
Sentralis.io 是一个专注于加密货币投资组合 HODLer 的风险与情景分析平台。 它将硬核的风险分析能力与智能代理相结合,提供深度洞察,适合初学者和专业人士。 免费账户可完全访问所有情景和风险量化功能。 同时提供 API 和 MCP 访问。
5 分•作者: rkotcher•10 天前
系好安全带,收起小桌板,并打开遮阳板。现在,您可以模拟作为一名商业乘客,从起飞到降落,飞往世界任何地方。地形、天气和实时太阳位置均包含在内。别担心,最新版本现在增加了腿部功能,您可以在长途飞行中起身去洗手间。祝您旅途愉快!
1 分•作者: dgan•11 天前
已经有一段时间了,我无法在电子邮件正文中输入双引号“”。这种情况只发生在我的笔记本电脑(Framework/Fedora)上的 Firefox 浏览器中。Android 应用则没有问题。