上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 61 下一页
  2019年9月3日
摘要: 1 源码解析 1.1 单例解析1 1.2 单例解析2(容器单例) 1.3 单例解析3 1.4 单例解析4 java.lang.Runtime java.awt.Desktop(cs) spring中的单例是bean作用域中的一个,作用域在每个应用程序的上下文中只创建一个我们设置属性的实例, 和我们的 阅读全文
posted @ 2019-09-03 06:41 菜鸟乙 阅读(330) 评论(0) 推荐(0) 编辑
  2019年9月1日
摘要: 1 课程讲解 1.1 应用场景 2 代码演练 2.1 threadLocal应用 多线程的时候: 使用同步锁使用时间换空间的方式,(线程排队时间比较长) 而使用threadlocal使用空间换时间的方式。 基于threadlocal的单例模式,为每一个线程提供了一个对象,多线程访问的时候不会相互影响 阅读全文
posted @ 2019-09-01 16:27 菜鸟乙 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 1 课程讲解 1.1 应用场景 2 代码演练 1.1 容器单例 1 课程讲解 1.1 应用场景 应用于在程序初始化的时候把多个单例对象放入到singletonMap中,使用的时候直接通过key获取对象。可以应用在懒汉模式中,不适用于饿汉模式(饿汉模式由于每次都要重新初始化会出现多线程安全问题) 使用 阅读全文
posted @ 2019-09-01 15:01 菜鸟乙 阅读(181) 评论(0) 推荐(0) 编辑
  2019年8月22日
摘要: 1 课堂解析 2 代码演练 2.1 枚举类单例解决序列化破坏demo 2.2 枚举类单例解决序列化破坏原理 2.3 枚举类单例解决反射攻击demo 2.4 枚举类单例解决反射攻击原理 3 jad的使用 3.1 网址: 枚举类: 测试类: 打印日志: ObjectInputStream 枚举类:(同2 阅读全文
posted @ 2019-08-22 07:06 菜鸟乙 阅读(227) 评论(0) 推荐(0) 编辑
  2019年8月21日
摘要: 1 课程总结 1.1 课程总结 1.2 注意事项 2 代码演练 2.1 反射攻击(通过反射拿到单例的对象) 2.2 (应用)饿汉式防御 2.3 (应用)静态类防御 2.4 懒汉式防御1 2.5 针对懒汉式防御1反射攻击1 2.6 懒汉式防御2 2.7 针对懒汉式防御2反射攻击2 反射攻击对单例模式威 阅读全文
posted @ 2019-08-21 06:53 菜鸟乙 阅读(299) 评论(0) 推荐(0) 编辑
  2019年8月18日
摘要: 课程地址: 1 原理解析 1.1 通过反射创建对象,序列化和反序列化把单例模式破坏了 1.2 什么是序列化和反序列化 2 代码演练 2.1 序列化后的文件和源文件不是同一个对象(代码演练) 2.2 序列化后的文件和源文件不是同一个对象解决方案(代码演练) 2.3 序列化后的文件和源文件不是同一个对象 阅读全文
posted @ 2019-08-18 23:15 菜鸟乙 阅读(217) 评论(0) 推荐(0) 编辑
  2019年8月17日
摘要: 1 代码讲解 1.1 饿汉式不会出现多线程问题 1.2 优点和缺点 2 代码演练 2.1 代码演练1(饿汉式) 2.2 代码演练2(静态块方式实现) 刚开始加载的时候就完成了初始化,避免了线程同步问题, 优点:刚开始加载的时候就完成了初始化,避免了线程同步问题。 缺点:如果该类不经常使用,比较消耗资 阅读全文
posted @ 2019-08-17 16:13 菜鸟乙 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1 原理解析 1.0 课程地址 1.1 如何实现让后边线程看不到前边线程是否有序列化呢(综合上节看) 1.2 原理 1.3 5种初始化方法 1.4 单例类必须要有私有构造方法 2 代码演练 2.1 代码演练1 1 原理解析 1.1 如何实现让后边线程看不到前边线程是否有重排序呢(综合上节看) 参考2 阅读全文
posted @ 2019-08-17 15:18 菜鸟乙 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 1 课程讲解 1.1 为何要使用双重检查 1.2 双重检查的缺点 1.3 指令重排序讲解 1.4 指令重排序比喻(自己理解) 1.5 如何解决指令重排序问题 2 代码演练 2.1 代码演练1(双重检查 解决对象锁和类锁的问题) 2.2 代码演练2(volatile 应用:解决重排序问题) 在上节课的 阅读全文
posted @ 2019-08-17 12:13 菜鸟乙 阅读(504) 评论(0) 推荐(0) 编辑
  2019年8月16日
摘要: 1 主要内容 1.1 多线程debug a 主要是在idea中,右键选择断点,选中thread,done即可。 b 使用的时候,frames选择下拉框,选择要执行的线程即可。 c 如下图所示 1.2 synchronized同步锁的调用 如2.3所示 如果锁放在静态方法上,锁的是整个class文件, 阅读全文
posted @ 2019-08-16 19:23 菜鸟乙 阅读(280) 评论(0) 推荐(0) 编辑
上一页 1 ··· 37 38 39 40 41 42 43 44 45 ··· 61 下一页