• System.nanoTime与System.currentTimeMillis的区别


    System.nanoTime提供相对精确的计时,以纳秒为单位,常在产生随机数函数以及线程池中的一些函数使用.

    public class SystemTimeTest {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            
            long startTime = System.nanoTime();
            createStringBuilder();
            long estimatedTime = System.nanoTime() - startTime;
            System.out.println(estimatedTime);  //1s=1000毫秒=1000000微秒=1000000000纳秒
            
        }
        
        /**
         * 测试StringBuilder执行一万次增加和清除字符串所花时间
         */
        private static void createStringBuilder() {
            StringBuilder sb = new StringBuilder();
            for(int i = 1; i <= 10000; i++){
                sb.append("Hello World");
                sb.delete(0, sb.length());
            }
            
        }
    
    }


    //运行结果:4713503

    System.currentTimeMillis单位毫秒,那么每次的结果将会差别很小,甚至一样,因为现代的计算机运行速度很快

    public class SystemTimeTest {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            
            long startTime = System.currentTimeMillis();
            createStringBuilder();
            long estimatedTime = System.currentTimeMillis() - startTime;
            System.out.println(estimatedTime);  //1s=1000毫秒=1000000微秒=1000000000纳秒
            
        }
        
        /**
         * 测试StringBuilder执行一万次增加和清除字符串所花时间
         */
        private static void createStringBuilder() {
            StringBuilder sb = new StringBuilder();
            for(int i = 1; i <= 10000; i++){
                sb.append("Hello World");
                sb.delete(0, sb.length());
            }
            
        }
    
    }

    //运行结果:4

    总结:nanoTime更细更精确,可用于线程中,currentTimeMillis可用来计算当前日期(精确到毫秒),星期几等,可以方便的与Date进行转换,用的时候根据需要取之.

    参考文档:https://blog.csdn.net/dliyuedong/article/details/8806868

  • 相关阅读:
    浅析WPhone、Android的Back与Home键
    Android音频播放之SoundPool
    Button、ImageButton及ImageView详解
    文本 To 音频
    gravity、layout_gravity及orientation
    项目规范性检测工具Lint
    Android视频播放之VideoView
    ContentProvider数据访问详解
    QQ第三方登录
    Android数据共享
  • 原文地址:https://www.cnblogs.com/goujh/p/8677570.html
Copyright © 2020-2023  润新知