比如使用JDK中的一些类如StringBuffer,在做append时做同步,会自动把锁引入进去,而自己没有察觉,从而可能引入到完全没有多线程的环境中,在这种情况下,为了提高系统性能,可能直接把锁优化掉。 因为createStringBuffer方法append是同步方法,但是此处返回sb.toString(),sb是局部变量,就在线程的栈空间内,就在局部变量表内,...
468.尚硅谷_常用类-Java中两个Date类的使用 18:38 469.尚硅谷_常用类-每天一考 17:44 470.尚硅谷_常用类-复习:String类 29:01 471.尚硅谷_常用类-复习:StringBuffer、StringBuilder 05:32 472.尚硅谷_常用类-复习:日期时间的API 03:14 473.尚硅谷_常用类-String课后算法题目1 19:51 474.尚硅谷_常用类...
比如使用JDK中的一些类如StringBuffer,在做append时做同步,会自动把锁引入进去,而自己没有察觉,从而可能引入到完全没有多线程的环境中,在这种情况下,为了提高系统性能,可能直接把锁优化掉。 因为createStringBuffer方法append是同步方法,但是此处返回sb.toString(),sb是局部变量,就在线程的栈空间内,就在局部变量表内,...
public ParseDate(int i){this.i=i;} public void run() { try { Date t=sdf.parse("2015-03-29 19:29:"+i%60); //sdf对象他不是线程安全的 System.out.println(i+":"+t); } catch (ParseException e) { e.printStackTrace(); } } } public static void main(String[] args) { ExecutorS...
}publicstaticvoidmain(String[] args){ ExecutorService es=Executors.newFixedThreadPool(10);for(inti=0;i<1000;i++){ es.execute(newParseDate(i)); } } 为每一个线程分配一个实例 另外一个错误案例:他不会去维护每一个对象的拷贝,实际上tl.get()是把ThreadLocal对象指向同一个对象实例,对所有线程来...
468.尚硅谷_常用类-Java中两个Date类的使用 18:38 469.尚硅谷_常用类-每天一考 17:44 470.尚硅谷_常用类-复习:String类 29:01 471.尚硅谷_常用类-复习:StringBuffer、StringBuilder 05:32 472.尚硅谷_常用类-复习:日期时间的API 03:14 473.尚硅谷_常用类-String课后算法题目1 19:51 474.尚硅谷_常用类...