自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 系统学习git

本笔记取自进行了浓缩,适合快速入门和复习。

2023-11-19 21:39:13 121

原创 Linux操作系统第二章

拥有最大权限的账户。

2023-09-28 20:42:50 132

原创 Linux操作系统第一章--常见的命令

可以指定要查看的文件夹的内容,如果不给定参数,就查看工作目录的内容-a选项 ,可以展示出隐藏的内容(用.开头的文件就是隐藏文件)-l选项,以列表的形式展示内容,并展示更多细节-h选项,需要和-l选项搭配使用,以更加人性化的方式显示文件的大小单位命令的选项是可以组合使用的,比如:ls -lah == ls -a -l -h。

2023-09-27 20:59:21 135

原创 maven讲解

Clean Lifecycle(清理生命周期)是 Maven 构建生命周期中的一个阶段,用于在进行实际构建之前执行一些清理工作。它包含三个阶段:pre-clean(预清理)阶段:在执行clean阶段之前运行。它可以用于执行在清理之前需要完成的任务,比如删除临时文件或备份旧文件等。这个阶段通常用于清理以前构建留下的任何垃圾或不必要的文件。clean(清理)阶段:在执行pre-clean阶段后立即运行。这个阶段的目标是将构建过程产生的所有文件删除,以保持项目目录的干净状态。

2023-09-25 10:39:07 95

原创 [后端浅了解]基础标签详解04

标签用于创建表单,它包含了用户输入的字段以及提交按钮。你可以设置表单的属性来指定数据提交的目标URL、请求方法等。元素添加CSS样式,你可以通过将CSS属性和样式应用到该元素或其子元素来实现。标签用于创建各种类型的输入字段,如文本框、复选框、单选按钮等。它是一个容器标签,用于包裹表格的内容。标签用于创建多行的文本输入框。标签用于创建按钮,可以用于提交表单或执行其他操作。中,通常会使用其他表格相关的标签来定义行和单元格,如。可以通过在样式表(CSS文件)中或在HTML文件的。属性,可以创建不同的输入框。

2023-07-12 22:17:37 57

原创 [后端浅了解]基本标签详解03

div>是 HTML 中的一个元素,用于定义文档中的一个区块或容器。它可以用来对页面上的内容进行分组和样式控制。元素没有特定的语义含义,仅被用作一种通用的容器。通过为添加类名或ID,可以对其中包含的内容进行样式设置或JavaScript操作。例如,可以使用将页面的不同部分进行分组,如头部、导航栏、侧边栏、主要内容区域和页脚等。通过添加相应的CSS样式,可以对这些区块进行布局和设计。在上面的示例中,使用了五个

2023-07-12 16:42:16 45

原创 [后端浅了解]基础标签详解02

标签是 HTML 中的一个元素,用于在网页上插入图像。它可以将图片文件显示在网页中,并具有一些属性来控制图像的大小、样式和行为。标签是 HTML 中的一个元素,用于创建一个链接(超链接)。属性中指定的一段文字。它提供了图像的文字描述,当图像无法加载或无法显示时,替代文本将作为代替的内容显示在页面上。标签是 HTML 中的一个元素,用于定义一个段落。标签的属性,并根据实际情况提供正确的图像 URL 和相关信息,以便将图像插入到网页中。标签,并在每个标签中放置相应的文本或内容,以此来组织和呈现页面的段落结构。

2023-07-12 16:19:17 49

原创 [后端浅了解]基本标签详解

标签是 HTML 文档中的一个重要部分,用于定义文档的头部信息。它包含了在浏览器中不可见的元数据和其他与文档相关的信息。标签是 HTML 中的根元素标签,用于定义整个 HTML 文档的开始和结束。需要注意的是,HTML 标签应该按照正确的结构嵌套,并遵循语义化的规范。标签内部,并且包含了网页中所有可见的内容,如文本、图像、链接、表单等。标签是 HTML 中的一个元素,用于定义网页的主体内容。标签中添加和排列合适的 HTML 元素来构建网页的内容和结构。标签是 HTML 中的一个元素,用于定义网页的标题。

2023-07-11 16:23:46 51

原创 [后端浅了解]路径与常用标签概述

