Java代码如何使用位运算优化代码呢?

戚薇 Java经验 发布时间:2023-05-11 09:37:20 阅读数:3606 1
下文笔者讲述Java中普通运算优化为位运算--提速效果演示
如:
  乘以8,可转换为左移3位
  除以2,可使用右移1位
例:普通计算修改为位运算
package com.java265;

import java.util.Arraylist;
import java.util.List;

public class TestClass {
    public static void main(String[] args) {
        for (int i = 0; i < 10000; i++) {
            method();
            betterMethod();
        }
    }

    private static void betterMethod() {
        long startTime = System.nanoTime();
        int[] array = new int[]{123, 435, 4536, 5678, 123, 345, 435, 4536, 5678, 223};
        int length = array.length;
        for (int i = 0; i < length; i++) {
            int result = array[i] << 3 >> 1;
        }
        System.out.println("优化-位运算,总耗时:" + (System.nanoTime() - startTime) + "纳秒");
    }

    private static void method() {
        long startTime = System.nanoTime();
        List<Integer> list = new ArrayList<>();
        list.add(123);
        list.add(435);
        list.add(4536);
        list.add(5678);
        list.add(123);
        list.add(345);
        list.add(435);
        list.add(4536);
        list.add(5678);
        list.add(223);
        for (int i = 0; i < list.size(); i++) {
            int result = list.get(i) * 8 / 2;
        }
        System.out.println("普通运算,总耗时:" + (System.nanoTime() - startTime) + "纳秒");
    }
}

-----运行结果----------

普通运算,总耗时:600纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:800纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:800纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:700纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:600纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:600纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:600纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:600纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:700纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:2100纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:800纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:800纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:700纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:800纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:5500纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:900纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:700纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:800纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:700纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:3000纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:900纳秒
优化-位运算,总耗时:100纳秒
普通运算,总耗时:700纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:900纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:800纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:900纳秒
优化-位运算,总耗时:0纳秒
普通运算,总耗时:1000纳秒
优化-位运算,总耗时:0纳秒
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202305/16837690676403.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者