stdx.string_intern
功能介绍
string_intern 包提供 string 对象的池化缓存能力。可以通过代码调用获取到被缓存起来的字符串对象,降低程序运行过程中,由于临时字符串过多导致的内存风险。
本功能需要构建两个全局字符串缓存池:
-
常量池:标准库默认实现,仅允许查询。
-
动态缓存池:通过代码启用,可以在运行时创建字符串对象并缓存起来。
本功能主要通过如下机制实现上述效果:
-
在编译阶段,将字符串常量缓存到常量池中。
-
在运行阶段,用户可以调用 String 的扩展方法(intern)来使用缓存好的字符串对象。
-
如果运行阶段用户还会产生无法被编译器识别的字符串,则需要手动开启运行时的字符串缓存,可以通过主动调用 String 的扩展方法(configInternPool)来开启该功能,并调用 intern 方法来创建(仅首次调用时)并获取已经缓存起来的字符串对象。
API 列表
接口
| 接口名 | 功能 |
|---|---|
| Internable | 为 String 扩展 intern、configInternPool 等函数接口。 |