HTML 提供了丰富的标签和元素,可以用于创建各种不同类型的网页内容。根据需要使用适当的标签和属性,可以构建出具有丰富结构和样式的网页。使用路径可以方便地定位和引用文件或文件夹,无论是在命令行操作还是在编程中。了解路径的概念有助于正确地操作和管理文件系统中的文件和文件夹。在计算机领域中,路径(Path)通常指的是文件或文件夹在文件系统中的位置。它用于唯一标识并定位文件或文件夹在文件系统的存储位置。在操作系统中,路径可以分为绝对路径和相对路径。示例: 假设当前工作目录为。

2023-07-11 16:10:06 83

原创 [后端浅了解]HTML和CSS

属性提供了更多的信息和控制,用于定制和设置 HTML 元素的行为和样式。它定义了网页元素的外观和布局,通过为文档添加样式和格式,可以使网页更加美观、易于阅读和交互。通过分离内容和样式,它使得对网页的样式修改更加灵活、可维护,并且能够为用户提供更好的浏览和交互体验。CSS 的设计目标是实现内容和样式的分离,使得可以单独修改网页的样式而无需改变其结构。标签可以包含属性,用于提供进一步的指令和控制,比如设置元素的样式、指定链接目标等。使用正确的标签和属性,可以创建出具有不同结构和样式的网页内容。

2023-07-11 15:53:12 66

原创 [后端浅了解]web开发合作

他们使用前端框架(如React、Vue.js和Angular等)和库来简化开发过程,并确保网站在不同设备和浏览器上的兼容性。后端开发人员使用编程语言(如Python、Java、Ruby等)和相应的框架来实现服务器端的业务逻辑、数据库操作和API设计。这包括对用户输入进行验证和过滤、使用加密技术保护数据传输、防止跨站点脚本攻击(XSS)和跨站请求伪造(CSRF),以及进行身份验证和访问控制等。开发人员需要持续学习和跟进最新的趋势,以提供更好的用户体验、高效的性能和安全的应用程序。

2023-07-11 15:29:14 43

原创 java动态代理

当我们调用代理对象的方法时,这些方法的调用会被重定向到一个中介方法(也称为处理器或调用处理程序),而不是直接调用原始对象的方法。动态代理是一种设计模式,它允许在运行时创建一个代理对象,该代理对象可以在不改变原始对象的情况下,拦截并处理特定方法的调用。在方法调用完成后,我们在方法调用后输出一条消息,表示方法调用已经完成。该方法返回一个代理对象,它实现了指定接口,并在方法调用时会委托给处理器对象的中介方法进行处理。这段代码是一个简单的示例,演示了如何使用动态代理来拦截方法调用,并在调用前后执行额外的逻辑。

2023-07-10 16:17:13 46

原创 反射和反射的方法

反射在某些场景下非常有用,比如框架和工具的设计与开发,它可以在运行时动态地处理对象和类,增加了程序的灵活性和扩展性。通过反射,我们可以在程序运行过程中动态地获取类的信息,并且可以调用类的方法、访问类的属性,甚至可以实例化对象,即使在编译时我们并不知道这些类的存在或者没有对这些类进行硬编码。需要注意的是,在获取方法时,需要根据方法的名称和参数类型来选取相应的方法。需要注意的是,当获取构造方法时,需要根据构造方法的参数类型来选取相应的方法,参数类型可以通过。方法可以创建类的实例,相当于调用了类的无参构造方法。

2023-07-10 16:11:15 33

原创 TCP协议

TCP通过将数据分割成合适的数据块,并在发送和接收端之间建立可靠的连接,实现了高效的数据传输。由于TCP提供了可靠性和有序性的传输,能够适应不同网络环境的要求,因此成为了互联网中最常用的传输协议之一。连接的建立涉及三次握手,即发送方发送连接请求,接收方回复确认,最后发送方再次回复确认。连接建立后,双方可以进行数据的传输。方法,服务器等待并接受来自客户端的连接请求,并返回一个 Socket 对象用于之后的数据传输。有序性:TCP保证数据在传输过程中的有序性,即接收端按照发送端发送的顺序正确地重构数据。

2023-07-10 15:50:21 37

原创 单播,组播和广播

