java故事之致敬坚持梦想的人

大家好,我是小小刀,我们又见面啦,上期我们聊到借着圆月写了观察者模式,小小刀产生了幻觉聊了计算机缓存,内存,硬盘的关系,还好只是幻觉,不然就赶不上公司的烤羊腿聚餐了,哈哈

再来一遍引言

大家好,我是小小刀,我们又见面啦,小小刀是一名在上海工作普通的青年,长着一张大众脸,往人群里面一塞,没个一时半会都找不出来,普通的人进了普通的创业公司,这样的创业公司在张江一抓一大把,年前将至,虽说公司效益并不是特别好,但年味不能淡了,BOSS喊话,走起,我们去吃烤羊腿去!

出发!前往餐馆

从中午午睡之后,心思就已不在工作上了,听说还有人中午饭都没有吃(加班加点修bug,真的不是为了羊腿),终于到了6点,准备出发,可是餐馆离公司有2公里呢,这个距离就很尴尬,说近不近,说远又不远,还刚好卡在两个地铁站中间,有的同事说要打车过去,有的同事说骑自行车过去,还有的同事说要跑过去,不管怎么去,只是方法不一样,咦,先打住一会,感觉这里有点像设计模式中的策略模式,下面我们插入一点java再去吃羊腿

顺便聊聊策略模式  

其实从上面不同的选择可以提炼出,我们是不同的行为达到同一个目的地,这样我们立马可以抽象出一个接口,交通工具:Transportation ,里面只需要有一个方法goCanGuan土味英语,去餐馆,哈哈 ,然后有三个实现类,分别是,打车,骑车,跑步。

现在我的大脑决策系统开始分析了,跑步吧,外面这么冷,风呼呼的吹,万一感冒了更亏了,不行!打车呢,有点小贵,早餐都舍不得吃了还打车去了,看来骑车是最好的方案了。好嘞,这才刚想好,就看到身边有个美团单车,解锁出发喽!!

class XiaoXiaoDao{
    public static void main(String[] args){
        //我的大脑决策系统
        Context context;
        //开始想要怎么过去(这一步可以发散成工厂模式)
        Transportation util = context.compute();
        //想好了,出发!!
        context.apply(util);
    }
}

class Context{
    Transportation util;
    Transportation compute(){
        //todo:里面的实现小伙伴们可以尝试自己补充下哦
    }
    apply(Transportation util){
        util.goCanGuan();
    }
}

饭前开场语

陆陆续续,三波人马都到齐啦,然后BOSS开始祝酒:2018年是风风雨雨的一年,我们走过来了,挺不容易的,新的一年,大家加油!还好没有继续煽情,不然可能就控制不住情绪了,但是这时我想大家心里应该都开启了一个回放机,回放跟着公司创业这三年的历程:办公室搬了又搬,人员扩招过也裁减过,有加班到凌晨两三点的艰辛,有服务器突然挂掉的刺激,有硬着头皮顶运维的无奈。一路走来,确实不易,好在我们一直没有放弃。程序有问题就加班改到没有问题,服务器挂了就疯狂的百度+谷歌去解决。每个人的坚持成就了公司的坚持,借古人一句话:天若有情天亦老,唯有坚持笑沧桑!

饭后想一想

回首中华民族之伟大复兴无不在于坚持,两弹一星,嫦娥飞天,斩获诺贝尔奖等等 。有句毒鸡汤说:坚持下去真得很难还不一定有回报,但不坚持真得很轻松。我们来一波反毒鸡汤,如果不坚持,别人就开着你想买的车,住着你想买的房子,吃着你想吃的美味佳肴!看!java都比我们会坚持:

for (;;) {
    //一直循环下去,不拿到锁不罢休,除非给我抛个异常挂掉
    final Node p = node.predecessor();
    if (p == head && tryAcquire(arg)) {
        setHead(node);
        p.next = null; // help GC
        return interrupted;
    }
    if (shouldParkAfterFailedAcquire(p, node))
        interrupted |= parkAndCheckInterrupt();
  }

代码出处:AbstractQueuedSynchronizer.java 909行,详情请参考

java学习|图说多线程(四)通过Semaphore看AQS

散场回家喽

年前最后一篇推文了,祝大家新年快乐!!最后一首歌送给正在坚持梦想的你,一定一定要坚持啊!

你可能感兴趣的:(java故事之致敬坚持梦想的人)