Java中的惰性评估是什么及怎么实现
发表于:2024-10-26 作者:千家信息网编辑
千家信息网最后更新 2024年10月26日,这篇文章主要介绍了Java中的惰性评估是什么及怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中的惰性评估是什么及怎么实现文章都会有所收获,下面我们一起来看
千家信息网最后更新 2024年10月26日Java中的惰性评估是什么及怎么实现
这篇文章主要介绍了Java中的惰性评估是什么及怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中的惰性评估是什么及怎么实现文章都会有所收获,下面我们一起来看看吧。
1、说明
惰性评估是将表达式的评估延迟到需要时才进行的过程。Java是严格的立即赋值评估。
可以使用lambda表达式和高阶函数将其重写为延迟评估的版本。
2、实例
public class LazySample { public static void main(String[] args) { //这是一个lambda表达式,表现为闭包 UnaryOperator add = t -> { System.out.println("executing add"); return t + t; }; //这是一个lambda表达式,表现为闭包 UnaryOperator multiply = t -> { System.out.println("executing multiply"); return t * t; }; //传递Lambda闭包而不是普通函数 System.out.println(addOrMultiply(true, add, multiply, 4)); System.out.println(addOrMultiply(false, add, multiply, 4)); } //这是一个高阶函数 static R addOrMultiply( boolean add, Function onAdd, Function onMultiply, T t ) { // Java的?会懒惰计算表达式,因此仅执行所需的方法 return (add ? onAdd.apply(t) : onMultiply.apply(t)); }}
实例扩展:
public class SingleLock implements Lazy { private Callable codeBlock; private V value; public SingleLock(Callable codeBlock) { this.codeBlock = codeBlock; } @Override public synchronized V get() { if (value == null) { setValue(); } return value; } private void setValue() { try { value = codeBlock.call(); } catch (Exception e) { throw new RuntimeException(e); } } }
关于"Java中的惰性评估是什么及怎么实现"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"Java中的惰性评估是什么及怎么实现"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
评估
惰性
表达式
函数
知识
这是
闭包
内容
实例
篇文章
高阶
延迟
懒惰
普通
价值
操作简单
文章
方法
易懂
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
2021网络安全法知识题库答案
解决网络安全方法论
德阳市用友软件开发公司地址
app软件开发项目文档
数据库查询学不会怎么办
淘宝数据库负责人
幅度和相位赋形网络技术
好友关系链数据库
软件开发人员人效评估
获取数据库中的数据乱码
云服务器镜像选择
网络安全产业大有可为
系统的服务对象和服务器
普法网络安全手抄报图片
开州区咨询软件开发流程常见问题
学校安全教育和网络安全
小学国家网络安全宣传ppt
广州雷猴软件开发
usb打印服务器
海康威视监控管理服务器
全国网络安全宣传周是什么时候
伯尔尼报纸数据库
ftp服务器怎么下载
数据库主从延迟的解决方案
轩宇网络技术有限公司
北京erp软件开发价格如何计算
三级网络技术知识点盘
正元管线数据库建立
sq12009数据库下载
数据库设计实现平均数