java编写的测试用时函数

java编写的测试用时函数

调用方法

long start_time=getCurrentNow();
 //
 wordCountMapReduce.main(new String[]{});
//
 long end_time=getCurrentNow();
String msg=getRunTime(end_time-start_time);
 System.out.println("用时:"+msg);

用时函数

    //----------------------------------
    public static long getCurrentNow()
    {
         return System.currentTimeMillis();
    }
    public static String getRunTime(long runTime_ms)
    {
        long day_xs = 60 * 60 * 24;
        long hour_xs = 60 * 60;
        long min_xs = 60;
        //
        long seconds = runTime_ms/1000;
        //相差总秒数
        long subs = seconds;
        //相差天数
        long iDays = subs / day_xs;
        //
        //相差小时数
        long day_ms = iDays * day_xs;
        long sy_ms = subs - day_ms;
        long iHours = sy_ms / hour_xs;
        //相差分钟数
        long hour_ms = iHours * hour_xs;
        long sy_min_ms = sy_ms - hour_ms;
        long iMin = sy_min_ms / min_xs;
        //相差秒数
        long Min_ms = iMin * min_xs;
        long sy_second_ms = sy_min_ms - Min_ms;
        long iSeconds = sy_second_ms;
        //
        String msg = "";
        if (iDays <= 0) {
            if (iHours <= 0) {
                if (iMin <= 0) {
                    msg = iSeconds + "秒";
                }
                else {
                    msg = iMin + "分钟" + iSeconds + "秒";
                }
            }
            else {
                msg = iHours + "小时" + iMin + "分钟";
            }
        }
        else {
                msg = iDays + "天" + iHours + "小时" + iMin + "分钟";
        }
        //
        return msg;
    }
    //----------------------------------
    //其它函数
    public static String getUTF_8(String str)
            throws UnsupportedEncodingException
    {
       return new String(str.getBytes("ISO-8859-1"), "UTF-8");
    }
    public static InetAddress getLocalHostLANAddress()  {
        try {
            InetAddress candidateAddress = null;
            // 遍历所有的网络接口
            for (Enumeration ifaces = NetworkInterface.getNetworkInterfaces(); ifaces.hasMoreElements(); ) {
                NetworkInterface iface = (NetworkInterface) ifaces.nextElement();
                // 在所有的接口下再遍历IP
                for (Enumeration inetAddrs = iface.getInetAddresses(); inetAddrs.hasMoreElements(); ) {
                    InetAddress inetAddr = (InetAddress) inetAddrs.nextElement();
                    if (!inetAddr.isLoopbackAddress()) {// 排除loopback类型地址
                        if (inetAddr.isSiteLocalAddress()) {
                            // 如果是site-local地址,就是它了
                            return inetAddr;
                        } else if (candidateAddress == null) {
                            // site-local类型的地址未被发现,先记录候选地址
                            candidateAddress = inetAddr;
                        }
                    }
                }
            }
            if (candidateAddress != null) {
                return candidateAddress;
            }
            // 如果没有发现 non-loopback地址.只能用最次选的方案
            InetAddress jdkSuppliedAddress = InetAddress.getLocalHost();
            return jdkSuppliedAddress;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值