获取lambda代理
发表于|更新于
|浏览量:
伯乐不可欺以马,君子不可欺以人——荀子
代码如下:
1 | MethodHandles.Lookup lookup = MethodHandles.lookup(); |

此处的lambda代理对象同样可以执行lambda对应的方法
相关推荐
2021-10-30
花里胡哨的peeks
莫见乎隐,莫显乎微,故君子慎其独也。一一《礼记》 今天又给hutool提交了PR,将前两天写的动态函数式参数用了起来 https://gitee.com/dromara/hutool/pulls/445 [新特性]你啊,总能给我整出点新花样 【以前使用peek】 1Opt.ofNullable("hutool").peek(user::setUsername).peek(user::setNickname); 【现在使用peeks】 1Opt.ofNullable("hutool").peeks(user::setUsername, user::setNickname); 什么?没看出有什么区别?都差不多???Na Na Na!接着往下看:首先是它使用java动态参数(可变参数)的特性,你可以传入0个或n个你想要的操作,例如: 【以前使用peek】 12345678if (condition) { // 满足条件,我就要把username设置为Opt中的值 hutool.peek(user::setUserna...
2023-01-06
升级mp新版本后,service里removeByIds主键类型不一致报错
先谋后事者逸,先事后图者失。——陈子昂 场景: 主键类型是Integer,使用service中removeByIds,传入List<String>报错 MP用的mybatis的反射,只需要在表信息初始化后,获取反射的缓存map,往里面放入我们自定义的转换操作即可 代码如下: 12345678910111213141516171819202122232425262728293031323334353637383940414243import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;import com.baomidou.mybatisplus.core.metadata.TableInfo;import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;import io.github.vampireachao.stream.core.reflect.ReflectHelper;import io.github....
2022-02-17
启动时获取端口号
人类文化的悲哀,是流俗的易传、高雅的失传。——木心 我们可以如下写法在boot项目启动时获取端口号 12345678910111213141516171819202122232425package com.ruben.simplescaffold;import lombok.extern.slf4j.Slf4j;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ConfigurableApplicationContext;import org.springframework.core.env.Environment;/** * 主启动类 * * @author <achao1441470436@gmail.com> * @since 2021/5/18 0018 14:52 */@Slf4j@SpringBoot...
2020-11-01
java8的stream流(二)
字典里最重要的三个词,就是意志、工作、等待。我将要在这三块基石上建立我成功的金字塔——(法)巴斯德 之前写过一个关于stream流的博客,这次再做个补充吧 1234567891011121314// 取出第一条,没取到则为0Integer first = someNumber.stream().findFirst().orElse(0);// 随机取一个,没取到则为0Integer any = someNumber.stream().findAny().orElse(0);// 直接取和,没取到则为0Integer sum = someNumber.stream().reduce(Integer::sum).orElse(0);// 不包含20为trueboolean noneMatch = someNumber.stream().noneMatch(data -> data == 20);// 全部大于0为trueboolean allMatch = someNumber.stream().allMatch(data -> data > 0);// 任何等...
2024-05-04
未来或将用Markdown写JavaDoc
当囊空如洗时才开始节约的话,那就为时太晚了。——塞内加 提案链接:JEP 467: Markdown Documentation Comments 1995 年的 HTML 写 JavaDoc 到现在已经快过时啦,于是 Jonathan Gibbons 提议用 Markdown 写 JavaDoc。目前这个提议在“Proposed to Target”状态,根据社区反响,这个提议很大概率能在 Java SE 23 版本中发布。 新的文档注释将使用 /// 而不是传统的 /** ... */。这样做的好处是: 避免了在文档注释中使用传统注释(如 /*...*/)可能引发的问题。 消除了使用星号的传统注释可能带来的 Markdown 语法冲突。 下面的 JavaDoc 和 Markdown 版本的文档注释对比。 JavaDoc 版本: 1234567/** * Returns a hash code value for the object. This method is * supported for the benefit of hash tables such as t...
2024-12-21
apache-cassandra
生活的情况越艰难,我越感到自己更坚强,甚而也更聪明。——高尔基 Github: https://github.com/apache/cassandra/ 官方文档: https://cassandra.apache.org/ 最近开始接触Apache Cassandra,这是一款开源的分布式NoSQL数据库,特别适合处理大量结构化数据,具有高可用性和无单点故障的特点。听说它采用了Dynamo和Bigtable的架构设计,存储模型是基于列的,非常适合需要快速写入和查询的场景,比如时间序列数据、物联网应用等等。 先简单说说安装,直接从官网下载二进制文件,解压后进入bin目录,运行cassandra即可启动。第一次运行时需要初始化数据目录,默认情况下配置文件在conf目录下,建议先熟悉一下里面的参数,特别是cassandra.yaml,很多关键配置都在这里。如果是用Docker,也可以直接拉取官方镜像,运行一条简单的命令就可以启动一个容器,非常方便。 使用Docker运行也很简单,拉取官方镜像: 1docker pull cassandra 启动一个Cassandra实例: 1...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog