摘要: 1.jdbc和servlet的例子 jdbc和servlet中,之所以是线程安全的,就是因为每个变量都封装在单个线程中,不会存在变量共享的状态,也就是说,你这一次获取的数据不会被下一个请求访问到,所以通过把变量都封闭在线程中,来达到了线程安全的目的.所以在servlet中使用 缓存 session 阅读全文
posted @ 2019-11-04 23:50 随意的马蒂洛克 阅读(213) 评论(0) 推荐(0)
摘要: 1.定义 public class UnsafeClass { public UnsafeClass(Button button) { button.addActionListener(new ActionListener() { //在这里发布 会导致this引用逸出,因为构造函数没有完全返回 / 阅读全文
posted @ 2019-11-04 22:45 随意的马蒂洛克 阅读(349) 评论(0) 推荐(0)
摘要: 1. volatile关键字平常说的最多有两种作用: 1. 保存内存可见性 2.防止指令重排序. 2. jvm在运行是会生成一条条的指令,在保证结果一致的情况下会重排序指令来优化速度,但是这会造成线程不安全的问题,所以可以定义volatile来防止jvm进行指令重排序. 3. 在多线程条件下,每个线 阅读全文
posted @ 2019-11-04 22:10 随意的马蒂洛克 阅读(139) 评论(0) 推荐(0)