当前位置: 首页 > wzjs >正文

质量检测中心培训网站网站建设与运维预算

质量检测中心培训网站,网站建设与运维预算,石门县建设局网站,食品网络营销策划方案函数式接口的作用和优点 函数式接口的作用 函数式接口(Functional Interface)是Java 8引入的核心概念之一,主要作用包括: 支持Lambda表达式:函数式接口是Lambda表达式的目标类型,使得可以用更简洁的方式表示匿名内部类行为参数…

函数式接口的作用和优点

函数式接口的作用

函数式接口(Functional Interface)是Java 8引入的核心概念之一,主要作用包括:

  1. 支持Lambda表达式:函数式接口是Lambda表达式的目标类型,使得可以用更简洁的方式表示匿名内部类
  2. 行为参数化:可以将方法作为参数传递,实现更灵活的代码结构
  3. 函数式编程基础:为Java引入函数式编程范式提供基础支持
  4. 简化回调机制:替代传统的匿名内部类实现回调

函数式接口的优点

  1. 代码简洁性:
    相比匿名内部类,Lambda表达式大幅减少样板代码
    示例:(a, b) -> a + b 替代了多行的匿名类实现
  2. 可读性增强:
    更直观地表达意图,特别是对于简单的操作
    减少不必要的类和方法声明
  3. 并行处理支持:
    与Stream API结合,便于实现并行操作
    示例:list.parallelStream().map(x -> x*2).collect(…)
  4. 组合性:
    可以通过方法引用和组合操作构建复杂行为
    示例:andThen()、compose()等方法组合多个函数
  5. 延迟执行:
    Lambda表达式可以延迟到需要时才执行
    示例:Supplier接口的get()方法
  6. 内置常用接口:
    Java提供了java.util.function包,包含40多个常用函数式接口
    如Predicate、Function、Consumer、Supplier等

常见函数式接口示例

接口方法签名用途描述
Supplier<泛型>T get()无参数,返回一个结果(生产者)
Consumer<泛型>void accept(T t)接收一个参数,无返回值(消费者)
BiConsumer<T, U>void accept(T t, U u)接收两个参数,无返回值
Function<T, R>R apply(T t)接收一个参数,返回结果(映射)
BiFunction<T, U, R>R apply(T t, U u)接收两个参数,返回结果
Predicate<泛型>boolean test(T t)接收一个参数,返回布尔值(断言)
BiPredicate<T, U>boolean test(T t, U u)接收两个参数,返回布尔值

应用场景之封装Redisson分布式锁自动加锁和释放锁公共方法

定义一个函数式接口

/*** 定义业务函数式接口*/
@FunctionalInterface
public interface LogicFunction {/*** 业务逻辑*/void execute();}

定义一个工具类

import org.redisson.api.RLock;
import org.redisson.api.RedissonClient;/*** Redisson工具类*/
public final class RedissonUtils {//私有构造函数private RedissonUtils() {}//参数校验private static void notNull(Object object, String message) {if (object == null) {throw new IllegalArgumentException(message);}}/*** 自动加锁和释放锁公共方法** @param redisson RedissonClient* @param lockName 分布式锁的名称* @param logicFunction 业务逻辑函数* @return 是否加锁成功*/public static boolean lock(RedissonClient redisson, String lockName, LogicFunction logicFunction) {// 参数校验notNull(redisson, "redisson must not be null");notNull(lockName, "lockName must not be null");notNull(logicFunction, "LogicFunction must not be null");RLock lock = redisson.getLock(lockName);boolean tryLock = lock.tryLock();//没有获取到锁,直接返回if (!tryLock) {return false;}try {//业务逻辑logicFunction.execute();return true;} catch (Exception e) {// 直接抛出原始异常(RuntimeException)throw (RuntimeException) e;} finally {// 安全释放锁(避免在锁已自动释放时抛出IllegalMonitorStateException)if (lock.isHeldByCurrentThread()) {lock.unlock();}}}}

调用

	//依赖注入private final RedissonClient redisson;public void subProductLock() {boolean lock = RedissonUtils.lock(redisson, "subProductLock", () -> {//业务逻辑return;});if (!lock) {//获取锁失败的处理逻辑}}

文章转载自:

http://twskEHQq.sLzkq.cn
http://ZOfLFcr0.sLzkq.cn
http://5Ov5y9X0.sLzkq.cn
http://q3O5crlR.sLzkq.cn
http://6QkTRMIa.sLzkq.cn
http://Otz3VvwO.sLzkq.cn
http://JzugiQTd.sLzkq.cn
http://z8AC398L.sLzkq.cn
http://kq3ePgL8.sLzkq.cn
http://gwHRHBeJ.sLzkq.cn
http://oTN7pczS.sLzkq.cn
http://vnQiE2lj.sLzkq.cn
http://Ni2YvnYD.sLzkq.cn
http://GhZ5Pjfv.sLzkq.cn
http://mrUTiEtI.sLzkq.cn
http://bNj7jdon.sLzkq.cn
http://Aqcrl80B.sLzkq.cn
http://efdlk0OJ.sLzkq.cn
http://8wOsDcnc.sLzkq.cn
http://senW9nNK.sLzkq.cn
http://A4ELCpIC.sLzkq.cn
http://Cft384wU.sLzkq.cn
http://38R2ictD.sLzkq.cn
http://7O2MouMG.sLzkq.cn
http://PPJsod1j.sLzkq.cn
http://ltvizjUI.sLzkq.cn
http://VUsJBu1e.sLzkq.cn
http://xOWqmqTq.sLzkq.cn
http://CiCFGwX1.sLzkq.cn
http://eaBlZ7Vo.sLzkq.cn
http://www.dtcms.com/wzjs/758432.html

相关文章:

  • 做中国o2o网站领导义乌网站建设公司哪家好
  • 深圳个人网站设计龙海网站定制
  • 正品查询网站怎么做mysql8 wordpress
  • 昆明网站服务器云南网站seo服务
  • wordpress子目录建站湛江免费建站公司
  • 网站后台生成html网络推广软件排行榜
  • 做淘宝网站需要多少钱上海工程公司
  • 个人备案网站做盈利合法吗大兴安岭做网站
  • 郑州建站公司网站搜索seo引擎
  • 企业网站的设计策划浙江建设招生网站
  • 菏泽网的网站建设的联系方式网站开发实用技术相关论文
  • 沈阳军成网站建设怎样自己搭建网站
  • 企业建设网站要注意的要素科研网站建设
  • 重庆网站建设公自适应企业网站源码
  • 我的家乡网站建设模板下载wordpress如何调用js
  • 建设银行东莞招聘网站视频网站开发报告
  • 装修设计网站排行榜贵阳做网站的大公司
  • 小榄网站建设推广主要的电子商务网站有哪些
  • 网站建设分几块wordpress 课程系统
  • 网站联盟的收益模式设计师应该关注的网站
  • 色流网站如何做通用ppt模板免费
  • 网站优化价格视频号小店
  • 做网站资料准备北京天津网站建设
  • 网站管理系统后台南阳网站推广招聘
  • 卫浴网站怎么做大学生网页设计个人主页
  • 网站开发者模式下载视频wordpress ajax 搜索
  • 怎么设置网站权限网站建设合同需要交印花税吗
  • 网站域名多少钱一年新网站建设运营年计划
  • .net做的网站怎么样青海省城乡和住房建设厅网站
  • 在微信上怎么做网站做胃镜多少钱天津津门网站I