自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言与Java语言编译过程及文件类型

我现在对文件的一些类型是什么还是有点迷,包括对于C语言和Java语言我们在编译执行完成分别生成的什么文件还是印象不深,所以我想把这些一起总结一下。提示:以下是本篇文章正文内容,下面案例可供参考C语言编译​​:生成机器码产生中间文件(.i, .s, .o)最终输出平台相关可执行文件​​Java编译​​:生成字节码(.class)依赖JVM执行通过打包工具可生成EXE​​关键文件​.dll/.so:共享库.dat:通用数据文件.jar:Java打包格式.exe:Windows可执行文件​。

2025-10-11 22:23:15 853

原创 【软考】笔记总结二

中制定开发计划、需求分析、软件设计、编码、测试和维护等阶段以及各阶段的固定顺序,上一阶段完成后才能进入到下一阶段,整个过程如同瀑布流水。该模型为软件的开发和维护提供了一种有效的管理模式,但在大量的实践中暴露出其缺点,其中最为突出的是缺乏灵活性,特别是。允许在获取了一组基本需求后,通过快速分析构造出软件的一个初始可运行版本(称作原型),然后根据用户在适用原型的过程中提出的意见对原型进行改进,从而获得原型的新版本。面向数据流、自顶向下、适合数据处理领域的问题、不适合大规模、复杂的项目、难以适应需求的变化。

2025-09-16 22:03:17 298

原创 【软考】笔记总结一

接下来每天开始总结一下软考笔记 今天我想复习一下计算机网络。提示:以下是本篇文章正文内容,下面案例可供参考今天我们总结了一下计算机网络的一点知识点,只要下功夫,铁杵磨成针,加油!

2025-09-16 21:54:58 612

原创 [JavaWeb]在学习Servlet的过程中一个经典面试题