需要注意的是,由于广播是将数据包传输给网络中的所有设备,因此网络带宽和设备资源的消耗较大。与单播和广播不同,组播通信适用于一对多的通信场景,其中一组接收方希望同时接收发送方发送的相同数据。需要注意的是,为了支持组播通信,网络设备和路由器需要支持组播协议(如IGMP)来管理组播组,并确保组播数据的正确传输和转发。在单播通信中,发送方和接收方是一对一的关系,发送方向单个目标地址发送数据,而不会广播或多播给多个接收方。在广播通信中,发送方将数据包发送到特殊的广播地址,以便网络中的所有设备都可以接收到该数据。

2023-07-10 15:40:44 261

原创 UDP协议

UDP协议不维护连接状态,发送的数据包之间是独立的,因此无法确保数据的可靠传输和顺序交付。在这些应用中,对于一些丢失少量数据包或者顺序不一致的情况,可以通过应用层的机制进行处理,而不依赖于UDP协议本身提供的可靠性。与TCP协议相比,UDP更加简单、轻量级,并且不提供可靠性和流控制机制,但具有较低的延迟和较小的开销。UDP协议的优点是速度快,开销小;这段代码展示了一个使用UDP协议进行简单通信的示例,包括一个UDP服务器端(Server.java)和一个UDP客户端(Client.java)。

2023-07-10 15:12:45 90

原创 网络编程概述

一个端口号是一个16位的数字,范围从0到65535,其中0到1023被称为熟知端口(well-known ports),用于一些广为人知的服务。在TCP/IP协议栈中,不同的层次包括物理层、链路层、网络层、传输层和应用层,每个层次都有自己的协议和功能。广播地址在网络ID部分的主机位全为1,例如在一个子网掩码为255.255.255.0的网络中,广播地址通常为 x.x.x.255,其中x为网络ID的IP地址。这样,不同的应用程序或服务可以同时在同一台设备上运行,通过端口号的不同来区分彼此的通信。

2023-07-10 14:58:17 32

原创 线程池简单总结

线程池中有一组预先创建好的线程,这些线程可以被重复利用来执行任务。当有任务需要执行时,线程池会从线程池中获取一个空闲线程来执行任务,任务执行完成后,线程会返回线程池等待下一次任务的到来。在应用程序中使用线程池可以减少线程的创建和销毁开销,并且可以避免线程过多导致系统资源耗尽的问题。:缓存线程池,线程数量不固定。使用线程池时,我们首先需要创建一个合适类型的线程池,然后将任务提交给线程池执行。:单个线程的线程池,仅有一个工作线程来执行任务。关闭线程池后,将不再接受新的任务提交,但会等待已提交的任务执行完成。

2023-07-09 17:12:59 38

原创 等待唤醒机制

notify()方法会随机选择一个等待线程进行唤醒,而notifyAll()方法会唤醒所有等待的线程,使它们进入就绪状态,等待获取锁以继续执行。通过以上操作,生产者和消费者线程之间进行消息的生产和消费,并且使用了等待唤醒机制进行线程间的通信和同步。当消息还没有被生产时,消费者线程进入等待状态,等待生产者线程生产完毕后唤醒。具体来说,当一个线程调用对象的wait()方法时,它会释放当前持有的锁,并且进入等待状态,直到其他线程通过notify()或notifyAll()方法来唤醒它。该类包含了一个消息内容。

2023-07-09 17:02:57 268

原创 lock锁和死锁

在上述代码中,两个线程分别尝试获取 lock1 和 lock2 的锁定,但它们的获取顺序相反。在并发编程中,死锁是一种常见的问题,它发生在两个或多个线程相互等待对方所持有的资源时,导致所有线程无法继续执行的状态。与 synchronized 不同的是,Lock 锁需要手动地显式获取和释放锁,这种方式提供了更细粒度的控制。死锁是并发编程中需要注意的常见问题,合理的锁策略和资源管理可以有效地避免死锁的发生。当使用多个锁对象时,按照相同的顺序获取锁,避免出现循环等待的情况。Lock 锁通过调用。

2023-07-09 16:28:35 114

原创 线程的生命周期和安全问题

