线程累中的run方法不能抛出,只能 try{}catch{}
解析:
(1)线程的开启都是实现了runable接口,实现类都是要求重写run方法,runable中的run方法没有抛出异常, 所以实现类中的方法只能try 。
(2)异常不能跨线程处理,只能由当前线程处理。
线程启动 thread.start()的底层代码?
i++的底层原理?
String是不可变的类,那么String中的截取替换是怎么回事呢?你是发生了改变了么?
看源码,是重新 new了一个新的String类返回的,所以原始的String对象是没有发生改变的。下次贴一下源码
Spring中的单例模式带来了哪些线程安全问题?
如何筛选出存在线程安全的代码?
(1)那些代码属于临界区(临界区是对共享变量进行读写操作的片段)。
(2)多个线程的同时操作。
(3)多个线程安全的代码组合,是否存在线程安全。(每个共享变量是受临界区保护的即可)