在学习ServletConfig这个接口的时候,突然发现了一个非常容易有陷阱,就是它其实是一层套着一层,下面我给大家简单的介绍一下这个陷阱同时也复习一下前面OOP的知识,我们要时时刻刻的知道我们是OOP程序员。提示:以下是本篇文章正文内容,下面案例可供参考/*** @author 韩顺平*//*** 老师梳理ServletConfig config 使用流程* 1. 当DBServlet对象初始化时, tomcat会同时创建一个 ServletConfig对象。

2025-09-15 22:20:57 871

原创 [JavaWeb]模拟一个简易的Tomcat服务(Servlet注解)

我们在最开始学JavaWeb的时候,是需要配置web.xml文件,来找到Servlet相应的服务,然后还有以注解的方式,这里要清楚注解的方式是@interface.然后我想带着大家了解一下Tomcat到底替我们干了多少事,我们就知道Tomcat有多牛逼了。提示:以下是本篇文章正文内容,下面案例可供参考该Tomcat(或其他Servlet容器)是通过反射获取注解信息并实例化Servlet的。​​反射运用正确​​:你使用加载类,并用获取注解对象,这是标准做法。​​成功提取注解信息​​:你通过。

2025-09-09 22:04:19 969

原创 【JavaWeb】一个简单的Web浏览服务程序

在我们学习TomCat和Servlet之前,我们要知道Tomcat其实就相互于一个Java程序,但是这个Java程序可以处理来自浏览器的Http请求。下面我们就自己来编写一个“服务器”来接收和相应浏览器或客户端发送的请求。提示:以下是本篇文章正文内容,下面案例可供参考。

2025-09-07 21:25:15 1124

原创 【Java】对于XML文档读取和增删改查操作与JDBC编程的读取和增删改查操作的有感而发

在学习了一点关于XML技术的一点基础后,我们知道XML实际上是由一个个的元素和属性而组成,这个跟HTML DOM很像,都是封装成DOM对象然后取其属性啊,元素什么的,所以我就感觉跟JDBC编程里面增删改查特别像,所以写一篇文章来总结一下,下面大家一起来看看提示:以下是本篇文章正文内容,下面案例可供参考总的来说,JDBC和XML操作在​​抽象模式和核心思路上高度相似​​,都是先建立“会话”,再通过特定命令操作数据,最后保存更改。这使得学会其中一种后,另一种的学习成本会大大降低。它们的根本差异源于​。

2025-09-03 22:01:27 681

原创 【Web前端】JS+DOM来实现乌龟追兔子小游戏

在学习了JavaSCript这门语言的基础后,并稍微了解了点DOM后,我根据所学的一些课程类似写了一个有关乌龟追兔子的小游戏,这里面有很多关于JS和DOM的知识点包括一丢丢的算法,希望大家可以认真阅读一下提示:以下是本篇文章正文内容,下面案例可供参考乌龟追兔子其实这个就是我们分别插入两张兔子和乌龟的图片,然后通过移动乌龟看是否会与兔子发生碰撞,如果碰撞代表乌龟追到兔子,乌龟就重新复位。然后这里面我们如何通过让乌龟移动起来呢,如何分别点击向上向下向左向右四个按钮来控制乌龟移动呢,这是我们需要思考的问题。

2025-09-02 21:38:59 947

原创 【JavaWeb】之HTML(对HTML细节的一些总结)

首先我们在把Java基础学习完之后,我们就要进行网站方面的开发了,我们要了解网页的组成,而网页的组成有HTML,CSS,JavaScript 所以我们就要从HTML开始了,下面我们开始进行学习。1. HTML(HyperText Mark-up Language)即超文本标签语言(可以展示的内容类型很多)2. HTML 文本是由HTML标签组成的文本,可以包括文字、图形、动画、声音、表格、链 接等。

2025-09-01 22:28:21 1210

原创 【Java】学生成绩管理系统(图形化界面Swing组件实现)

从功能的代码实现到界面的展示整个制作过程全部用Java语言实现。本实验旨在设计并实现一个基于C/S模式的学生成绩管理系统,使用Java语言并结合了多种技术,包括IO流、JDBC、Swing组件等。本次实验的主要任务是设计并实现一个包含以下基本功能的学生成绩管理系统, 其中原来都是写一个单独的界面就行了,但这次使用Swing框架设计了简洁直观的用户界面,通过分离不同功能的界面,如学生成绩查询界面、教师管理界面等,用户可以轻松地完成操作,保证了系统的易用性。

2025-06-24 14:00:22 740

原创 MySQL:关系模型的基本理论

对于我们来说为什么要学习和了解关系模型的基本理论呢,我在一开始学习这点的时候就不是很清楚,不知道其重要性,但是学习关系模型对于数据库开发和设计是至关重要的,它提供了一个系统化和结构化的方式来组织,管理和访问数据,关系模型是基于集合论和逻辑推理的,通过关系(通常表现为表)来表达数据及其之间的关系。我们要明白数据之间的关系,相信很多毕业答辩的同学经常会被问到主键和外键和参照完整性原则,下面我们就来看看这到底是个怎么事!每个字段的值必须来自于一个有效的域(数据类型和值的范围)。

2025-05-13 20:14:12 1104

原创 2025年第十六届蓝桥杯省赛JavaB组真题

第十六届蓝桥杯省赛已经结束了,第一次参加也是坐牢了4个小时,很遗憾这次只拿到了省三的名次,从明天开始我要把每一个题都总结一遍,供大家参考,可以当作一种思路来看,解法不一定是正解,只是给大家提供一种能够正常想到的思路吧。明天我就开始给大家讲这些个题了,我会结合我在考场上的思想和考下的总结一起展示我的思考过程。

2025-05-05 21:43:50 1002

原创 Java高级:数据库访问优化

通过我之前发的数据库连接,数据库连接能够发现问题:在访问数据库时,执行步骤都是相同的,不同的是每次执行的SQL语句。因此,为了简化数据库访问操作,减少代码冗余,提高效率,需要将访问数据库时通用的基本代码进行封装,即程序员自己编写一个数据库访问工具类DBUtils,用于提供访问数据库时所用到的连接,查询,更新和关闭等操作的基本方法,其他类通过调用DBUtils工具类来实现数据库的访问。所以下面我们来讲讲这个类是怎么写的。提示:以下是本篇文章正文内容,下面案例可供参考t=P1C7。

2025-04-23 22:19:17 1319

原创 Java与MySQL数据库连接的JDBC驱动配置教程

我们在学习数据库和java程序以后我们需要将其连接起来,这时候就需要用到JDBC,通过使用JDBC,Java程序可以轻松地操作各种主流数据库,例如,Oracle,MS SQL Server,MySQL等。由于Java语言本身的跨平台性,所以使用JDBC编写的程序不仅可以实现跨数据库,还具有跨平台性和可移植性。使用JDBC访问数据库具有操作简单,获取方便且安全可靠等优势。所以我们将详细讲解一下JDBC编程。Java 数据库连接(JDBC)是Java应用程序与数据库之间的一种标准的SQL数据库连接协议。

2025-04-17 22:14:02 3678

原创 MySQL:存储函数和存储过程

创建存储函数使用BEGIN-- 计算过程END $$DELIMITER;是函数的返回类型。表示该函数对于相同的输入参数返回相同的结果。如果函数结果依赖于外部因素(如随机数、时间等),则应使用。用于返回结果。创建存储过程使用语句,语法如下:BEGIN-- SQL语句END $$DELIMITER;是用来修改命令结束符的,通常 MySQL 的默认命令结束符是;,但是存储过程体内部也会使用;来分隔 SQL 语句,因此需要使用DELIMITER来改变结束符。是存储过程的名字。

2025-04-15 22:44:23 1377

原创 计算机操作系统——存储器管理

根据我们前面讲的操作系统的内容,说白了这章我们处理的就是作业来了放哪里?存储器历来都是计算机系统的重要组成部分。近年来,随着计算机技术的发展,系统软件和应用软件在种类、功能上都急剧地膨胀,虽然存储器容量一直在不断扩大,但仍然不能满足现代软件发展的需要。因此,存储器仍然是一种宝贵而又稀缺的资源。如何对它加以有效的管理,不仅直接影响到存储器的利用率,而且对系统性能也有重大影响。存储器管理的主要对象是内存。

2025-04-14 22:05:42 1148

原创 计算机操作系统——死锁(详细解释和处理死锁)

在第二章中,我们已经涉及到死锁的概念,例如系统中只有一个扫描仪R1和一台刻录机R2,有两个进程p1和p2,他们都准备将扫描的文档刻录在CD光盘上,进程1先请求扫描仪R1并获得成功,进程2先请求刻录机R2也获得成功,后来P1又请求CD刻录机,因它已被分配给了P2而阻塞,P2又请求扫描仪,也因被分配给了进程1而阻塞,此时两个进程都被阻塞,双方都希望对方能释放出自己所需要的资源,但他们谁都因不能获得自己所需的资源去继续运行,从而无法释放出自己占有的资源,并且一直处于这样的僵持状态而形成死锁,又如,

2025-04-12 18:31:19 1018

原创 蓝桥杯冲刺:一维差分

前段时间我们讲了一维前缀和,这次我们来讲讲一维差分,就是跟一维前缀和是两个类似的概念,来快速处理区间加减的问题,下面我们来详细的讲解一下一维差分和前缀和都很重要,都是可以对区间进行快速的操作,所以我们需要尽量掌握,接下来会持续更新算法的。

2025-04-11 19:14:11 1400

原创 蓝桥杯冲刺:一维前缀和

上次我介绍了一下模拟和枚举类的题目,这次我想给大家介绍一种必会的思想,就是一维前缀和,因为假设我们要确定一个区间的和,我们每次确定一个范围就是遍历一次,时间复杂度有可能会很高,而我们如果构建出来前缀和数组的话就方便很多了,下面我们来看具体的:前缀和是以空间换时间以上就是今天要讲的内容,其实前缀和就像一个基本的组件可以作为其他算法的组件,像动态规划等等,下面我们讲dp的时候我也会给大家更新的,接下来我会一直给大家更新蓝桥杯的算法题的,大家一起加油,积极向上就完了。

2025-04-02 22:47:32 1282

原创 【蓝桥杯】 枚举和模拟练习题

今天距离蓝桥杯还有13天,时间不多了,我也在复习,而我们最容易掌握的就是暴力来写题,因此今天给大家补充两道枚举和模拟类的题,下面是我的讲解过程。

2025-03-31 22:39:35 1086 2

原创 Java实战:实现用户的登录注册功能

在学习完文件和IO流的操作后,包括事件监听机制和UI组件以后,我们可能会想这些知识可以用来干什么,今天我们就用一个实战案例来帮大家将学过的知识运用起来。(但是这个实战案例本来是可以用数据库与Java进行连接,但是这篇我们也可以用将用户数据存储到文件当中来实现,因为像MySQL等数据库,本质都是存储在文件当中的)。首先我们需要把用户当成一个用户类,它的属性就是我们理解的用户的数据。这里面的用户数据包括了:用户名,密码,性别,爱好,地址,学历。//用户实体//用户//用户名//密码//性别。

2025-03-29 23:44:54 2827

原创 Java反射机制(细节生动版)

前期我们如果想得到一个对象是通过new的方式来创建对象的,但实际上在Java底层会进行类加载生成一个唯一类对象,里面存放着该类的信息,我们也可以通过这个对象来创建出来实例,Java 是静态类型语言,编译时需明确知道所有类型信息。但某些场景(如框架、插件系统)需要在运行时动态加载和操作未知类。反射允许在运行时分析类结构、创建对象、调用方法,无需在编译时硬编码类型。Java反射机制样例:通过外部文件配置,在不修改源码的情况下,来控制程序,也符合设计模式的OCP原则(开闭原则:不修改原码,扩容功能)

2025-03-26 22:46:32 1273

原创 计算机操作系统处理机调度(1)

在多道程序的环境下,内存中存在着多个进程,其数目往往多于处理机数目。我们就以单核的CPU为例子,所以运行中的进程最多只能有一个,最少为0个这就要求那个系统能够按照某种算法,动态地将处理机分配给处于就绪状态的一个进程,使之执行。分配处理机的任务是由处理机调度程序完成的。对于大型系统运行时的性能,如系统吞吐量,资源利用率,作业周转时间或响应的及时性等,在很大程度上都取决于处理机调度性能的好坏。因而,处理机调度便成为OS中至关重要的部分。

2025-03-24 22:43:45 1514

原创 JavaIO流的使用和修饰器模式(直击心灵版)

前面我们讲解了Java文件和IO流的基础部分。把流简单的分了一下类,但是我们还不知道具体是如何是使用的,下面我们将详细的讲解一下这些个流各自的职责是什么,简言之就是各自的使用方式。然后我还想给大家强戴一下IO流当中的修饰器模式,因为这个实际上通过封装真的太牛逼了。

2025-03-22 00:00:13 1278

原创 MySQL教程 基本知识(基本原理和标准语言)

想必大家都会有一个疑问,就是我们为什么要学习数据库或者说我们为什么要使用数据库,像我平常会使用Java我们可以把数据存储在文件中,但是在文件中读写数据速度较慢,所以我们的数据库就要闪亮登场的吧。数据库(DataBase)是按照数据结构来组织,存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。

2025-03-20 22:31:11 1987

原创 Java 文件和IO流基础(生动形象版)

在我们学习了前面的Java操作后,我们目前需要灵活的对文件进行灵活的操作,学习IO流是编程中的基础与核心技能,几乎所有的应用程序都涉及数据输入输出(I/O)操作。其实就是数据交互的一种方式,下面让我们详细的学习一下。首先我先谈谈我对文件的理解。文件是保存数据的地方,比如大家经常使用的word文档,txt文件,excel文件,都是文件,它既可以保存一张图片,也可以保存视频和声音。计算机文件是以计算机硬盘,光盘以及移动存储设备为载体的存储在计算机上的信息集合,其存储形式可以是文本文档,图片和程序等。

2025-03-19 22:01:10 1238

原创 计算机操作系统(6) (经典进程同步问题)

上节我们简单的讲述了整型信号量和记录型信号量的定义和wait,signal操作的方式,但是这些讲述的进程互斥问题针对的是多个并发进程仅共享一个临界资源的情况,而在有些应用场合, 是一个进程往往需要获得两个或更多的共享资源后方能执行其任务,所以有了AND型信号量和以它为基础的信号量集的出现,下面我们开始详细的讲述一下子。将进程在整个运行过程中所需要的所有资源,一次性全部地分配给进程,待进程使用完后再一起释放。只要尚有一个资源未能分配给进程,其他所有可能为之分配的资源也不分配给它。

2025-03-18 18:52:58 1380

原创 计算机操作系统(5)

上文我们讲了硬件同步机制来解决诸进程互斥进入临界区的问题,这一篇我们来讲讲信号量机制来进行进程的同步,包括简单的信号量的应用等等,为什么我们要学习它呢,其实我感觉是因为它通过阻塞等待(而非忙等)的方式管理资源访问,适用于更复杂的同步场景。下面我们来开始进行学习。这里面的内容可能会有点罗里吧嗦的,我尽量根据我的理解来给大家尽量清晰易懂的讲一遍。信号量是一个整型变量(sem),配合两个原子操作(PV)实现同步:​P操作(Proberen,尝试获取)​:检查信号量是否允许进入临界区,若不允许则阻塞。

2025-03-17 22:54:33 1450

原创 计算机操作系统进程(4)

上一篇我们仅仅讲了一点关于线程同步的概念,临界区和同步机制应遵循的规则,这篇我们文章仅仅给大家讲一下软硬件的是如何实现同步机制的,下面我们会使用类c语言来进行实现,正好也复习了一下C语言的内容。提示:以下是本篇文章正文内容,下面案例可供参考。

2025-03-16 22:55:24 1075

原创 计算机操作系统进程(3)

前面我们学习了进程的定义和特征,进程状态的转换,接下来我们开始学习我们最重要的一点也是相对最难的一点,包括正在写着的我其实也感觉这东西有点抽象,但我尽量表达出来我在这段过程中对此学习的理解(我会举Java例子来更加形象的解释一下)。以上就是今天要讲的内容,本文仅仅简单介绍了进程同步的概念和临界资源还有一个Java例子,我简简单单的介绍了一下,下节会详细的实现软硬件如何实现同步机制的。

2025-03-13 22:44:42 1014

原创 计算机操作系统进程(2)

上一节我们讲了介绍了进程的相关概念和基本状态,这段内容我们将详细的扩展挂起操作和进程状态的转换,进程的控制和一点进程同步的内容。下面我们对其进行讲解。在许多系统中,进程除了就绪,执行和阻塞三种最基本的状态外,为了系统和用户观察分析进程的需要,还引入了一个对进程的重要操作——挂起操作。当该操作作用于某个进程时,该进程将被挂起,意味着此时该进程除于静止状态。如果进程正在执行,它将暂停执行。若原本就处于就绪状态,则该进程此时暂不接受调度。与挂起操作对应的操作是激活操作。

2025-03-12 22:35:03 1032

原创 计算机操作系统进程(1)

在传统的操作系统中,为了提高资源利用率和系统吞吐量,通过采用多道程序技术,将多个程序同时装入内存,并使之并发运行,传统意义上的程序不再能独立运行。此时,作为资源分配和独立运行的基本单位都是进程。操作系统所具有的四大特征也都基于进程而形成的,并从进程的角度对操作系统进行研究。可见,在操作系统中,进程是一个极其重要的概念,因此,本章专门对进程进行详细阐述。下面我先给大家基本讲讲一些基本概念。

2025-03-10 22:56:50 1069

原创 Java事件处理机制(例子小球移动案例)

我们上一个学习的是Java坐标体系和绘图机制的简单讲解。而我们这个事件处理机制可以监听键盘等等,简单来说就是可以生动的让我们画的图形动起来,下面我们详细的介绍一下Java事件处理机制。以上就是今天要讲的内容,Java 事件处理机制通过 ​委托模型​事件三要素​(源、监听器、对象)的协作关系。​监听器注册与实现​(匿名类、Lambda、适配器)。​事件处理流程​(从触发到响应的完整链路)。通过灵活使用事件机制,可以构建高度交互性和可维护性的应用程序。

2025-03-09 22:32:44 1285

原创 传智杯(省赛第三题)小苯的ovo (详细版)

这道题其实是我最想总结的一道,因为我拿到这个题,我直接想的是如何修改字符串当中的字符(就很离谱),想了解字符串内容的请见我String,StringBuffer,StringBuilder的区别那一篇,但是看到“最多”这类字眼我就知道事情不简单了,虽然DP类的题我们知道很难,包括我自己碰见动态规划的题也会傻脸,但是我们还是要知道最基础的解法,下面我们来详细的解读一下。提示:以下是本篇文章正文内容,下面案例可供参考。

2025-03-08 23:17:47 1388

原创 Java坐标体系和绘图机制(基础版)

从今天开始我也开始了GUI的学习,Java绘图通过起点 + 参数化范围​(如宽高、终点、变换)确定图形位置和尺寸。理解坐标系方向与参数意义后,可灵活实现静态绘图、动态交互及复杂变换效果。下面会同步进行绘图的定制的更新和线程的更新。提示:以下是本篇文章正文内容,下面案例可供参考计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的。像素是一个密度单位,而厘米是长度单位。我们在绘图当中都是确定这个点然后往下开始确定范围的。相当于一个起点。

2025-03-06 22:31:55 778

原创 传智杯(省赛第二场) 小苯的好数 (经典题)

因子对称性

2025-03-05 23:01:19 1160

原创 HashSet和HashMap的区别(精简版)

Java常用集合的实现类《HashSet和HashMap》 不管是以后Java实际开发还是我们在刷算法题要想提高算法的时间复杂度其实或多或少都需要用到集合,因此我们要加强集合的使用,这篇文章我先带大家简单的了解一下最常见的集合,一个属于单列集合,一个属于双列集合,下面我们开始进行学习. 我们最应该先了解的就是集合可以动态的保存任意多个对象,并且集合内部提供了一系列方便操作对象的方法。 在我的理解中Hashset就是一种容器,只不过在这个实现类中底层就是用一种数据结构来实现其功能的,只

2025-03-03 22:49:24 1090

原创 多道批处理系统和中断指令间的区别(生动版)

在学习操作系统这门课时,它的发展过程都有各自的应用场景,如单道批处理系统,多道批处理系统,分时系统和实时系统,但是我在思考在多道程序设计中是为了使一个一个的作业调入内存去共享CPU和系统中的各种资源,我感觉这跟我恩师讲的计算机组成原理中的程序中断方式和指令流水线非常的像,但在核心目标上却略有不同,下面我们对其进行一一分析。提示:以下是本篇文章正文内容,下面案例可供参考下面我们总结一下多道批处理系统和指令流水线还有程序中断方式之间的异同。其实我感觉这三种方式都实现了通过任务的切换来提高效率的思想。

2025-02-27 21:02:50 1375

原创 抽象类和接口的区别和比较

在我们学习完接口和抽象类之后,我们脑子里可能都会有一些疑问,既然里面都可能有抽象方法,那这两个有什么区别呢,反正子类要么implements这个接口,要么extends这个抽象类,那到底有什么区别呢?或者它们有什么共同点和不同点呢?我将结合抽象类和接口的定义和基础分析,下面请听小袁为大家一一道来。以上就是我想对这两个进行一些解读,何时用接口?需要定义多个不相关类的共同行为(如Comparable需要支持多继承(一个类实现多个接口)。希望完全解耦规范与实现(如定义 API)。

2025-02-27 10:16:05 1296

原创 Java语言中的方法传参机制(生动形象版)

在浅浅的接触了C语言和Java语言后,我们知道C语言是面向过程的,而Java是面向对象的语言,所以它们的方法传参机制也略有不同,它们虽然都是纯值传递的,但是在细节方面是不同的,除了基本数据类型,C语言是通过指针间接修改,而Java语言是通过对象引用副本修改在堆内存中的对象的内容。这里我们不详细过多的讲C语言的方法传递,在以后的过程我会慢慢的进行补充。下面我们开始分析Java语言的方法传参机制。形参的任何改变都不会影响实参.int a = 10;int b = 20;swap(a,b);//输出a和b。

2025-02-25 22:13:25 1163

空空如也

空空如也

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

TA关注的人

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