java
文章平均质量分 89
java
默 语
Java高级工程师、自媒体博主,北京城市开发者社区的主理人。喜欢记录工作中的技术心得,创作文章,全网 10余万粉丝,总阅读量超过700万。活跃于CSDN、掘金、阿里云和51CTO等平台,是CSDN博客专家、阿里云专家博主和掘金博客专家,曾获博客专家、优秀社区主理人等多项荣誉,并在2023年度博客之星评选中名列前50。目前就职于国企并担任技术经理,拥有丰富的项目开发经验和产品设计能力。希望在不断的学习过程中,可以帮助到更多的人,结交更多的朋友。
展开
-
如何完美解决 “error pulling image configuration: download failed after attempts=6: dial tcp 59.188.250.54“
大家好,我是默语,擅长全栈开发、运维和人工智能技术。在我的博客中,我主要分享技术教程、Bug解决方案、开发工具指南、前沿科技资讯、产品评测、使用体验、优点推广和横向对比评测等内容。今天我们将讨论如何解决 Docker 中常见的错误:“error pulling image configuration: download failed after attempts=6: dial tcp 59.188.250.54”。希望通过这篇分享,帮助大家更好地了解和解决这一问题。步骤方法说明修改 DNS 配置。原创 2024-07-06 17:53:12 · 11664 阅读 · 6 评论 -
2024年最新稳定版 node.js下载安装配置教程
👋大家好!我是默语博主,今天我们来聊聊如何安装和使用 Node.js。这篇文章将为你提供详细的安装步骤、版本查看方法以及常见问题的解答。无论你是新手还是有经验的开发者,这篇文章都能帮你更好地掌握 Node.js。希望对你有所帮助!#Node.js安装 #Node.js教程 #如何安装Node.js #Node.js入门安装 Node.js 是非常简单的过程。步骤描述访问官网Node.js 官网下载安装包选择适合的系统版本,下载.msi文件运行安装文件按照提示完成安装查看版本信息使用。原创 2024-06-05 09:00:00 · 48454 阅读 · 8 评论 -
深入解析Java中List和Map的多层嵌套与拆分
大家好,我是默语博主。今天我们来探讨如何在Java中处理多层嵌套的List和Map。尽管递归是处理嵌套结构的常用方法,但我们这次将采用更直观的方式,通过常用的方法和参数来完成任务。关键搜索词:Java嵌套List、Java嵌套Map、Java数据结构处理。嵌套数据结构是指一个数据结构内部包含另一个数据结构。例如,一个List中的元素也是List,或者一个Map中的值是另一个Map。这种结构在处理复杂数据时非常有用,但也增加了处理的难度。技巧方法示例代码遍历嵌套List嵌套循环遍历嵌套Map。原创 2024-06-02 22:35:45 · 18901 阅读 · 1 评论 -
深入解析Java中List和Map的多层嵌套与拆分
作为一个默语博主,我经常收到读者关于如何在Java中处理多层嵌套数据结构的问题。特别是对于List和Map的多层嵌套、拆分和重组,许多开发者感到困惑。在这篇文章中,我们将深入探讨这些问题,提供详细的代码示例,并分享一些实用的技巧,帮助你在这方面取得突破。关键搜索词:Java嵌套List、Java嵌套Map、Java数据结构处理。嵌套数据结构是指一个数据结构内部包含另一个数据结构。例如,一个List中的元素也是List,或者一个Map中的值是另一个Map。原创 2024-06-02 22:24:53 · 37021 阅读 · 0 评论 -
亲测有效!解决java.lang.IncompatibleClassChangeError异常的正确方法
在这篇博客中,我们将深入探讨异常的原因,并提供亲测有效的解决办法。作为一名经验丰富的开发者,我将分享如何通过重新编译类、检查类加载器以及审查字节码操作来解决这个问题。希望这篇文章能够帮助你快速解决该异常,提升开发效率。解决方法步骤目的重新编译所有相关类清除旧编译产物,重新编译项目确保类文件之间的一致性检查类加载器检查类加载器加载的类定义确保加载正确的类定义审查字节码操作使用字节码库进行合理的类结构修改确保修改后的类结构与预期一致,避免错误。原创 2024-05-28 09:45:00 · 15463 阅读 · 8 评论 -
全面解析Java.lang.ClassCastException异常
在Java编程中,是一种常见的运行时异常,表示尝试将对象强制转换为不兼容的类。这个异常可能会导致程序崩溃,并且难以调试。作为一名经验丰富的Java开发者,我将深入探讨这个异常的产生原因、解决方案以及预防措施,帮助您更好地处理和避免该异常。是一种运行时异常,当试图将一个对象强制转换为不兼容的类时抛出。例如,将一个String对象强制转换为Integer类型,就会抛出该异常。报错原因解决方法类型不兼容使用instanceof进行类型检查泛型类型擦除使用泛型确保类型安全接口和实现类的混淆。原创 2024-05-27 22:30:03 · 16839 阅读 · 8 评论 -
解决Java.lang.NoSuchFieldException异常:全面指南 ️
在Java编程中,是一个常见的异常,它表示试图访问的字段不存在。这种错误常常出现在反射操作和类字段操作中。作为一名经验丰富的Java开发者,我将深入探讨这个异常的原因、解决方案以及预防措施,帮助您更好地处理和避免该异常。是Java反射机制中抛出的一个异常。当程序试图访问某个类的字段,但该字段不存在时,就会抛出这个异常。通常情况下,这种异常是在动态加载类或者反射操作时发生的。报错原因解决方法字段名称拼写错误检查并纠正字段名称字段被移除或修改更新代码以匹配最新类定义类加载问题。原创 2024-05-28 09:00:00 · 17383 阅读 · 0 评论 -
IO流:字节流 字符流 缓冲流详解
大家好,我是默语。今天我们来聊一聊Java中的IO流,包括字节流、字符流和缓冲流。本文将详细介绍这些流的概念、分类、使用方法,并通过具体的代码示例演示如何在项目中灵活应用这些流。让我们一起深入探索吧!✨。原创 2024-05-27 10:00:00 · 1738 阅读 · 0 评论 -
Java计算日期相差天数的几种方法
大家好,我是默语。在这篇博客中,我们将探讨Java中几种计算日期相差天数的方法,包括使用以及第三方库如Joda-Time。通过详细的代码演示和注释,让你全面掌握这些技巧,提升开发效率。✨方法主要特点示例应用最早期的日期处理类,简单但功能有限适用于简单的日期计算,但不推荐在新项目中使用比Date功能更强,但API设计较为繁琐适用于需要更多日期操作的场景Java 8引入,简洁直观,功能强大现代Java项目中推荐使用Joda-Time功能强大的第三方库,类似于java.time包。原创 2024-05-27 00:20:08 · 3093 阅读 · 0 评论 -
Java进阶:详解与实战Java Stream API
大家好,我是默语,一个热爱分享技术的博主。在这篇博客中,我们将深入探讨Java Stream API,包括其基本概念、常用功能、优势以及与其他Java集合处理库的比较。通过详尽的代码示例和实战讲解,帮助你全面掌握Java Stream API的使用技巧,提升代码的简洁性和可读性。✨Java Stream API 提供了一种高层次的抽象,用于高效地处理数据序列。Stream 不存储数据,而是通过管道化操作(pipeline operations)来处理数据。// 输出: [Alice]功能示例代码。原创 2024-05-27 00:06:25 · 2613 阅读 · 2 评论 -
Java数组详解
大家好,我是默语,一个热爱分享技术的博主。在这篇博客中,我们将全面讲解Java中的数组,包括数组的定义、创建、初始化、遍历方法以及常用的数组API。此外,我们还将介绍二维数组的使用。无论你是Java初学者还是有经验的开发者,这篇文章都将为你提供有价值的参考和实用的代码示例。✨在Java中,数组是一种用于存储相同类型元素的容器。数组可以是基本数据类型的数组,也可以是对象的数组。// 定义一个整数数组// 定义一个字符串数组内容示例代码备注数组定义定义一个整数数组数组创建与初始化。原创 2024-05-26 23:54:18 · 1402 阅读 · 0 评论 -
Java的逻辑控制和方法的使用介绍
🚀 Java的逻辑控制和方法的使用介绍摘要引言1. Java的分支结构🌿1.1 if-else结构1.2 switch-case结构2. Java的循环结构🔄2.1 for循环2.2 while循环2.3 do-while循环3. Java方法的使用🛠️3.1 方法定义与调用3.2 方法重载🤔 QA环节表格总结总结未来展望🔮参考资料博主 默语带您 Go to New World.✍个人主页——默语 的博客👦🏻《java 面试题大全》《java 专栏》原创 2024-05-26 23:42:58 · 1494 阅读 · 0 评论 -
定时执行一次run()中的代码:也可以用Timer实现
在本篇技术博客中,我们将探讨如何使用Android开发中的Handler实现定时执行一次指定的代码块。我们还会介绍如何使用Timer实现相同的功能。通过深入理解定时任务的实现原理,您将能够更好地掌握Android开发中的定时执行技术。本文介绍了Android开发中定时执行一次指定代码块的两种常见方法:使用Handler和使用Timer。每种方法都有其适用的场景和优缺点,开发者可以根据具体需求选择合适的方法。通过深入学习和实践,您将能够灵活应用定时执行技术,为Android应用的开发增添更多可能性。方法。原创 2024-04-28 09:00:00 · 13938 阅读 · 19 评论 -
Java 8 Stream 流操作
在这篇博文中,我们将深入探索Java 8的Stream API,这是一项革命性的特性,极大地改善了数据集合的处理方式。从基本的中间操作如过滤(filter)、映射(map)、排序(sorted),到终端操作如收集(collect)、计数(count)、匹配(anyMatch, allMatch, noneMatch),再到高级特性如并行流处理,我们将逐一解析这些功能的内部机制和实际应用场景。原创 2024-04-07 23:43:42 · 1368 阅读 · 38 评论 -
在 Linux中解压,压缩命令详解
作为一名技术博主,我们经常需要处理各种压缩文件,而在 Linux 环境下,掌握解压缩命令是至关重要的。本文将深入探讨常见的压缩文件格式以及如何使用相关命令在 Linux 中进行解压和压缩操作。让我们一起来探索这些命令的奥秘吧!文件格式解压命令压缩命令.zipunzipzip.tar.gztar -xzvftar -czvf.tar.bz2tar -xjvftar -cjvf在 Linux 中,熟练掌握解压和压缩命令对于提高工作效率至关重要。原创 2024-03-31 13:44:54 · 24796 阅读 · 0 评论 -
Jenkins 简单了解使用
作为一名技术博主,我深知在当今IT行业中,持续集成和持续交付(CI/CD)是至关重要的。而Jenkins作为最流行的开源CI/CD工具之一,对于我们来说是必不可少的利器。本文将深入探讨Jenkins的入门知识,从搭建到实战,助您快速掌握这一利器,提高工作效率。在开始之前,让我们先了解一下Jenkins是什么以及为什么它如此重要。Jenkins是一个开源的持续集成/持续交付工具,通过自动化构建、测试和部署过程,帮助团队快速交付高质量的软件。Jenkins的重要性不言而喻。原创 2024-03-29 22:39:48 · 30030 阅读 · 18 评论 -
RabbitMQ镜像集群搭建
集群模式非常经典的就是Mirror镜像模式,保证100%数据不丢失,在实际工作中也是用的最多的。并且实现集群非常的简单,一般互联网大厂都会构建这种镜像集群模式。它和普通集群最大的区别在于 Queue 数据和原数据不再是单独存储在一台机器上,而是同时存储在多台机器上。也就是说每个 RabbitMQ 实例都有一份镜像数据(副本数据)。每次写入消息的时候都会自动把数据同步到多台实例上去,这样一旦其中一台机器发生故障,其他机器还有一份副本数据可以继续提供服务,也就实现了高可用。原创 2024-03-29 22:23:35 · 24705 阅读 · 2 评论 -
探索Spring中的属性注入:@Value注解解析与应用
作为一名技术博主,我深知在开发过程中,对于属性的注入是至关重要的一部分。在Spring框架中,@Value注解为我们提供了一种简洁灵活的方式来进行属性注入。本文将深入探讨@Value注解的使用方法及其在实际开发中的应用,帮助读者更好地掌握Spring框架中的属性注入技术。特点@Value注解作用将外部配置文件中的属性值注入到Spring容器中的Bean中支持类型支持基本类型、字符串、数组、列表、集合等类型支持特性支持默认值、支持占位符、支持SpEL表达式注入优先级。原创 2024-03-18 22:34:09 · 30472 阅读 · 14 评论 -
分布式与集群,二者区别是什么?
作为技术领域的学者,我们经常听到关于分布式系统和集群的概念,但很多人却混淆了它们之间的区别。在本篇技术博客中,我将深入探讨分布式系统和集群的区别,并介绍它们各自的特点和应用场景,帮助读者更好地理解和运用这两种技术。特点分布式系统集群架构目标实现资源共享、容错性、可扩展性提高系统的可靠性、可扩展性和性能组成结构多台独立计算机多台计算机连接在一起通信方式通过网络通信和协作内部网络连接负载均衡通过软件实现负载均衡通过集群管理软件实现负载均衡应用场景。原创 2024-03-18 22:23:50 · 29129 阅读 · 3 评论 -
解决: java.util.concurrent.CancellationException详解
作为Java开发者,我们经常会遇到各种异常情况,而java.util.concurrent.CancellationException是在使用Java并发编程时可能会遇到的一个异常。本文将深入探讨这个异常的起因、解决方法以及未来发展趋势,帮助读者更好地理解并发编程中的异常处理。java.util.concurrent.CancellationException是Java并发编程中常见的异常之一,它通常在使用线程池、Future等并发工具时抛出。原创 2024-03-17 21:56:45 · 25086 阅读 · 6 评论 -
java.lang.NoSuchMethodException异常解决
在Java编程中,处理异常是一个关键的技能。异常是在尝试反射调用一个不存在的方法时抛出的。本文将深入探讨这个异常,分析其原因,并提供正确的解决方法,帮助开发者更好地理解和解决这一问题。java.lang.NoSuchMethodException是Java编程中常见的异常之一,通常在反射调用中发生。当尝试通过反射调用一个不存在的方法时,系统将抛出这个异常。这可能是由于方法名称错误、方法参数不匹配或者方法访问权限不正确所致。解决方法描述核对方法名称和参数确保反射调用的方法名称和参数与目标方法匹配。原创 2024-03-17 21:53:34 · 27061 阅读 · 0 评论 -
解决 “something went wrong bootstrapping makefile fragments for automatic dependency tracking“ 错误
作为默语博主,我们经常在软件开发过程中遇到各种挑战。其中一个常见的问题是在配置过程中遇到错误,如"something went wrong bootstrapping makefile fragments for automatic dependency tracking"。本文将深入探讨这个错误的原因,并提供解决方案,以便我们能够顺利进行软件构建。原创 2024-03-11 21:03:14 · 5578 阅读 · 0 评论 -
Spring Boot 中解决跨域的多种方式
在开发Web应用时,经常会遇到跨域问题,这给开发者带来了不少困扰。在本文中,我将探讨Spring Boot中解决跨域问题的几种常见方式,包括使用@CrossOrigin注解、自定义WebMvcConfigurer以及使用Filter进行跨域配置。通过深入了解这些方法,我们能够更好地解决跨域问题,保证应用的稳定性和安全性。另一种解决跨域问题的方式是通过自定义WebMvcConfigurer来配置跨域策略。这种方式更加灵活,可以针对不同的路径进行不同的跨域配置。/*** 跨域配置类。原创 2024-03-10 18:43:46 · 5253 阅读 · 8 评论 -
Java数组操作入门:掌握数组的基本技巧
本文将带领读者深入了解Java中数组的基本操作。通过学习本文内容,读者将能够熟练地使用Java中的数组,为后续的Java编程打下坚实的基础。在Java中,数组是一种引用类型的数据结构,它可以存储多个相同类型的数据。Java数组的定义和初始化是使用new关键字完成的。// 定义并初始化一个整型数组// 定义并初始化一个二维字符数组通过本文的学习,读者应该已经掌握了Java中数组的基本操作方法,包括数组的定义、初始化、访问和操作。原创 2024-03-10 18:26:59 · 4797 阅读 · 0 评论 -
Java异常处理详解
在Java开发中,异常处理是一项至关重要的任务。合理处理异常能够增强程序的稳定性和可靠性,提高用户体验。本文将带领读者深入了解Java异常处理的方方面面,为您提供全面的指导和实践经验。异常处理是Java程序设计中的一个重要话题,合理处理异常是每个Java开发人员都应该掌握的基本技能。通过本文的学习,相信读者已经对Java异常处理有了更加深入的了解,并能够在实际项目中编写健壮的Java应用程序。原创 2024-03-10 18:19:18 · 5116 阅读 · 0 评论 -
Java多线程编程指南
在Java开发中,多线程编程是一个至关重要的话题。掌握多线程编程可以提高程序的性能和响应速度,但同时也需要注意线程安全和并发控制。本文将深入探讨Java多线程编程的方方面面,为您提供全面的指南和实践经验。线程的基本概念是理解 Java 多线程编程的重要基础。在 Java 中,线程是程序执行的最小单位,它允许我们同时执行多个任务,从而提高程序的效率。在这一部分,我们将深入探讨线程的概念和一些重要的细节。线程是计算机程序中的一条执行路径,它代表了程序中的一个单独的控制流。每个线程都有自己的栈空间和执行序列。原创 2024-03-10 18:12:43 · 2162 阅读 · 0 评论 -
JDK 17:Java生态系统的最新巨擘
在Java开发领域,JDK 17作为最新的版本,带来了许多令人激动的新特性和改进。本文将深入探讨JDK 17的各项特性,包括性能优化、语言功能增强、新的API和工具等,以及它们在实际项目中的应用。让我们一同探索Java生态系统的最新巨擘,为您带来更优雅的编程体验。JDK 17作为Java生态系统的最新版本,为Java开发者带来了许多令人振奋的新特性和改进。本文从性能优化、语言功能增强、新的API和工具等多个方面对JDK 17进行了深入分析和探讨,并展示了它们在实际项目中的应用。原创 2024-03-10 18:06:03 · 2155 阅读 · 0 评论 -
nginx 手动离线安装 及依赖包安装(pcre+zlib+openssl)
本文介绍了使用源码编译安装 Nginx 的详细步骤及编译参数信息。首先,提到了必需的依赖包,包括 PCRE、Zlib 和 OpenSSL,并提供了它们的下载链接。随后,详细说明了编译环境的准备工作,包括检查和安装 gcc、g++、以及 make。接着,逐步介绍了如何安装各个依赖包以及 Nginx 的过程,包括解压、配置、编译和安装。最后,给出了启动 Nginx 的命令,并提示如何验证安装是否成功。原创 2024-03-10 14:24:26 · 9321 阅读 · 3 评论 -
Nginx 简单总结
在这篇博客中,我们将探讨如何使用Nginx部署Java项目,以提高性能和可伸缩性。我们将深入研究Nginx的配置和优化技巧,帮助你更好地理解如何将Nginx与Java应用程序集成,提高用户体验和响应速度。无论是小型项目还是大规模应用,本文都将为你提供宝贵的指导和技巧。通过本文的学习,你应该已经了解了Nginx的不同代理模式以及如何使用它们来优化Java项目的部署和性能。将这些技巧应用到你的项目中,相信你的应用程序将会有一个更加出色的表现。原创 2024-03-04 23:55:08 · 23168 阅读 · 3 评论 -
自制高斯openGauss-5.0.0版本Docker镜像
✍本文根据官方文档描述,自制一个docker镜像,这里记录下制作过程~因为我们不能确定第三方的opengauss-docker镜像在制作的过程中是否增加了其他步骤,做出来的镜像是否为纯净版镜像,只有自己从openGauss官网下载的安装包,自己进行制作镜像,才能保证100%是纯净版镜像,利害关系在此就不阐述了,懂的都懂。原创 2024-03-03 20:21:44 · 27367 阅读 · 0 评论 -
IntelliJ IDEA 2023.2.2 最详细使用
IntelliJ IDEA 2023.2.2 最详细使用原创 2024-02-29 21:54:40 · 6228 阅读 · 4 评论 -
探索Nginx+FastDFS+RTMP的Docker镜像搭建
通过本篇博客的介绍,我们学习了如何利用Docker构建Nginx、FastDFS以及RTMP的集成环境,并进行了相应的配置和部署。这为项目的运行提供了便利,提高了开发和部署的效率。原创 2024-02-27 22:12:28 · 2167 阅读 · 2 评论 -
在SpringBoot中通过配置Swagger权限解决Swagger未授权访问漏洞
在本文中,我们详细讨论了在SpringBoot项目中解决Swagger权限漏洞的方法。通过配置和代码示例,我们可以有效地保护我们的系统免受潜在的安全威胁。希望这些技巧对你有所帮助!原创 2024-02-26 23:30:30 · 8566 阅读 · 2 评论 -
达梦数据库搭建和连接(详解一文看懂)
达梦数据库搭建和连接(详解一文看懂)原创 2024-02-24 13:54:05 · 11874 阅读 · 10 评论 -
SpringBoot整合POIExcel: 实现导入导出Excel功能
本文将介绍如何在Spring Boot项目中整合POI(Poor Obfuscation Implementation)库来实现Excel文件的导入和导出功能。通过使用POI库,我们可以方便地读取和写入Excel文件,为项目的数据管理提供了便利。原创 2024-02-22 00:22:15 · 4805 阅读 · 2 评论 -
Java Lambda表达式:简化编程,提高效率
以上是对常见操作的Lambda表达式应用,接下来我们将继续探讨Lambda表达式在其他方面的应用,包括函数式接口的实现、线程创建、Optional的操作以及Stream的流水线操作。理解了,我将添加更多的案例,其中将包括对比使用Lambda表达式和不使用Lambda表达式的情况,以便更全面地展示Lambda表达式的优势。Lambda表达式的引入使得归约操作更为简单,减少了冗余的循环代码,提高了代码的可读性和简洁性。Lambda表达式简化了过滤操作,使得代码更加清晰明了,减少了中间变量的使用。原创 2024-02-17 22:22:01 · 4032 阅读 · 2 评论 -
“深度解析Java虚拟机:运行时数据区域、垃圾收集、内存分配与回收策略、类加载机制“
本文深入探讨了Java虚拟机的关键概念,分为三个主要部分:运行时数据区域、垃圾收集、内存分配与回收策略、以及类加载机制。在第一部分中,详细介绍了Java虚拟机的运行时数据区域,包括程序计数器、虚拟机栈、本地方法栈、堆、方法区、运行时常量池以及直接内存等。第二部分聚焦于垃圾收集,涵盖了对象可回收性的判断、引用类型、垃圾收集算法、垃圾收集器等关键概念。最后一部分深入研究了内存分配与回收策略,包括Minor GC和Full GC的触发条件、内存分配策略以及类加载机制的生命周期和过程,涉及到加载、验证、准备、解原创 2024-02-10 22:33:59 · 27493 阅读 · 1 评论 -
Java容器:概览、设计模式与源码分析
这篇文章深入探讨了Java中常用的容器,包括Collection接口下的Set、List、Queue以及Map接口。在容器设计方面,文章详细介绍了迭代器模式和适配器模式的应用。通过源码分析,特别关注了ArrayList、Vector、CopyOnWriteArrayList、LinkedList、HashMap、ConcurrentHashMap、LinkedHashMap、WeakHashMap等容器的内部实现机制。具体涵盖了各容器的概览、性能特点、扩容机制、同步策略等关键方面,为读者提供了深刻的理解。原创 2024-02-10 22:26:48 · 27762 阅读 · 0 评论 -
Java基础:从数据类型到新特性一揽无余
这篇文章全面探讨了Java编程语言的基础知识,包括数据类型、String操作、运算、关键字、Object通用方法、继承、反射、异常、泛型、注解等方面。通过深入讨论基本类型、包装类型、缓存池、String的不可变性、运算中的参数传递和类型转换、关键字的应用、Object通用方法的实现、继承与访问权限、反射、异常处理、泛型和注解等内容,读者将获得全方位的Java基础知识。此外,文章还关注Java各版本的新特性,对比Java与C++的异同,并提供JRE与JDK的区别。通过清晰的结构和实用示例,本文为初学者和有经验原创 2024-02-10 22:22:45 · 29641 阅读 · 0 评论 -
Java IO:从基础到高级操作全览
这篇文章全面探讨了Java IO(输入/输出)的各个方面,分为磁盘操作、字节操作、字符操作、对象操作、网络操作、NIO等几个主要部分。在磁盘操作中,介绍了文件复制和装饰者模式的实现。字符操作部分详细讨论了编码与解码、String的编码方式以及Reader与Writer的应用。对象操作包括序列化、Serializable接口和transient关键字的讨论。网络操作涵盖了InetAddress、URL、Sockets和Datagram等主题。NIO部分深入讲解了流与块、通道与缓冲区、选择器、套接字NIO实例以原创 2024-02-10 22:10:57 · 31764 阅读 · 0 评论