我需要在内存中保存大量字符串对象(数百MB),希望以UTF-8格式保存,因为在大多数情况下,与默认实现相比,占用的内存只需一半。
默认的String类对于一个12个字符的字符串需要60个字节(参见http://blog.griddynamics.com/2010/01/java-tricks-reducing-memory-consumption.html)。
我的大部分字符串长度为10-20个字符。
我想知道是否有一些开源库提供了这样的字符串包装器?
我知道如何将字符串转换为UTF-8字节数组,但我正在寻找一个包装器类,它将提供所有需要的实用函数(哈希、等号、toString、fromString等)。
UseCompressedStrings
的JVM选项,但我相信它在Java 7中被删除了。如果你使用的是早期版本,它可能仍然可用。 - McDowell