翻车!居然在这里翻车了!!!
时间:2022-07-26
本文章向大家介绍翻车!居然在这里翻车了!!!,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
首先看代码一:
@FunctionalInterface
public interface MyFunctionInterface {
public abstract String myMethod();
}
public class Demo {
private static void show(int i, MyFunctionInterface myFunctionInterface) {
if (i == 1) {
System.out.println(myFunctionInterface.myMethod());
}
}
public static void main(String[] args) {
String msgA = "你好";
String msgB = "Hello";
String msgC = "Java";
show(2, () -> {
System.out.println("我执行了");
return msgA + msgB + msgC;
});
}
}
再来看代码二:
public class Demo {
private static void show(int i, String str) {
if (i == 1) {
System.out.println(str);
}
}
public static void main(String[] args) {
String msgA = "你好";
String msgB = "Hello";
String msgC = "Java";
show(2, msgA + msgB + msgC);
}
}
此前,我一直认为代码一应该比代码二更省时,毕竟 Lambda 表达式延迟执行,不用提前拼接字符串没有造成性能浪费。然而我在最近重新写 Java 基础博文的时候运行了上述代码,结果 翻车了!
再来看看 idea 运行结果:
代码一执行耗时:34149500
纳秒,代码二执行耗时:28200
纳秒,使用了 Lambda 表达式的代码居然跑不过没有使用的,而且二者完全不是一个数量级。是我对 Lambda 表达式延迟执行有什么误解?还是说 idea 2020.1 对于字符串进行了什么骚操作?
- Enterprise Library 4.1学习笔记3----安全应用程序块
- mysql密码遗忘和登陆报错问题
- 新一轮发展趋势:城市智能化已经势不可挡
- Enterprise Library 4.1学习笔记2----数据访问程序块
- 微信小程序中用户唯一ID的获取
- Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
- Enterprise Library 4.1学习笔记1----配置应用程序块(c/s和b/s均适用)
- 简单账本-用完即走的微信小程序
- 新技术革命和新产业变革正进行 “互联网+大数据+人工智能+”时代正到来
- 微信小程序开发及相关设置小结
- gitlab两种连接方式:ssh和http配置介绍
- C#实现微信AES-128-CBC加密数据的解密
- UrlReferrer为空的问题?
- DeepMind发文回顾2017:AlphaGo团队已迎战下一个重大挑战
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法