锁(Lock)是一种并发编程中用于控制对共享资源的访问的机制,可以确保同一时间只有一个线程可以访问被保护的代码块或资源。StampedLock 类:StampedLock 是Java 8引入的一种更加细粒度的锁机制,它提供了乐观读锁和悲观读锁的支持,可以根据实际情况选择最合适的锁模式。在使用锁时,需要充分考虑并发情况和性能需求,并遵循良好的编程实践,以确保程序的正确性和高效性。使用锁的基本思路是,在需要保护共享资源的代码块或方法中获取锁,执行相关操作后释放锁,确保线程之间的互斥访问。

2023-07-09 16:19:28 34

原创 多线程的常见成员方法

8.在多线程编程中,线程之间的礼让(Thread Yielding)是一种线程协作的机制,它允许一个正在执行的线程主动暂停,将CPU资源让给其他具有相同或更高优先级的线程。在run()方法中,我们调用Thread类的currentThread()方法获取当前线程对象,并通过getName()方法获取线程的名称。在run()方法中,打印线程正在运行的消息,并通过调用getName()方法获取线程的名称,并打印输出。需要注意的是,线程的优先级设置并不一定会准确反映在操作系统的线程调度中。

2023-07-09 16:08:40 37

原创 多线程的三种实现代码

该类实现了Runnable接口,并重写了run()方法,在其中编写线程的任务逻辑。在上述代码中,我们定义了一个自定义线程类MyThread,该类继承了Thread类,并重写了Thread类的run()方法。需要注意的是,在多线程编程中,不要直接调用run()方法,而是通过start()方法来启动线程,因为直接调用run()方法只会在当前线程中以普通方法的方式执行,而不会启动一个新的线程。需要注意的是,在使用实现Runnable接口的方式时,线程的任务逻辑必须在run()方法中实现,而不是直接在类中编写。

2023-07-09 15:43:02 494

原创 多线程的并发和并行

总结起来,"并发"强调的是多个任务在时间上交替执行,通过调度来提高效率;多线程的并发可以通过线程的快速切换和调度来实现,而多线程的并行则需要具备多核处理器或者分布式系统等支持。并发(Concurrency):并发是指多个任务在时间上重叠执行,通过快速的切换和调度,使得它们看起来好像是同时执行的。在并发情况下,多个线程交替执行,每个线程都在分配给它的时间片内执行一部分工作,然后切换到其他线程。在并行情况下,每个线程都可以在不同的处理器核心上并行执行,从而实现真正的并行计算。

2023-07-09 15:33:03 450

原创 多线程和进程的关系

线程共享进程资源:在同一个进程中的线程之间共享进程的内存空间、文件和设备等资源。线程调度是相对轻量级的,因为线程的创建、切换和销毁开销较小,而进程的创建和切换则比较昂贵。进程是一个独立的执行环境,它拥有自己的内存空间和系统资源,而线程是在进程中执行的实体,它共享进程的资源。一个线程的崩溃通常不会影响其他线程的执行,但一个进程的崩溃会导致整个进程的结束。进程控制块(PCB):每个进程都有一个与之对应的进程控制块,保存着进程的信息和状态。线程并发执行:一个进程中的多个线程可以同时执行,实现并发操作。

2023-07-09 15:26:17 39

原创 commons-io如何添加和常见的用法

在 "Project Structure" 窗口中,选择 "Libraries" 选项,然后点击 "+" 图标添加 JAR 文件。点击 "Add External JARs" 按钮,然后选择您下载的 Apache Commons IO JAR 文件,并点击 "OK" 完成添加。NetBeans:右键单击您的项目,选择 "Properties"。如果您使用 Maven 作为项目的构建工具,您可以通过在项目的 pom.xml 文件中添加 Apache Commons IO 的依赖来简化添加过程。

2023-07-08 16:56:14 1086

原创 解压缩流和压缩流

这些流类是在处理需要进行数据压缩和解压缩的场景中非常有用的工具。在使用这些流时,请务必确保适当地关闭流并进行异常处理,以避免资源泄漏和错误的发生。通过循环读取输入文件的数据,并使用压缩流进行压缩,最终将压缩后的数据写入 "compressed_data.txt" 文件中。通过循环读取和写入数据,我们将压缩文件中的数据解压缩到 "uncompressed_data.txt" 文件中。解压缩流是用于解压缩数据的流,而压缩流则用于将数据进行压缩。解压缩流和压缩流是 Java 中用于处理数据压缩和解压缩的流类。

