摘要: 线程阻塞的原因,有三大类: 1.获取锁,得不到,就进入到等待锁的阻塞队列。 只有占有锁的线程,释放锁时,才会唤醒这个队列中的线程。 notify不会唤醒该队列中的线程 2.正在占用锁的线程,调用了wait,就进入wait阻塞队列。 只有obj.notify()方法,才会唤醒这个队列中的线程。 一般的 阅读全文
posted @ 2020-03-17 17:03 小小吸血鬼 阅读(2636) 评论(0) 推荐(0) 编辑
摘要: 有四种 调用构造器创建对象; 使用类反射创建对象 使用clone方法创建; 使用反序列化创建对象 阅读全文
posted @ 2020-03-17 14:27 小小吸血鬼 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 封装 对外隐藏复杂的实现过程,暴露出简单的使用方法。 隔离变化。 提高代码重用性。 保护数据。 继承 提高代码重用性。(如果仅仅是为了重用,name可以优先考虑组合) 多态的前提。 多态 多态的前提:继承 多态的作用:提高代码扩展性(dao、jdbc) 多态的体现:向上转型 多态的限制:向上转型发生 阅读全文
posted @ 2020-03-17 09:36 小小吸血鬼 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 单一原则 一个类,一个方法,只负责一件事 里氏替换原则 在任何使用父类对象的地方,替换为子类对象后,程序不会有任何问题 依赖倒置 上层不能依赖于下层,他们都应该依赖于抽象; 举例:dao,service通过dao接口+dao工厂来访问下层的dao实现的,在以后扩展dao时,上层service是不用改 阅读全文
posted @ 2020-03-17 09:32 小小吸血鬼 阅读(470) 评论(0) 推荐(0) 编辑