乐趣区

关于java:疫情让我们学会了什么

前言

事件开始于 2019 年 12 月 8 日,官网通报首例不明起因肺炎患者病历。

到当初工夫曾经过来了 将近 2 年,咱们经验了封城、隔离、居家办公,咱们有过恐慌,有过打动,

咱们曾被自私的医生、护士、军人、志愿者等等而打动,他们的“病情不退誓不回”一次次让咱们落泪。

咱们经验了火神医院十天竣工的奇观,咱们经验的太多太多了。

每当有难的时候,你就能领会的你所在的国家是如此的弱小,面对疫情咱们毫不逊色于某些发达国家。

此生无悔入华夏,来世还做华夏人!

一、学习

当初是 2021 年 10 月 31 日,疫情曾经获得了阶段性胜利。

身为程序员的我,能做到的是不为国家添麻烦。

所以我平时也不进来浪,在家学习学习,晋升一下本人也挺不错。

之前看 ReentrantLock 源码的时候波及到 AQS, 里边用到了模板办法模式,所以我打算明天输入一篇模板办法模式的文章。

疫情期间有段时间是全副居家隔离,于是有人在学习做饭,有人在减肥,有人在造娃。

咱们以此为例讲一下模板办法。

代码实现:

AbstractRegulations

package test;


/**
 * @author 木子的昼夜编程
 */
public abstract class AbstractRegulations {

    // 每个人都有本人的名字
    String name;
    public AbstractRegulations(){}
    public AbstractRegulations(String name) {this.name = name;}
    // 国家指定了你的口头范畴  和所有大略流动
    // 然而不论你在家干什么
    public void doWhat(){System.out.println(name+"早上 9 点小区带好口罩,楼下领菜。");
        stayAtHome();
        System.out.println(name+"早晨 8 点自家门口带好口罩,期待志愿者测体温。");
    }

    protected void stayAtHome() {throw new UnsupportedOperationException();
    }
}

XiaoMingRegulations

package test;

/**
 * @author 木子的昼夜编程
 */
public class XiaoMingRegulations extends AbstractRegulations{public XiaoMingRegulations(){}
    public XiaoMingRegulations(String name){super(name);
    }
    // 小明自定义本人要干的事件
    @Override
    protected void stayAtHome() {System.out.println("我是小明,我在家吃饭,吃的胖胖的。");
    }
}

XiaoQiangRegulations

package test;

/**
 * @author 木子的昼夜编程
 */
public class XiaoQiangRegulations extends AbstractRegulations{public XiaoQiangRegulations(){}
    public XiaoQiangRegulations(String name){super(name);
    }
    // 小强自定义本人干的事件
    @Override
    protected void stayAtHome() {System.out.println("我是小强,我在家练腰,练得杠杠的。");
    }
}

Test

package test;

/**
 * @author 木子的昼夜编程
 */
public class Test {public static void main(String[] args) {new XiaoMingRegulations("小明").doWhat();
        System.out.println("--------------- 富丽丽的分割线 -------------------");
        new XiaoQiangRegulations("小强").doWhat();}
}

输入:

 小明早上 9 点小区带好口罩,楼下领菜。我是小明,我在家吃饭,吃的胖胖的。小明早晨 8 点自家门口带好口罩,期待志愿者测体温。--------------- 富丽丽的分割线 -------------------
小强早上 9 点小区带好口罩,楼下领菜。我是小强,我在家练腰,练得杠杠的。小强早晨 8 点自家门口带好口罩,期待志愿者测体温。

二、唠唠

看过我之前文章的人都晓得,AQS 也是用了模板办法模式。

咱们略微回顾一下 AQS 的代码

public abstract class AbstractQueuedSynchronizer
    extends AbstractOwnableSynchronizer
    implements java.io.Serializable {
    
    // 尝试获取凭证
    public final void acquire(int arg) {
        // 调用 tryAcquire 尝试获取一次
        if (!tryAcquire(arg) &&
            // 获取失败就放到队列中
            acquireQueued(addWaiter(Node.EXCLUSIVE), arg))
            selfInterrupt();}
    // 能够看到 tryAcquire 是没有实现的,须要子类来本人实现
    protected boolean tryAcquire(int arg) {throw new UnsupportedOperationException();
    }
}

所以当咱们看到这里的时候不要懵,这种的个别都是子类实现,间接看她对应的实现类就能够了。

三、更多

还要更多?明天么有了,专门找了一个简略的知识点进行文章的输入。

还有点儿工作没有实现,要在家加加班,做一下。

打工人,打工魂,打工的都是人上人,明天搬砖你不狠,今天位置就不够稳。

再见各位打工人。

欢送关注公众号:木子的昼夜编程

退出移动版