Java BigInteger 替代方案

标签 java biginteger

有没有办法改进BigInteger缓存性能?

当您对 BigInteger 进行操作时,它总是会创建一个新的 BigInteger。例如,当您将两个大整数相乘时,将创建一个新的 BigInteger 来承载结果。我想使用 BigInteger 的一些可变版本,它将使用结果更新其中一个字段。

最佳答案

我怀疑如果你能以某种方式做到这一点,你的算法的性能是否会提高,但主要原则是 BigInteger 是不可变的。您不能在不生成新实例的情况下对其执行操作,并且有充分的理由需要这种行为 - 也就是说,如果您有多个线程在单个 BigInteger 上操作,您可以放心这些线程不会直接覆盖 BigInteger*。

如果您不希望这种行为,您唯一的选择是创建一个新类,但请记住,在某些时候您仍将处理 BigInteger 的不可变性层。

*:你知道,只要你不重新分配变量...

关于Java BigInteger 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34996691/

相关文章:

java - 现在支持 Google 应用引擎 session 吗?

java - Spring 测试主线程陷入应用程序的无限循环

java - 我们应该如何在 Java 网络服务器环境中集成 PayPal 自适应(和 IPN)API?

java - 比较忽略 Joda 中 DateTime 的秒和毫秒瞬间的日期

java - 执行具有长指数值的 Math.pow() 操作的最佳方法是什么?

c# - 查找 BigInteger 的最高有效位

java - BigInteger Sqrt 函数不收敛

Java probablePrime 性能

java - Struts 2扩展更改,外部链接时重定向.action

非原始数简单算术的 Java 注解