2023-07-08 16:48:40 167

原创 (反)序列化流

序列化和反序列化的字段匹配:在进行序列化和反序列化时,对象的字段(即实例变量)将被写入和读取。而序列化流(ObjectInputStream 和 ObjectOutputStream)是 Java 中用于进行对象序列化和反序列化的工具类。序列化多个对象:可以将多个对象连续地写入序列化流,然后再按照相同的顺序连续地从反序列化流中读取。例如,如果对象中包含不可序列化的字段(如线程、文件句柄等),则会导致序列化失败。通过实现该接口,编译器将知道该类可以被序列化,并且可以将其对象转换为字节流。

2023-07-08 16:42:51 30

原创 java转换流

转换流(InputStreamReader 和 OutputStreamWriter)是 Java 中用于在字节流与字符流之间进行转换的桥梁。它们可以将字节流转换为字符流,并提供了字符编码的功能。转换流的主要作用是将字节流解析成字符流,在读取字节数据或写入字符数据时完成字符编码和解码的过程。同时,通过指定字符编码为 "UTF-8",将字节流转换为字符流。同时,通过指定字符编码为 "UTF-8",将字符流转换为字节流。对象按行读取字符数据,进行进一步的处理。在 Java 中,主要使用。类来实现转换流的功能。

2023-07-08 16:32:46 387

原创 字节缓冲流

这样,相较于每次都进行磁盘访问,我们可以通过一次读取多个字节,减少了磁盘IO的次数,从而提高了读取的效率。通过使用字节缓冲流,在内存和磁盘之间引入了一个缓冲区,以减少IO访问的次数,从而提高读取和写入操作的效率。它将输出数据暂存在缓冲区中,当缓冲区满了或达到了一定条件时,才会将缓冲区中的数据一次性写入到底层输出流中,从而减少了频繁的写入操作。方法一次性写入多个字节数据,将字节数组中的数据写入到缓冲区,然后根据情况将缓冲区的数据刷新到底层输出流中。变量中,然后可以对读取到的字节数据进行处理。

2023-07-08 16:23:51 106

原创 字符输入流

需要注意的是,在字符流的读取过程中,字节数据会被缓冲区(Buffer)逐步加载进来,并根据需要转换为字符。字符输入流(Character Input Stream)是用于从输入源(如文件、网络连接等)读取字符数据的流对象。方法读取文件中的字符数据,每次读取一个字符,直到读取到文件末尾(返回 -1)为止。中读取字节数据,然后将字节数据根据指定的字符集编码方式进行解码转换成字符,最后返回读取到的字符数据。类是字符流与字节流之间的桥梁,通过它可以将字节流转换为字符流。,它是一个字节流,用于从文件中读取字节数据。

2023-07-08 16:17:50 460

原创 字符输出流

字符输出流(Character Output Stream)是用于将字符数据写入到目标输出源(如文件、网络连接等)的流对象。在 Java 中,主要使用。方法是字符输出流中用于写入字符数据的核心方法。它有多个重载形式,可以接受不同类型的参数进行写入操作。及其子类来实现字符输出流的操作。写入指定范围的字符数组。

2023-07-08 16:09:48 147

原创 字符集详解

字符集不匹配:当使用不同的字符集编码方式进行字符的输入、输出、存储或传输时,如果没有正确地进行字符集转换,就会导致乱码。例如,将使用UTF-8编码的文本以GBK编码解析,或者将使用ISO-8859-1编码的文本以UTF-8编码打开,都可能出现乱码。显示环境不支持:有时,虽然文本数据本身没有问题,但是显示或渲染该文本的环境(例如操作系统、文本编辑器、浏览器等)不支持所需的字符集编码,导致乱码显示。对于需要传输或存储的文本数据,可以采用兼容性较好的字符编码方式(例如UTF-8),以确保多平台间的互通。

2023-07-08 15:58:39 313

原创 字节输入流

它是一个抽象类,具体的实现类包括文件输入流(FileInputStream)、字节数组输入流(ByteArrayInputStream)等。读取的数据类型: 字节输入流以字节为单位进行读取,读取的数据类型是int。即使实际上我们可能只需要读取字符数据,仍然会返回一个int值,表示读取到的字节。较大的缓冲区可以提高读取效率,但也会占用更多的内存空间。关闭输入流是一个良好的编程习惯,可以避免资源泄漏和占用过多的系统资源。对于这些异常,建议使用try-catch语句进行捕获和处理,以确保程序的健壮性。

