zoukankan      html  css  js  c++  java
  • lambda函数式编程思想

    lambda优化日志案例

    public class Demo {
    
        public static void show_log(int i ,String msg){
            if (i == 1){
                System.out.print(msg);
            }
        }
    
        public static void main(String[] args) {
            show_log(2,"hello");
            show_log(1,"world");
            show_log(1,"java");
        }
    
    }

    从案列中可以看出,不管日志级别 是不是1,但是当输出的时候,msg还是会先进行拼接,拼接后才去输出,这就造成了性能浪费。

    lambda优点:延时加载

    lambda的适用前提,必须存在函数式接口

    @FunctionalInterface
    public interface DemoLambda {
        public abstract String show_log();
    }
    public class Demo02 {
        public static void main(String[] args) {
            String msg1 = "hello";
            String msg2 = "world";
            String msg3 = "java";
            showLog(2,()->{
                return msg1+msg2+msg3;
            });
        }
        public static void showLog(int level ,DemoLambda msg){
            //定义个亿显示日志的方法,方法参数传递日志的等级和msg接口
            if (level == 1){
                System.out.println(msg.show_log());
            }
        }
    }

    这样就做到了性能优化;

  • 相关阅读:
    tftp服务、串口工具minicom
    意外的“黄金点”
    软件工程实践总结
    关于 K米 —— 的案例分析
    关于git的学习
    第二次作业_需求分析与原型设计
    安装appium
    淘宝
    Selenium API基础 8种定位
    selenium
  • 原文地址:https://www.cnblogs.com/bozhengheng/p/12208739.html
Copyright © 2011-2022 走看看