在我的程序中,我生成一些ramdomly标识符来标识一些字符.例:
12555678 to identify 'a'
12 to identify 'g'
13456789900000076 to identify 'c'
...
Run Code Online (Sandbox Code Playgroud)
在我的算法中,我不知道这些标识的大小是多少.所以,我使用BigInteger数字.我想减少内存,然后当我生成一个标识符时 12,如果我可以使用其他类型(不是BigInteger),我可以在内存中获胜.所以我的问题是,是否可以使用其他类型来操作内存并仅租用我的标识符的确切大小?
谢谢
BigInteger 是否需要表示数字(加上一些开销)
如果你可以使用Long它会更小(因为它有更少的头部)使用小于Long的类型将没有太大的区别,因为头顶是相同的.
如果你可以使用64位有符号值,使用a long比使用a小5倍Long,如果内存很重要,我会找到一种方法将自己限制为18万亿亿个标识符.