前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >程序员刚写完代码 , 就被开除了

程序员刚写完代码 , 就被开除了

作者头像
乔戈里
发布2019-09-17 14:21:48
7330
发布2019-09-17 14:21:48
举报
文章被收录于专栏:Java那些事

最近在网上看到的两段“写完代码就被公司开除”的代码,说是网上写完这段代码,就被老板开除了。

1.第一段代码

这位程序员写完这段代码,觉得自己被开除是因为没有写注释,看到这里不禁笑出了声。。。

兄嘚(dei),肯定不是这个原因,获取下一天的时间,你使用了Thread.sleep()睡眠了1天以后,然后再去获取当前的时间,通过这种方式,如果上线以后,那么但凡涉及到获取下一天的时间的操作,用户一点击,你让用户等一天再去看显示结果吗???哈哈~,老板不开除你才是奇怪呢!

那么正确的获取下一天的姿势应该是什么样的呢?我这里给一个示例。

代码语言:javascript
复制
import java.util.Date;
public class Main {
    private static Date getNextDay(Date date) {
        long addTime = 1;//这个代表几天
        addTime *= 1;    //1天
        addTime *= 24;   //一天24小时
        addTime *= 60;   //1小时60分钟
        addTime *= 60;   //1分钟60秒
        addTime *= 1000; //1秒1000毫秒
        Date nextDate = new Date(date.getTime() + addTime);
        return nextDate;
    }
    public static void main(String[] args) {
        Date now = new Date();
        System.out.println("Now: " + now);
        System.out.println("NextDay: " + getNextDay(now));
    }
}

这个代码利用Date来获取下一天,只是一个库函数的简单使用,我们来看看运行结果,一点击运行,不到0.000xxx1s的时间,就出来了下一天的日期,根本不用等待一天,效率是不是提高了?

代码语言:javascript
复制
Now: Fri Nov 02 22:19:43 CST 2018
NextDay: Sat Nov 03 22:19:43 CST 2018

2.第二段代码

这位兄弟是老板让写一个排序,他是怎么实现的呢?

通过看代码,可以看出来这位兄弟的思路是数组中每有一个数,就去用new Thread()去开一个线程,线程里面呢,就是用Thread.sleep()去睡眠这个数的的大小时间。举例比如说11,他就开一个线程去睡眠11s,然后去输入11;对于998,他就开一个线程去睡眠998秒,然后去输出998。

由于线程互相之间没有影响,所以数小的线程由于睡眠时间短,肯定会最先输出,数大的线程由于睡眠时间长,肯定会最后输出,最后就把这些数字排好序了。

额,看到这里。。。

如果数组中的数据非常大,那么排序所用的时间也会非常大;而且如果数组中的数有很多,会开很多线程,消耗的资源也很多,总之这种做法是万万不可取的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员乔戈里 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档