[Java] Java 求解答:为什么 JackSon 和 fastJson 里使用 string.intern,欢迎美团技术团队解答:-)

问题:使用 string.intern 可以节省时间吗,可以节省空间吗?

前段时间,迁移容器化之后发现机器的 youngGc 时间缓慢上涨,从几十毫秒涨到了几百毫秒,然后出发 full gc 之后,youngGc 时间又重新回落到几十毫秒
后来确定了是系统产生了很多的不同字符串的 key ,同时 jackSon 的 internCache 调用了 string.intern()方法,导致了字符串常量池 stringTable 膨胀,最终导致 YoungGc 扫描变慢

看了下美团技术团队里写道,fastJson 里使用了 string.intern,可以大大减少时间和空间,不太理解为什么可以节省时间,节省空间我能够理解,但是使用 string.intern ,不是更加的耗时吗?

https://tech.meituan.com/2014/03/06/in-depth-understanding-string-intern.html