2023-07-08 15:38:55 144

原创 字节输出流

字节输出流(OutputStream)是用于将数据写出到外部的流。它是一个抽象类,具体的实现类包括文件输出流(FileOutputStream)、字节数组输出流(ByteArrayOutputStream)等。可以使用字节数组输出流(ByteArrayOutputStream)进行换行操作,然后再将结果写出到具体的输出流中。续写数据: 如果需要将数据追加到已有的文件末尾而不是覆盖原有内容,可以使用带有。换行: 换行符用于在文本文件中表示换行。常见的换行符包括回车符(:刷新输出流,将缓冲区中的数据立即写出。

2023-07-08 15:30:37 1768

原创 File对象和相关方法02

方法只会列出直接子文件夹和文件,并不会递归地列出子文件夹中的文件。如果您需要递归地遍历所有文件和文件夹,可以使用递归算法或其他相关的工具方法。通过递归调用,我们可以依次遍历所有的文件夹和子文件夹,直到达到最底层的文件。是一个常见的文件操作方法,它用于列出指定文件夹中的所有文件和子文件夹。类的一个方法,用于创建一个新的目录,包括所有必需但尚不存在的父目录。要递归地列出一个文件夹中的所有文件,可以使用递归算法。类的一个方法,用于在文件系统中创建一个新的空文件。类的一个方法,用于创建一个新的目录。

2023-07-07 16:45:21 42

原创 File对象和相关方法01

类的一个方法,用于判断当前对象表示的路径是否是一个目录。这些方法可以让你对文件和目录进行操作,例如创建新文件、删除文件、判断文件是否存在、获取文件属性等等。类的一个方法,用于判断当前对象表示的路径是否存在。类的一个方法,用于获取文件的大小,返回以字节为单位的文件长度。方法返回一个布尔值,指示该路径是否是一个存在且是文件的路径。类的一个方法,用于获取文件或目录的最后修改时间。类的一个方法,用于获取文件或目录的绝对路径。类的一个方法,用于获取文件或目录的路径。类的一个方法,用于获取文件或目录的名称。

2023-07-07 16:26:14 117

原创 异常java讲解

如果异常是 unchecked 异常(即 RuntimeException 及其子类),则调用者可以选择捕获并处理异常,或者让异常传递到更高层级的调用栈。异常类的扩展性:在Java中,我们可以自定义异常类,以便根据具体的业务需求来处理特定类型的异常。如果在执行该代码时发生了异常,程序会立即跳转到相应 catch 块的代码处,根据异常类型匹配执行对应块中的代码。关键字将异常对象抛出。创建一个异常对象:使用合适的异常类(可以是 Java 标准库中的异常类,也可以自定义异常类)创建一个异常对象。

2023-07-07 15:50:29 35

原创 异常java概述

NullPointerException(空指针异常):这是最常见的运行异常之一,表示尝试访问一个空对象的成员变量或调用一个空对象的方法。是表示程序正常运行过程中可能发生的异常的基类,也可以分为两种类型:checked exceptions(需要显式处理的异常)和 unchecked exceptions(不需要显式处理的异常)。在Java中,运行异常通常是指在程序执行期间发生的异常,这些异常可能导致程序的正常执行中断或产生错误结果。Java 中的异常体系是由各种类型的异常类组成的层次结构,它们都是从。

2023-07-07 15:31:28 27

原创 方法引用java

方法引用是一种简化 Lambda 表达式的语法形式,可以直接引用已经存在的方法来作为 Lambda 表达式的实现。引用成员方法是另一种方法引用的形式,通过引用已存在的对象的实例方法作为 Lambda 表达式的实现。引用静态方法是方法引用的一种形式,可以通过引用已存在的静态方法来作为 Lambda 表达式的实现。语法形式:Lambda 表达式使用箭头符号(->)来定义匿名方法,而方法引用使用双冒号(::)来引用现有的方法。方法引用的语法使用双冒号(::)来表示,具体的写法取决于引用的方法类型和参数列表。

2023-07-07 15:02:20 71

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除