首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏拂晓风起

    Java精确测量代码运行时间 代码执行时间 纳秒 nanoTime

    Java精确测量代码运行时间:         long startTime = System.nanoTime();  //開始時間         for(int i = 0;i<10000;i++ ){             ;         }         long consumingTime = System.nanoTime() - startTime; //消耗時間         System.out.println(consumingTime);         System.out.println(consumingTime/1000+"微秒"); JDK的解释: public static long nanoTime For example, to measure how long some code takes to execute: long startTime = System.nanoTime(); long estimatedTime = System.nanoTime() - startTime; 返回: The current value of the system timer, in nanoseconds

    1.4K20发布于 2018-07-03
  • 来自专栏码匠的流水账

    聊聊resilience4j的CircuitBreaker

    { CircuitBreakerUtils.isCallPermitted(circuitBreaker); long start = System.nanoTime { T returnValue = supplier.apply(); long durationInNanos = System.nanoTime open", circuitBreaker.getName()))); } else { final long start = System.nanoTime (); try{ runnable.run(); long durationInNanos = System.nanoTime (); try{ runnable.run(); long durationInNanos = System.nanoTime

    1.3K10发布于 2018-09-17
  • 来自专栏猫头虎博客专区

    LocalDateTime.now() 的精度和开销问题:Java中如何可靠地测量极短的微秒时间间隔

    () long startNanos = System.nanoTime(); insertionSort(arr); long endNanos = System.nanoTime ✅ 正确做法:使用 System.nanoTime()Java 官方推荐使用 System.nanoTime() 来测量短时间间隔。 相较于 LocalDateTime.now(),System.nanoTime() 具有以下优点:高精度:System.nanoTime() 提供纳秒级别的精度,实际的分辨率取决于操作系统,通常为 10 开销极小:System.nanoTime() 直接读取 CPU 的 TSC(时间戳计数器),其开销极低。 代码示例以下是如何使用 System.nanoTime() 测量极短时间间隔的代码示例:long startTime = System.nanoTime();// 执行你的操作,譬如排序sortArray

    22510编辑于 2025-11-11
  • 来自专栏desperate633

    如何高效的判断一个数组里是否含特定元素判断一个数组里是否含有特定元素的四种方法时间复杂度测试小结

    String[] { "CD", "BC", "EF", "DE", "AB"}; //using list long startTime = System.nanoTime for(int i=0;i<1000000;i++) useList(arr, "A"); long endTime = System.nanoTime for (int i = 0; i < 1000000; i++) { useSet(arr, "A"); } endTime = System.nanoTime for (int i = 0; i < 1000000; i++) { loop(arr, "A"); } endTime = System.nanoTime String[] { "CD", "BC", "EF", "DE", "AB"}; //using list long startTime = System.nanoTime

    1.7K20发布于 2018-08-22
  • 来自专栏技术杂货店

    java集合【12】——— ArrayList,LinkedList,Vector的相同点与区别是什么?

    static void addLinkedList(){ List list = new LinkedList(); long startTime = System.nanoTime for(int i=0;i<100000;i++){ list.get(i); } long endTime = System.nanoTime for(int i=0;i<100000;i++){ list.get(i); } long endTime = System.nanoTime for(int i=0;i<100000;i++){ list.get(i); } long endTime = System.nanoTime list.isEmpty()) { } long endTime = System.nanoTime(); System.out.println((endTime

    63430发布于 2021-03-26
  • 来自专栏CodeWwang

    遍历List效率分析

    /*使用迭代器去遍历*/ long time1 = System.nanoTime(); Iterator<ApiResponse> iterator = spiderResults.iterator ()-time1)+" ms"); /*使用foreach循环去遍历*/ long time2 = System.nanoTime(); for(ApiResponse i:spiderResults ) { } System.out.println("Foreach程序耗时:"+(System.nanoTime()-time2)+" ms"); /*使用for循环遍历*/ long time3 = System.nanoTime(); for(int l=0;l<spiderResults.size();l++){ ApiResponse o = spiderResults.get(l ); } System.out.println("For循环程序耗时:"+(System.nanoTime()-time3)+" ms"); /*使用Stream遍历*/ long time4

    89910编辑于 2022-08-24
  • 来自专栏坚毅的PHP

    HBase行锁与MVCC分析

    () - time)); time = System.nanoTime(); Integer lid = getLock (updateLockTime.get() + (System.nanoTime() - time)); time = System.nanoTime(); () - time)); time = System.nanoTime(); kvset.add(new KeyValue () - time)); time = System.nanoTime(); mvcc.completeMemstoreInsert (localizedWriteEntry); mvccTime.set(mvccTime.get() + (System.nanoTime() - time));

    1.9K50发布于 2018-03-20
  • 来自专栏博客迁移同步

    字符串逆序方法比较

    (); reversePrint(s, 0); // 直接打印 long e1 = System.nanoTime(); System.out.println System.out.println((e1-l1)+"ns"); System.out.println(); long l2 = System.nanoTime (); System.out.println(reverseString(s, 0)); // 直接递归到底层返回逆序回串 long e2 = System.nanoTime (); System.out.println(reverseString1(s)); // 二分递归到底层返回逆序串 long e3 = System.nanoTime( System.out.println(reverseString2(s)); // 和java的StringBuilder一样的实现 long e4 = System.nanoTime

    1K10编辑于 2023-05-06
  • 来自专栏CSDNToQQCode

    【蓝桥杯Java_C组·从零开始卷】第八节、集合——list详解(ArrayList、 LinkedList 和 Vector之间的区别)

    (); for (int i = 0; i < 100000; i++) { arrayList.add(i); } long endTime = System.nanoTime( (); for (int i = 0; i < 100000; i++) { linkedList.add(i,i); } endTime = System.nanoTime(); (); for (int i = 0; i < 10000; i++) { linkedList.get(i); } endTime = System.nanoTime(); (); for (int i = 9999; i >= 0; i--) { arrayList.remove(i); } endTime = System.nanoTime(); (); for (int i = 9999; i >= 0; i--) { linkedList.remove(i); } endTime = System.nanoTime();

    39120编辑于 2022-11-29
  • 来自专栏快乐阿超

    toArray指定的容量和效率关系

    COUNT); for (int i = 0; i < COUNT; i++) { list.add(i * 1.0); } long start = System.nanoTime notEnoughArray = new Double[COUNT - 1]; list.toArray(notEnoughArray); long middle1 = System.nanoTime Double[] equalArray = new Double[COUNT]; list.toArray(equalArray); long middle2 = System.nanoTime Double[] doubleArray = new Double[COUNT * 2]; list.toArray(doubleArray); long middle3 = System.nanoTime (); list.toArray(new Double[0]); long end = System.nanoTime(); long notEnoughArrayTime =

    58210编辑于 2022-08-16
  • 来自专栏Netty历险记

    Netty杂记

    final long ioTime = System.nanoTime() - ioStartTime; // 3.执行任务 ScheduledFutureTask.nanoTime() + timeoutNanos : 0; long runTasks = 0; long lastExecutionTime; for (;;) { safeExecute(task); runTasks ++; // 每64个任务检查一次超时,因为nanoTime( )比较昂贵. // Check timeout every 64 tasks because nanoTime() is relatively expensive. // 那我们看一下java.lang.System#nanoTime源码. // 源码位置: java.lang.System#nanoTime public static native long nanoTime

    58310编辑于 2022-06-02
  • 来自专栏技术杂货店

    java集合【12】——— ArrayList,LinkedList,Vector的相同与区别?

    static void addLinkedList(){ List list = new LinkedList(); long startTime = System.nanoTime for(int i=0;i<100000;i++){ list.get(i); } long endTime = System.nanoTime for(int i=0;i<100000;i++){ list.get(i); } long endTime = System.nanoTime for(int i=0;i<100000;i++){ list.get(i); } long endTime = System.nanoTime list.isEmpty()) { } long endTime = System.nanoTime(); System.out.println((endTime

    57920编辑于 2022-02-15
  • 来自专栏CSDNToQQCode

    Java程序运行纳秒级差值计算

    0.000001 毫秒 1纳秒=0.00000 0001秒 其实翻过来看更清晰,咱们看毫秒啊 100000纳秒=1毫秒 java的System.currentTimeMillis()和System.nanoTime ()区别: java中System.nanoTime()返回的是纳秒, nanoTime而返回的可能是任意时间,甚至可能是负数…… java中System.currentTimeMillis( main(String[] args) { //1纳秒=0.000001 毫秒 //100000纳秒=1毫秒 int count=100000; long start = System.nanoTime for (int i = 1; i <= count; i++) { sum+=i; } System.out.println(sum); long end = System.nanoTime

    1.1K20编辑于 2022-11-29
  • 来自专栏码匠的流水账

    聊聊Elasticsearch RestClient的DeadHostState

    should be retried, false otherwise */ boolean shallBeRetried() { return timeSupplier.nanoTime { TimeSupplier DEFAULT = new TimeSupplier() { @Override public long nanoTime () { return System.nanoTime(); } @Override public String toString() { return "nanoTime"; } }; long nanoTime previousDeadHostState.failedAttempts * 0.5 - 1) DeadHostState提供了shallBeRetried方法,其判断逻辑为timeSupplier.nanoTime

    79810发布于 2019-05-21
  • 来自专栏CSDNToQQCode

    PrintWriter(三种使用方式效率对比)——单位(纳秒)

    public class demo { public static void main(String[] args) { int count=100; long start = System.nanoTime OutputStreamWriter(System.out))); for (int i = 0; i < count; i++) { pw.println(i); } long end = System.nanoTime public class demo { public static void main(String[] args) { int count = 100; long start = System.nanoTime public class demo { public static void main(String[] args) { int count = 100; long start = System.nanoTime PrintWriter(System.out); for (int i = 0; i < count; i++) { pw.println(i); } long end = System.nanoTime

    68420编辑于 2022-11-29
  • 来自专栏desperate633

    Java的HashSet vs. TreeSet vs. LinkedHashSet比较

    >(); LinkedHashSet<Dog> linkedSet = new LinkedHashSet<Dog>(); // start time long startTime = System.nanoTime ) { int x = r.nextInt(1000 - 10) + 10; hashSet.add(new Dog(x)); } // end time long endTime = System.nanoTime = endTime - startTime; System.out.println("HashSet: " + duration); // start time startTime = System.nanoTime ; i++) { int x = r.nextInt(1000 - 10) + 10; treeSet.add(new Dog(x)); } // end time endTime = System.nanoTime = endTime - startTime; System.out.println("TreeSet: " + duration); // start time startTime = System.nanoTime

    82340发布于 2018-08-22
  • 来自专栏技术专家成长之路

    老徐和阿珍的故事:ArrayList和LinkedList的效率到底哪个高?

    所耗费的时间(单位:ms) */ public static long addHeader(List<String> list, int count) { long start = System.nanoTime for (int i = 0; i < count; i++) { list.add(0, "onemore-" + i); } long end = System.nanoTime 0; i < count; i++) { list.add(list.size() / 2, "onemore-" + i); } long end = System.nanoTime for (int i = 0; i < count; i++) { list.add("onemore-" + i); } long end = System.nanoTime (); for (int i = 0; i < count; i++) { list.remove(0); } long end = System.nanoTime

    64510编辑于 2022-06-14
  • 来自专栏快乐阿超

    性能有点不错的时间工具类

    yyyy-MM-dd HH:mm:SSS"; public static void main(String[] args) { // 原始方式 long dateTimeStart = System.nanoTime DateTimeFormatter.ofPattern(PATTERN))).limit(10000).collect(Collectors.toList()); long dateTimeEnd = System.nanoTime dateTimeEnd - dateTimeStart) / (1000.0 * 1000.0) + "ms"); // 工具类,手动获取实例 long start = System.nanoTime format(System.currentTimeMillis())).limit(10000).collect(Collectors.toList()); long end = System.nanoTime System.currentTimeMillis())).limit(10000).collect(Collectors.toList()); long patternEnd = System.nanoTime

    51520编辑于 2022-08-16
  • 来自专栏快乐阿超

    removeIf

    Stream.iterate(0, e -> ++e).limit(20).collect(Collectors.toList()); long filterStart = System.nanoTime intList.stream().filter(a -> a % 2 == 0).collect(Collectors.toList()); long filterEnd = System.nanoTime 执行了" + ((filterEnd - filterStart) / (1000.0 * 1000.0)) + "ms"); long removeIfStart = System.nanoTime = 0); long removeIfEnd = System.nanoTime(); System.out.println("removeIfEnd执行了" + ((removeIfEnd

    26820编辑于 2022-08-16
  • 来自专栏码匠的流水账

    聊聊Elasticsearch RestClient的DeadHostState

    should be retried, false otherwise */ boolean shallBeRetried() { return timeSupplier.nanoTime { TimeSupplier DEFAULT = new TimeSupplier() { @Override public long nanoTime () { return System.nanoTime(); } ​ @Override public String toString() { return "nanoTime"; } }; ​ long nanoTime previousDeadHostState.failedAttempts * 0.5 - 1) DeadHostState提供了shallBeRetried方法,其判断逻辑为timeSupplier.nanoTime

    71130发布于 2019-05-17
领券