线程累中的run方法不能抛出,只能 try{}catch{}

解析:
(1)线程的开启都是实现了runable接口,实现类都是要求重写run方法,runable中的run方法没有抛出异常, 所以实现类中的方法只能try 。
(2)异常不能跨线程处理,只能由当前线程处理。

线程启动 thread.start()的底层代码?

i++的底层原理?

String是不可变的类,那么String中的截取替换是怎么回事呢?你是发生了改变了么?

看源码,是重新 new了一个新的String类返回的,所以原始的String对象是没有发生改变的。下次贴一下源码

Spring中的单例模式带来了哪些线程安全问题?

如何筛选出存在线程安全的代码?

(1)那些代码属于临界区(临界区是对共享变量进行读写操作的片段)。
(2)多个线程的同时操作。
(3)多个线程安全的代码组合,是否存在线程安全。(每个共享变量是受临界区保护的即可)

synchronized修饰的方法继承的子类中为什么不能保证线程安全?问题延伸—子类继承与线程安全问题?

锁升级与锁膨胀的区别?

多次调用start方法会出现什么问题?