String部分内容替换方法对比以及优化方法
年前在公司项目敏感内容脱敏处理时,遇到了对字符串的部分内容替换时性能问题,大佬让我仔细想想看能不能优化,于是就有了接下来的操作。
说明 :此次优化分析对堆内存、非堆内存的使用量和耗时进行对比。字符串有138个字符,包括数字与中文,循环10W次进行对比。
1. 截取后替换
先看代码:
String min = phone.substring(3,length-4);
String cipher = min.replaceAll(".","*");
sb.append(phone.substring(0,3))
.