BigInteger

何时使用

BigInteger 对象本质上非常重 RAM。因此,它们只应在绝对必要时使用,即对于真正天文尺度的数字。

除此之外,对这些对象的所有算术运算都比它们的原始对象慢一个数量级,随着数量的增加,这个问题变得更加复杂,因为它们不是固定大小。因此,流氓 BigInteger 通过消耗所有可用 RAM 而导致崩溃是可行的。

备择方案

如果速度对于你的解决方案来说是必不可少的,那么使用包装 Byte[] 的类并自己重载必要的运算符来实现此功能可能更有效。但是,这确实需要大量额外的努力。