摘要: 1、开闭原则(Open Close Principle) 开闭原则的意思是:对扩展开放,对修改封闭。在程序需要进行扩展的时候,不能去修改或影响原有的代码,实现一个热插拔的效果。简言之,是为了使程序的扩展性更好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类。 2、里氏代换原则(Lisk 阅读全文
posted @ 2019-04-25 19:13 zghgz 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 私有构造函数、私有静态变量以及 公有静态函数 几种形式: 1 懒汉式(不安全) 不使用时不加载 2 饿汉 安全 3 懒汉式 线程安全 加锁方式 不推荐使用 4 双重检查锁 线程安全 只对实例化的部分代码进行加锁 考虑下面的实现,也就是只使用了一个 if 语句。在 uniqueInstance == 阅读全文
posted @ 2019-04-03 21:23 zghgz 阅读(98) 评论(0) 推荐(0) 编辑
摘要: LRU:Least Recently used 最近最少使用 1.使用LinkedHashMap实现 inheritance实现方式 继承map类 可以使用Collections.synchronizedMap方式实现线程安全的操作 2、LinkedHashMap 使用delegation方式实现 阅读全文
posted @ 2018-08-18 20:34 zghgz 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 一、序列化 java序列化的过程是把对象转换为字节序列的过程 序列化的两种用途: 1)把对象的字节序列永久保存大搜硬盘上,通常存放到一个文件中 2)在网络上传送对象的字节序列 jdk中的序列化API: java.io.ObjectOutputStream :表示对象输出流,他的writeObject 阅读全文
posted @ 2018-08-04 17:16 zghgz 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 分类: 源码注解:只在编译器存在 变成class文件时不存在 编译时注解:注解再源码和。class文件中都存在 Override 运行时注解:运行阶段还起作用,甚至会影响运行逻辑 AutoWired 自定义注解: Inherited父类有这个注解 子类默认就有 自定义java注解 TestAnnot 阅读全文
posted @ 2018-08-04 13:54 zghgz 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 语法糖 lambda表达式允许你通过表达式来代替功能接口。 lambda表达式就和方法一样,它提供了一个正常的参数列表和一个使用这些参数的主体(body,可以是一个表达式或一个代码块)。Lambda表达式还增强了集合库。 Java SE 8添加了2个对集合数据进行批量操作的包: java.util. 阅读全文
posted @ 2018-08-03 20:29 zghgz 阅读(149) 评论(0) 推荐(0) 编辑
摘要: Lock:同步锁 用于解决多线程安全问题的方式: 1 同步代码块 2 不同方法 3 同步锁(更加灵活的方式) ReentrantLock是Lock的实现类 在finally中调用lock.unlock 阅读全文
posted @ 2018-08-01 23:04 zghgz 阅读(177) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,允许一个或者多个线程一直等待。 闭锁可以延迟线程的进度直到其到达终止状态,可以确保某些活动知道其他活动都完成才继续执行 注意:在run方法中必须将调用countdown方法 计数减1 并且在new CountDow 阅读全文
posted @ 2018-08-01 20:49 zghgz 阅读(177) 评论(0) 推荐(0) 编辑
摘要: HashMap HashTable HashTable锁住整个表 会存在复合操作上的问题“若不存则添加” “若存在则删除” 也是不安全的 效率低 ConcurrentHashMap:采用锁分段机制 并发级别:concurrentLevel并发级别 默认16 支持多个thread同事访问一个hashm 阅读全文
posted @ 2018-07-31 23:05 zghgz 阅读(112) 评论(0) 推荐(0) 编辑
摘要: flag是main thread和td共享的数据,他们都在各自的线程内有一个copy,由于while true的速度十分快,main thread不能读取到td修改后的值,所以只能输出 flag=true。 内存不可见性:当多个thread操作共享数据时,彼此不可见 volatile:当多个thre 阅读全文
posted @ 2018-07-31 22:44 zghgz 阅读(156) 评论(0) 推荐(0) 编辑