Java学习之多线程3
Lambda表达式
1.避免匿名内部类定义过多
2.可以让代码看起来更简洁
3.去掉了一对无用的代码。函数式接口:1.任何接口只包含唯一一个抽象方法2.对于函数是借口,可用用lambda表达式来创建改接口的对象
/*
1.推导lambda表达式*/
public class TestLambda01 {public static void main(String[] args) {Like like = new Like();like.lambda();}
}
//1.定义一个函数式接口
interface ILike{void lambda();
}
//实现类
class Like implements ILike{@Overridepublic void lambda() {System.out.println("i like Lambda!");}
}
逐步简化:步骤
/*
1.推导lambda表达式*/
public class TestLambda01 {//3.静态内部类static class Like2 implements ILike{@Overridepublic void lambda() {System.out.println("I Like Lambda2!");}}public static void main(String[] args) {ILike like = new Like();like.lambda();like = new Like2();like.lambda();//4.局部内部类class Like1 implements ILike{@Overridepublic void lambda() {System.out.println("I like Lambda!3");}}like = new Like1();like.lambda();//5.匿名内部类 没有类的名称,必须借助接口或者父类like = new ILike() {@Overridepublic void lambda() {System.out.println("I like Lambda!4");}};like.lambda();//6.用lambda简化like = ()->{System.out.println("I like Lambda!5");};like.lambda();}
}
//1.定义一个函数式接口
interface ILike{void lambda();
}
//实现类
class Like implements ILike{@Overridepublic void lambda() {System.out.println("i like Lambda!");}
}
最终简洁代码:
public class TestLambda02 {public static void main(String[] args) {ILove love;love = (a)->{System.out.println("I Love You!---"+a);};love.Love(520);}
}
interface ILove{void Love(int a);
}
总结:1.lambda表达式,在省略参数类型时,需要全部省略2.只输出一行代码时可以省略花括号
Java学习之多线程3相关推荐
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- Java学习笔记---多线程并发
Java学习笔记---多线程并发 (一)认识线程和进程 (二)java中实现多线程的三种手段 [1]在java中实现多线程操作有三种手段: [2]为什么更推荐使用Runnable接口? [3][补充知 ...
- Java 学习 Day17 多线程
Java 学习 Day17 文章目录 Java 学习 Day17 一.基本概念:程序.进程.线程 二.线程的创建和使用 三.多线程的创建,方式一:继承于Thread类 四. 创建多线程的方式二:实现R ...
- java学习(多线程)
1.线程概念 进程则是执行程序的一次执行过程,他是一个动态的概念.是系统资源分配的单位 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义 核心概念 对同一份资源操作 ...
- java学习笔记 多线程(一)创建多线程,线程常用方法
首先是进程和线程的区别,进程就是像打开csgo.exe就是一个进程,然后打开LOL.exe又是另外一个进程了. 而线程呢,就是在同一进程内部,发生的事情. 那么就开始了解线程! 创建多线程: 线程有三 ...
- 【Java学习】多线程2
Java多线程的安全问题: 由于多线程的代码块中可能有共享资源,因此,当一个线程刚好使用共享资源时,CPU让改线程被吊起,转而执行另外一个线程时,第二个线程又去使用共享资源,从而出现共享资源不一致的状 ...
- java学习(六)多线程 上
进程:进程是一个正在执行的程序,这个程序呢都有一个执行顺序,这个执行顺序是一个执行路径,或者说是一个控制单元. 所有的进程不会同时发生,而是来回切换. 线程:打个比方,一堆货物,一个人搬花十个小时,十 ...
- Java学习笔记 --- 多线程
一.线程相关概念 程序 程序是为完成特定任务,用某种语言编写的一组指令的集合.简单的说就是我们写的代码 进程 1.进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存 ...
- Java学习笔记---多线程同步的五种方法
一.引言 前几天面试,被大师虐残了,好多基础知识必须得重新拿起来啊.闲话不多说,进入正题. 二.为什么要线程同步 因为当我们有多个线程要同时访问一个变量或对象时,如果这些线程中既有读又有写操作时,就会 ...
- Java学习:多线程(2)
线程中的一些方法 线程加入:public final void join() 等待该线程终止,其他线程才能抢着执行. 练习代码如下: 1 public static void main(String[ ...
最新文章
- Hibernate flush理解
- io.h源码 检查文件是否存在
- Elasticsearch 节点发现
- java bank项目答案_Bank项目-java
- 文件一另存为电脑就卡住_文件太多怎么办?用Excel做一个简易目录!轻松管理多个文件...
- 基于大数据的京沪人口流动流量、流向新变化
- u9系统的使用方法仓库_【用友u9使用教程】
- Bypass功能及原理介绍
- HFSS 天线设计流程概述-截图
- PyQt5 pushButton clicked 点击事件绑定
- 【NOI Online】 2021普及
- CTF练习题——bugkuCTF 网站被黑题目思路分析
- mqtt简介及在web端的应用(接入阿里iot)
- 单元格颜色公式之明细数据项隔行底纹
- 使用JedisClusters批量高效删除redis中的key
- 服务器cpu支持4通道什么意思,Intel 10nm服务器CPU曝光 LGA4189接口、八通道内存
- Linux | 运行虚拟电脑时发生严重错误,应将其关闭
- 《跨语言文本相似性检测》第一周—前期调研
- 电解电容的耐压选择:
- 联想服务器X3850 X6 配置RAID5阵列的图文方法