线程安全(java)
引言:一为T1,T2线程想要调用Dept中的name属性发生的线程安全问题
二、可变字符串举例
请求过多会造成内存溢出,如代码
栈内存溢出:每一个线程对应着一个栈,栈会分配内存,此时如果请求过多,这时候内存不够了,就会发生栈内存溢出。
栈溢出是指不断的调用方法,不断的压栈,最终超出了栈允许的栈深度,就会发生栈溢出,比如递归操作没有终止,死循环
public class TestString1 {
public static void main(String[] args) throws Exception {
//二、可变字符串举例
//可变字符串
//StringBuffer(线程安全),StringBuilder
//new:一个线程进来就创建一次
//具体使用Stringbuffer还是StringBuilder还是要看使用场景
//由于目前使用的是多例模式,所以使用StringBuilder不影响线程安全
StringBuilder buff = new StringBuilder();
String s = "";
for (int i = 0