Java多线程三:补充知识

news/2025/2/24 3:03:02

精心整理了最新的面试资料,有需要的可以自行获取

点击前往百度网盘获取
点击前往夸克网盘获取

Lambda表达式

简介:
  • 希腊字母表中排序第十一位的字母,英语名称为Lambda
  • 避免匿名内部类定义过多
  • 其实质属于函数式编程的概念
为什么要使用lambda表达式
  • 避免匿名内部类定义过多
  • 可以让代码看起来很简洁
  • 去掉了一堆没有意义的代码,只留下核心的逻辑。
函数式接口的定义:

任何接口,如果只包含唯一一个抽象方法,那么它就是一个函数式接口。
例如:

java">public interface Runnable {
	public abstract void run();
}

对于函数式接口,我们可以通过lambda表达式来创建该接口的对象。
代码演示:

java">public class TestLambda {
    //2.静态内部类
    static class Test2 implements Lambda{
        @Override
        public void lam(int a){
            System.out.println("i like2 you" + a);
        }
    }
    public static void main(String[] args) {
        Lambda lambda = new Test1();
        lambda.lam(5);
        lambda = new Test2();
        lambda.lam(6);

        //3.局部内部类
        class Test3 implements Lambda{
            @Override
            public void lam(int a){
                System.out.println("i like3 you" + a);
            }
        }
        lambda = new Test3();
        lambda.lam(7);

        //4.匿名内部类,没有类的名称,必须借助接口或父类
        lambda = new Lambda() {
            @Override
            public void lam(int a) {
                System.out.println("i like4 you" + a);
            }
        };
        lambda.lam(8);

        //5.lambda简化
        lambda = (a)->{
            System.out.println("i like5 you" + a);
        };
        lambda.lam(9);
    }
}
interface Lambda{
    void lam(int a);
}
//1.实现类
class Test1 implements Lambda{
    @Override
    public void lam(int a){
        System.out.println("i like1 you" + a);
    }
}   

代码结果:
在这里插入图片描述


http://www.niftyadmin.cn/n/5863940.html

相关文章

什么是RPC,和HTTP有什么区别?

RPC是Remote ProcedureCall的缩写,译为远程过程调用。要想实现RPC通常需要包含传输协议和席列化协议的实现。 而我们熟知的HTTP,他的中文名叫超文本传输协议,所以他就是一种传输协议。所以,我们可以认为RPC和HTTP并不是同一个维度…

openGL和C#下使用openGL

OpenGL 简介 OpenGL(Open Graphics Library)是一个跨平台、跨语言的图形编程接口,用于渲染 2D 和 3D 矢量图形。它由 Khronos Group 维护,广泛应用于游戏开发、科学可视化、虚拟现实等领域。 核心特点 跨平台:支持 Wi…

【MySQL】快速理解脏读、不可重复读、幻读

数据库事务的并发控制是保障数据一致性的核心机制,而脏读(Dirty Read)、不可重复读(Non-repeatable Read)和幻读(Phantom Read)是事务隔离级别设计中需要解决的三大典型问题。理解它们的区别与关…

RoCBert:具有多模态对比预训练的健壮中文BERT

摘要 大规模预训练语言模型在自然语言处理(NLP)任务上取得了最新的最优结果(SOTA)。然而,这些模型容易受到对抗攻击的影响,尤其是对于表意文字语言(如中文)。 在本研究中&#xff0…

LangChain-基础(prompts、序列化、流式输出、自定义输出)

LangChain-基础 我们现在使用的大模型训练数据都是基于历史数据训练出来的,它们都无法处理一些实时性的问题或者一些在训练时为训练到的一些问题,解决这个问题有2种解决方案 基于现有的大模型上进行微调,使得它能适应这些问题(本…

Spring MVC 与 Spring Boot:从“手动挡”到“自动驾驶”的进化论,兼谈前后端分离的哲学

引言:当“造轮子”成为一门艺术 在 Java 开发者的世界里,Spring 框架就像空气一样无处不在。但你是否想过:为什么我们需要 Spring Boot?为什么在“前后端分离”大行其道的今天,Spring MVC 依然活跃在舞台上&#xff1…

伦敦金库彻底断供的连锁反应推演(截至2025年02月22日)

‌当前背景‌:伦敦金库黄金库存仅剩‌147吨‌(为正常水平的1.8%),瑞士精炼厂交付延迟超8周,纽约COMEX黄金库存/未平仓合约比突破‌1:105‌(警戒阈值1:50)。若伦敦金库彻底断供,将触发…

【PostgreSQL】如何通过调整PostgreSQL配置参数提高数据库性能

如何通过调整PostgreSQL配置参数提高数据库性能 1. 数据库初始性能2. 内存相关参数3. WAL(Write-Ahead Logging)相关参数4. 并行查询相关参数5. 连接相关参数6. 根据情况调整 1. 数据库初始性能 使用pgbench在更新PostgreSQL数据库配置前先测试下数据库…