See details:
the Java programming concurrent use of in-depth understanding] Synchronized of
https://blog.csdn.net/zjy15203167987/article/details/82531772
The difference between String, StringBuffer and StringBuilder of
https://blog.csdn.net/csxypr/article/details/92378336