Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

stdx.string_intern

功能介绍

string_intern 包提供 string 对象的池化缓存能力。可以通过代码调用获取到被缓存起来的字符串对象,降低程序运行过程中,由于临时字符串过多导致的内存风险。

本功能需要构建两个全局字符串缓存池:

  1. 常量池:标准库默认实现,仅允许查询。

  2. 动态缓存池:通过代码启用,可以在运行时创建字符串对象并缓存起来。

本功能主要通过如下机制实现上述效果:

  1. 在编译阶段,将字符串常量缓存到常量池中。

  2. 在运行阶段,用户可以调用 String 的扩展方法(intern)来使用缓存好的字符串对象。

  3. 如果运行阶段用户还会产生无法被编译器识别的字符串,则需要手动开启运行时的字符串缓存,可以通过主动调用 String 的扩展方法(configInternPool)来开启该功能,并调用 intern 方法来创建(仅首次调用时)并获取已经缓存起来的字符串对象。

API 列表

接口

接口名功能
Internable为 String 扩展 intern、configInternPool 等函数接口。