摘要:
public class Test { private static final Object obj = new Object(); public static void main(String[] args) { new Thread( ()-> { synchronized (obj){ // 尝试获取锁 ... 阅读全文
摘要:
序号 命令 作用 示例 1 git clone 克隆版本库(下载 github 上的项目) git clone https://github.com/huanggyaaa/vue-router-simple-demo.git 2 git remote 版本库相关设置 git remote -v // 阅读全文
摘要:
List 如果不使用泛型, 默认插入和取出都是 Object, 转型有风险 泛型集合 泛型方法 定义时不知道方法的具体返回类型, 使用时才知道 泛型接口 封装一个 dao 层的工具类, 因为每个实体都会有这些基础方法, 通过继承减少代码工作量 泛型限制 ? extends T 设置泛型上限, 是 T 阅读全文
摘要:
只产生一个实例, 所以要使用静态方法对外暴露对象(如果使用反射技术, 也能调用私有的构造方法) 懒汉模式 并发时还是可能会产生多个实例, 所以同步处理 饿汉模式 因为使用静态变量保存的对象, 所以天生线程安全, 不必同步操作 阅读全文
摘要:
官方描述: 定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类 土话描述: 先把所有的情况设先计出来, 后面根据条件实现哪种情况 比如我想找女朋友, 喜欢的类型可能是: 屁股大的, 胸挺的, 脸蛋园的, 同事里面这几种类型都有, 后面我妈说找个屁股大的, 那我就选了小方..... 创建一个接 阅读全文
摘要:
class MyThread implements Runnable{ private int index; public MyThread(int index){ this.index = index; } @Override public void run() { System.out.println("处理任务... 阅读全文
摘要:
class MyThread implements Runnable{ private int index; public MyThread(int index){ this.index = index; } @Override public void run() { System.out.println("处理任务... 阅读全文
摘要:
class MyThread implements Runnable{ private int index; public MyThread(int index){ this.index = index; } @Override public void run() { System.out.println("处理任务... 阅读全文
摘要:
执行流程 1, 创建线程池后, 默认不会创建线程, 等到有任务带来才创建线程, 即一个线程处理一个任务 2, 当线程数量达到核心线程数时, 任务放进队列, 如果放入队列失败, 创建新线程处理任务(此时线程池线程数大于核心线程数) 3, 如果线程数大于最大线程数, 执行拒绝策略处理任务 构造方法 参数 阅读全文
摘要:
class MyThread5 implements Runnable{ private int flag = 10; @Override public void run() { while (flag > 0){ test(); } } public synchronized void t... 阅读全文