字符串优化
作为一名软件开发,如何在开发迭代过程中减少软件二进制大小,进而降低我们所依赖的硬件成本是我们应该仔细考虑的。
一、字符串对软件二进制的影响
总所周知,在我们迭代开发的过程中,为了便于调测和后续的问题定位,我们会记录大量的字符串信息。因此随着版本的不停迭代,日志也越记越多。这些维测信息也导致整个软件二进制的增大,因此如何管理当前字符串信息成为了软件降成本的一个问题。
二、常见字符串存储方式
2.1 C++/java 字符串常量池
在C++/java中,为了省去字符串创建的耗时和冗余字符串的占用,引入了字符串常量池的概念。使用string的intern方法,每次获取字符串时,先查询在常量池中是否有相应字符串,如果有则返回相应字符串的引用。这样就无需重复定义常量字符串。但该方案实际并未减少rodata区域的信息。
String a = new String("abc").intern();
String b = new String("abc").intern();
2.2 C语言的常量字符串存储方式
在C语言中&#x