Lambada表达式 Lambada表达式面向对象的思想 做一件事情,找一个能解决这个事情的对象,调用对象的方法,完成事情。 函数式编程思想 只要能获取到结果,谁去做的,怎么做的都不重要,重视的是结果,不重视过程 冗余的Runnable代码 当需要启动一个线程去完成任务时,通常会通过java.lang.Runnable接口来定义任务内容,并使用java.lang.Thread类来启动该线程。 代码如下: 1234567 2023-06-26 Java > Java进阶 #Java
SPI机制 SPISPI(Service Provider Interface)是 Java 中一种用于实现服务发现机制的标准扩展机制。它允许在应用程序中定义服务接口,然后在运行时通过服务提供者动态注册实现这些接口的具体实现类。 一般模块之间都是通过通过接口进行通讯,那我们在服务调用方和服务实现方(也称服务提供者)之间引入一个“接口”。 API: 当实现方提供了接口和实现,我们可以通过调用实现方的接口 2023-06-26 Java > Java进阶 #Java
Stream流 Stream流Stream(流)是一个来自数据源的元素队列 元素是特定类型的对象,形成一个队列。 Java中的Stream并不会存储元素,而是按需计算。 数据源流的来源,可以是集合,数组等。 和以前的Collection操作不同, Stream操作还有两个基础的特征: Pipelining:中间操作都会返回流对象本身。 这样多个操作可以串联成一个管道, 如同流式风格(fluent style)。 2023-06-26 Java > Java进阶 #Java
反射 反射如果说大家研究过框架的底层原理或者咱们自己写过框架的话,一定对反射这个概念不陌生。 反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。 通过反射可以去构造任意一个类对象获取任意一个类的成员变量,成员方法,属性,可以在程序运行时动态的获取类的信息,以及动态的调用方法,通过java.lang.reflect实现反射相关的类库,包括Construct、Field 2023-06-26 Java > Java进阶 #Java
函数式接口 函数式接口函数式接口在Java中是指:有且仅有一个抽象方法的接口。 函数式接口,即适用于函数式编程场景的接口。而Java中的函数式编程体现就是Lambda,所以函数式接口就是可 以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda才能顺利地进行推导。 @FunctionalInterface注解 与 @Override 注解的作用类似,Java 8中专门为函 2023-06-26 Java > Java进阶 #Java
注解 注解何谓注解Annotation (注解) 是 Java5 开始引入的新特性,可以看作是一种特殊的注释,主要用于修饰类、方法或者变量,提供某些信息供程序在编译或者运行时使用。 注解本质是一个继承了Annotation 的特殊接口: 1234567@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interfac 2023-06-26 Java > Java进阶 #Java
异常 异常Exception 和 Error 有什么区别?在 Java 中,所有的异常都有一个共同的祖先 java.lang 包中的 Throwable 类。Throwable 类有两个重要的子类: Exception :程序本身可以处理的异常,可以通过 catch 来进行捕获。Exception 又可以分为 Checked Exception (受检查异常,必须处理) 和 Unchecked Exc 2023-06-26 Java > Java进阶 #Java
缓冲流 缓冲流,BufferedInputStream,BufferedOutputStream缓冲流缓冲流,也叫高效流,是对4个基本的Filexxx流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,BufferedWriter IO 操作是很消耗性能的,缓冲流将数据加载至缓 2023-06-26 Java > JavaIO #Java
字节流 字节流,OutputStream,InputStream IO 即 Input/Output,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。数据传输过程类似于水流,因此称为 IO 流。IO 流在 Java 中分为输入流和输出流,而根据数据的处理方式又分为字节流和字符流。 Java IO 流的 40 多个类都是从如下 4 个抽象类基类中 2023-06-26 Java > JavaIO #Java
打印流 打印流平时我们在控制台打印输出,是调用print方法和println方法完成的,这两个方法都来自于java.io.PrintStream类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式。 java.io.PrintStream 作用:为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式 PrintStream特点: 只负责数据的输出,不负责数据的读取 与其他输出流不同,Pr 2023-06-26 Java > JavaIO #Java