Lambda表达式👻复习
📌λ表达式🌸函数式接口复习
在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作”面向对象思想强调“必须通过对象的形式来做事情”函数式思想则尽量忽略面向对像的复杂语法:“强调做什么,而不是以什么形式去做”而我们要学习的Lambda表达式就是函数式思想的体现
λ表达式🍥格式体验Lambda表达式
需求:
启动一个线程,在控制台输出一句话:多线程程序启动了
方式1:
定义一个类MyRunnable实现Runnable接口,重写runO方法
创建MyRunnable类的对象
创建Thread类的对象,把MyRunnable的对象作为构造参数传递
启动线程
方式2:
匿名内部类的方式改进
方式3:
Lambda表达式的方式改进
代码
public class TestLambda { public static void main(String[] args) { //方式一: RunnableImpl runImpl = new RunnableImpl(); Thread t = ...
Java线程与进程👻复习
Java进程与线程总结[TOC]
图解进程与线程
Thread类的使用多线程的实现方式方式1:继承Thread类
定义一个类MyThread继承Thread类
在MyThread类中重写run()方法
创建MyThread类的对象
启动线程
两个小问题:
为什么要重写run()方法?
因为run()是用来封装被线程执行的代码
run0方法和start()方法的区别?
run():封装线程执行的代码,直接调用,相当于普通方法的调用
start():启动线程;然后由VM调用此线程的runO方法
代码
package 基础知识.进程和线程.A1_Thread类;/*方式1: 继承Thread类 -- 定义一个MyThread类去继承Thread类 -- 在MyThread类中重写run()方法 -- 创建MyThread类的对象 -- 启动线程 start()方法 查看当前线程的名称 Thread.currentThread().getName()设置线程名称 setName();调用线程名称 get ...
Java的IO流👻复习
IO流总结说明: 处理异常用的JDK7之前的方法,推选使用JDK7之后的处理方法
图解字节流
字符流
对象序列化流
打印流
先复习异常处理
直接上代码/*分析结论:[方法一 JDK7之前]: 使用finally保证了释放资源,同时不需要在抛出异常,但是步骤太繁琐[方法二 JDK7之后]: 在try()括号里进行创建流对象同时赋值,自动释放资源,不需要使用finally,不需要抛出异常,简化了代码!YYDS![方法三 JDK9之后]: 在外面创建流对象并赋值,在try()括号内使用创建好的流对象,由于在外面创建的流,所以仍需要抛出异常![结论]: 使用方案二比较好点,简化了代码,还不用抛出异常!*/import java.io.*;public class HandleIOException { public static File fileYuan = new File("src\\A1_MyJava\\基础知识\\IO流\\标准异常处理\\源文件.txt"); public static File fileNe ...
Java集合体系👻复习
🌸集合体系总复习整理导图我整理的导图:
🌸Collection集合体系Collection接口
代码
package 基础知识.集合.Collection.Collection接口;import java.util.ArrayList;import java.util.Collection;/* API中介绍:Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。*//*Collection不能直接实现,只能实现子接口[List]和[Set]两个子接口。java.util.Collection Collection<泛型>Collection是单列集合的顶层接口,它表示一 ...
前端Test
TODO: 👻Test