首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java记录任务完成时间的智能解决方案是什么?

用Java记录任务完成时间的智能解决方案是什么?
EN

Stack Overflow用户
提问于 2015-03-11 15:40:48
回答 2查看 51关注 0票数 0

在批处理Java应用程序(一个运行在控制台上的应用程序)中,我必须记录执行特定任务所需的时间(一些操作是查询执行)。

因此,我认为要做到这一点,我可以在任务开始之前检索日期和时间,并在任务完成后再取一次,然后从第二个值中减去第一个值,然后使用log4j将结果打印到日志文件中。

但是,如果它是一个好的解决方案是正确的,我如何才能正确地获得这个值(日期和时间)?

有什么更聪明的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-11 15:50:39

下面是一个以毫秒为单位的结果示例:

代码语言:javascript
复制
public Connection getConnection(String inConnectionType) throws TSPException {
    long start = System.nanoTime();

    Connection conn = null;
    try {
        DataSource dataSource = getDataSource(inConnectionType);
        conn = dataSource.getConnection();
    } catch (SQLException e) {
        log.error(e);
        throw new TSPException(e);
    }

    long end = System.nanoTime();
    double duration = (end - start) / 1000000.0;

    log.debug("Duration getting external db connection=" + duration);

    return conn;
}
票数 1
EN

Stack Overflow用户

发布于 2015-03-11 16:03:26

就像约翰建议的那样,你可以看看如何度量Java中经过的时间?

如果您想测量一些任务,可能使用System.nanoTime(),存储值和执行计算对您来说就足够了。

如果您需要更复杂的东西,我建议您看看java.time (Java 8)或尤达-时间。两者都为衡量时间长短提供了期限和期限的概念。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28991060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档