Reading the source code for `String#substring` (Java 1.7) it looks like it reuses the character array, but with different offset and length. This means that if I have an giant `String` that I substring, the initial string will never be reclaimed by GC (right?).

**What's the easiest way to sure that the giant `String` is reclaimed?** I am running JavaSE-1.7.

(For the curious, I'll be writing a radix implementation in Java to reduce memory usage. The answer to this question is essential to avoid the radix tree using more memory than necessary)