摘要:
人生,唯有锻炼与读书不能辜负 工厂模式: 区别于简单工厂模式 1、简单工厂模式中工厂类有逻辑代码,根据类型来创建不同的对象 2、工厂模式就是把工厂类进行封装解耦,抽象出工厂类,然后集成创建不用的工厂类,然后生成不同的对象举个例子: 我是一个实业老板,最开始我有一个厂子,厂子里有几个不同的生产线,你需 阅读全文
摘要:
1、直接上代码,注释已经很详细: 自己拿走试验就行 /** * ArrayBlockingQueue:以数组形式保存数据的阻塞式的有界队列 * 1、不可扩容--有界 */public class Q_ArrayBlockingQueue { //容量为5的队列,不可扩容,最多只能装5个 privat 阅读全文
摘要:
1、使用LockSupport实现: public class T_TurnLockSupport { private static final char[] nums = "123456".toCharArray(); private static final char[] chars= "ABC 阅读全文
摘要:
1、LockSupport:用这个锁来实现线程阻塞与释放,不要太好用 2、上demo: public class T_LockSupport { public static void main(String[] args) { Thread thread = new Thread(()->{ for 阅读全文
摘要:
1、ReadWriteLock:读操作和写操作线程一起运行,提高相同操作的效率。 2、测试代码: public class T_ReadWriteLock { static Lock lock = new ReentrantLock(); static ReadWriteLock readWrite 阅读全文
摘要:
1、定义:为其他对象提供一种代理以控制对这个对象的访问。 2、代码: 代理接口: public interface IGiveGift { void giveMoney(); void giveCar(); void giveHouse();}实际对象: public class RealRichB 阅读全文
摘要:
1、线程安全的单例模式--懒汉式+volatile+sysnchronized+双重检查 2、上代码: public class Test2 { //volatile修饰:防止指令重排序导致值改变 private static volatile Test2 INSTANSE; private Tes 阅读全文
摘要:
1、线程和进程的区别: 线程是资源分配的最小单位;进程是程序执行的最小单位。打开QQ就是开了一个进程,QQ里的各项功能就是一个个线程去执行; 2、Thread类的常见方法: Thread(Runnable target) :实例化时传入Runnable对象 start();//启动线程 getId( 阅读全文