- 博客(200)
- 资源 (3)
- 收藏
- 关注
原创 MySQL的四种事务隔离级别
什么是事务事务是应用程序中一系列逻辑相关的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性:一个事务中的一系列的操作要么全部成功,要么一个都不做。事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消之前的所有操作。在mysql的执行引擎当中只有innoDB支持事务,可以通过 “show engines;”查看。一、事务的基本要素(ACID)1、原子性(Atomicity):事务开始后所有操作,要么全部做完
2021-12-13 17:48:24
1290
原创 2022Java面试题大全(整理版)面试题附答案详解,最全面详细,看完稳了
目录Java基础1. String 和StringBuffer和 StringBuilder的区别?2. sleep() 区间wait()区间有什么区别?3. Object 中有哪些方法?其中clone(),怎么实现一个对象的克隆,Java如何实现深度克隆?ThreadLocal 相关4. ThreadLocal作用和实现方式 ?ThreadLocal会不会发生内存泄漏?ThreadLocal为什么使用弱引用?5. InheritableThreadLocal作用和实现方
2021-11-23 11:10:26
28481
8
原创 2W字详解Redis经典面试题(珍藏版)
1. 什么是Redis?它主要用来什么的?Redis,英文全称是Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动
2021-10-12 17:08:19
549
1
原创 超级实用的Java工具类
字符串工具类首先介绍一下commons-lang3的一个字符串工具类StringUtils,常用方法如下:1、isEmpty() 判断字符串是否为空。2、isBlank() 判断字符串是否为空,如果字符串都是空格,也认为是空。public class StringUtilsTest { public static void main(String[] args) { String str = " "; System.out.println(Strin
2021-10-09 11:01:35
498
原创 面试oracle数据库sql的基础知识
oracle的基本术语数据字典,数据库元数据信息的数据字典表和用户可以读取的数据字典视图组成。存放oracle数据库所用的有关信息。通过数据字典可以查看数据表和用户的一些信息。数据文件,一个oracle数据可以拥有一个或多个物理的数据文件,一个数据文件只对于一个数据库表空间,存储的逻辑结构,是组织数据和进行空间分配的逻辑结构。简单点,表空间就是一个或者多个数据文件的集合,所有的数据文件都被逻辑的存放在指定的表空间中。通常有system 、sysaux、 temp三个默认表空间。 系统
2021-09-28 19:53:01
219
原创 常见Oracle数据库面试题目
SQL语句分类:DQL(数据查询语言)selectDML(数据操作语言)insert、delete、updateDDL(数据定义语言)create、drop、alterDCL(数据控制语言)grant:把权限授予用户、revoke:把权限从用户收回TPL(TCL,事务控制语言):commit、rollbackOracle是怎样分页的:Oracle用rownum进行分页分页语句的步骤:a.最内层sql,查询要分页的所有数据b.第二层sql,通过rownum伪列确定显示数据的
2021-09-28 17:54:07
2025
原创 IDEA项目打包几种方式
IDEA项目打包几种方式第一种,最常见的使用maven项目的pom文件中引入spring-boot-maven-plugin插件<build> <finalName>文件名称</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId>
2021-09-27 11:31:20
23312
1
原创 一篇文章掌握整个JVM,JVM超详细解析!!!(持续更新中)
一篇文章掌握整个JVM,JVM超详细解析!!!(持续更新中)JVM内存模型JVM内存模型包括:虚拟机栈、堆、方法区、程序计数器、本地方法栈堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或
2021-09-26 15:46:19
1304
原创 Java必会的工具库,让你的代码量减少90%
#Java必会的工具库,让你的代码量减少90%Java自带工具方法1.1 List集合拼接成以逗号分隔的字符串// 如何把list集合拼接成以逗号分隔的字符串 a,b,cList list = Arrays.asList(“a”, “b”, “c”);// 第一种方法,可以用stream流String join = list.stream().collect(Collectors.joining(","));System.out.println(join); // 输出 a,b,c//
2021-06-26 14:42:10
170
原创 Java之BigDecimal详解
一、BigDecimal概述 Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDec
2020-12-19 15:37:34
501
1
原创 JAVA后端知识点长啥样?
SpringSpring框架的七大模块Spring Core:框架的最基础部分,提供 IoC 容器,对 bean 进行管理。Spring Context:继承BeanFactory,提供上下文信息,扩展出JNDI、EJB、电子邮件、国际化等功能。Spring DAO:提供了JDBC的抽象层,还提供了声明性事务管理方法。Spring ORM:提供了JPA、JDO、Hibernate、MyBatis 等ORM映射层.Spring AOP:集成了所有AOP功能Spring Web:提供了基础的 We
2020-09-12 10:06:36
191
1
原创 Java工程师面试题总结及参考答案(一)
1、 JVM结构原理、GC工作机制详解转载于:https://blog.csdn.net/tonytfjing/article/details/44278233一、JVM结构根据《java虚拟机规范》规定,JVM的基本结构一般如下图所示:从左图可知,JVM主要包括四个部分:1.类加载器(ClassLoader):在JVM启动时或者在类运行时将需要的class加载到JVM中。(右图表示了从java源文件到JVM的整个过程,可配合理解。 关于类的加载机制,可以参考http://blog.csdn.n
2020-08-11 11:11:23
678
原创 Linux常见操作命令整理
常用指令ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent)cd 切换目录touch 创建空文件echo 创建带有内容的文件。cat 查看文件内容cp
2020-06-16 17:00:26
168
原创 RabbitMQ 面试题及答案整理,最新面试题
RabbitMQ核心机制与应用摘要 RabbitMQ作为主流消息中间件,其核心组件包括生产者、消费者、交换器、队列和绑定规则。系统通过四种交换器类型(Direct、Fanout、Topic、Headers)实现灵活路由,并采用消息确认、持久化和事务机制确保可靠传输。高可用性通过镜像队列和集群部署实现,而延迟消息则依赖死信交换器或专用插件。系统提供TTL设置、优先级队列和死信队列等高级功能,同时通过预取计数实现消费者负载均衡。性能优化方面需权衡持久化开销与可靠性,并合理配置队列参数。与Kafka相比,Rabb
2025-12-22 10:37:38
524
原创 RocketMQ 面试题及答案整理,最新面试题
RocketMQ面试题摘要:RocketMQ采用CommitLog顺序写入与消费队列索引相结合的消息存储机制,通过主从同步、事务消息和重试机制保证可靠性。支持顺序消息(全局/分区)、负载均衡(动态队列分配)、延时投递(时间轮算法)和消息过滤(Tag/SQL92)。NameServer负责路由管理,Broker处理存储转发,事务消息通过半消息+本地事务+状态回查实现。提供批量发送、消息压缩、死信队列等特性,并采用同步/异步复制模式平衡性能与一致性。通过幂等性设计和消费进度管理解决消息重复问题。
2025-12-22 10:36:05
295
原创 Mybatis-Plus 答案整理,最新面试题
Mybatis-Plus高级功能摘要:Mybatis-Plus提供了丰富的扩展功能,包括查询缓存、字段权限控制、多数据源管理等。通过Interceptor拦截器可实现查询缓存和权限控制;使用动态数据源和事务管理器支持多数据源切换;结合Elasticsearch实现高性能搜索;通过@Version注解实现乐观锁。还支持逻辑删除、自动填充、多租户隔离、批量操作优化等功能。此外,可通过自定义TypeHandler处理枚举类型,利用Wrapper构建复杂查询,通过插件机制扩展审计日志等自定义功能。这些功能大大提升了
2025-12-17 15:34:37
626
原创 MyBatis 面试题及答案整理,最新面试题
MyBatis常见问题解析:本文系统总结了MyBatis框架的核心知识点,包括#{}与${}的区别(安全性与直接替换)、缓存机制(一级与二级缓存作用范围)、分页实现方式(物理分页与插件分页)、动态SQL构建(if/choose/foreach标签)、枚举类型处理(TypeHandler机制)、事务管理(手动与容器控制)等关键技术点。特别强调了resultMap的灵活映射能力、插件拦截器的工作机制、批量操作优化策略以及多数据源配置方法,为开发者提供了全面的MyBatis使用指南和性能优化建议。
2025-12-17 15:33:51
464
原创 SQLite 面试题及答案整理,最新面试题
SQLite数据库核心机制与应用摘要 SQLite作为轻量级数据库,其核心机制包括: 索引优化:采用B树结构提升查询效率,需权衡索引维护成本 事务管理:通过ACID特性保证数据一致性,支持WAL模式提高并发 触发器应用:实现数据校验、自动填充字段、审计日志等自动化任务 性能优化:合理使用索引、批量操作、查询简化等方法提升效率 数据完整性:通过主键、外键、CHECK等约束机制确保数据准确性 特殊功能支持: 全文搜索(FTS):倒排索引实现高效文本检索 窗口函数:支持复杂数据分析计算 大对象处理:分块读写Blo
2025-12-16 09:11:20
431
原创 Kubernetes 面试题及答案整理,最新面试题
Kubernetes核心概念解析:Pod、Service与存储管理 摘要:本文梳理了Kubernetes中的关键概念与机制。Pod作为最小调度单元,可包含多个共享网络和存储资源的容器;Service提供稳定的网络访问点,包含ClusterIP、NodePort等类型;存储管理通过PV/PVC机制实现;自动扩缩容由HPA基于资源指标完成;网络策略实现Pod间通信控制;StatefulSet专用于有状态应用;ConfigMap和Secret分别管理普通和敏感配置。这些机制共同构成了Kubernetes的核心功能
2025-12-15 09:13:47
806
原创 Docker 面试题及答案整理,最新面试题
Docker容器与虚拟机的核心区别在于架构轻量、性能高效和资源共享。容器共享宿主机内核,启动快且资源占用少,而虚拟机提供完整OS隔离但性能开销大。Docker关键技术包括:镜像分层构建、网络隔离模式、数据持久化方案(Volume/BindMount)、资源配额管理、多阶段构建优化等。最佳实践涵盖安全策略(非root运行、镜像扫描)、日志管理(集中式ELK)、服务编排(Compose/Swarm)及自动化部署(CI/CD)。通过控制组、命名空间实现资源隔离,支持跨主机通信和灾难恢复,平衡性能与安全性。
2025-12-15 09:13:00
855
原创 ElasticSearch 面试题及答案整理,最新面试题
Elasticsearch核心机制摘要:倒排索引通过词项映射实现快速全文搜索;集群通过主节点管理、数据节点存储和副本机制保障高可用;分片策略实现水平扩展;映射定义字段类型和索引方式;聚合功能支持复杂数据分析;文本分析包括分词、标准化等处理;NRT搜索通过定期刷新实现;优化策略含批量操作和硬件升级;安全机制含X-Pack插件;快照备份保障数据恢复。
2025-12-13 09:28:09
590
原创 SolrCloud 面试题及答案整理,最新面试题
SolrCloud架构的核心组件包括集群节点、ZooKeeper协调服务、Leader-Replica机制和分片策略。通过ZooKeeper实现集群管理、配置存储和Leader选举,采用分片技术实现数据分布式存储,配合多副本机制保障高可用性。系统支持自动故障转移、负载均衡和动态扩展,能有效处理大规模数据索引与查询。安全方面提供认证授权、通信加密等机制,并通过Collection API和别名功能简化管理。优化策略包括合理分片、缓存利用和查询路由,确保高性能搜索服务。
2025-12-13 09:27:16
173
原创 Nacos 面试题及答案整理,最新面试题
Nacos是一款功能强大的微服务管理平台,主要提供三大核心功能:服务注册与发现、配置管理和服务健康监测。在服务注册与发现方面,Nacos支持集群部署、数据一致性协议和客户端缓存机制,确保高可用性。其配置管理功能支持动态更新、版本控制和多环境隔离。此外,Nacos还提供完善的服务健康检查机制,包括心跳检测和自动故障摘除。通过命名空间、分组和权限控制等机制,Nacos实现了服务隔离与安全管理,并支持与SpringCloud、Dubbo等主流框架的无缝集成。
2025-12-12 09:11:36
613
原创 MyCat 面试题及答案整理,最新面试题
MyCat通过SQL路由机制,将查询请求根据规则分配到不同的数据库节点,达到负载均衡的目的。MyCat支持数据库的分布式架构,能够进行数据的分片处理,提高数据库操作的效率和可扩展性。MyCat支持读写分离,可以将读操作和写操作分发到不同的数据库节点,优化性能和负载均衡。MyCat提供详细的权限控制机制,限制用户可执行的SQL类型和范围,降低注入攻击的风险。MyCat实现读写分离,将读请求分配到从节点,写请求发送到主节点,降低单个数据库的压力。
2025-12-12 09:10:45
849
原创 Zookeeper 面试题及答案整理,最新面试题
ZooKeeper是一个分布式协调服务,其核心数据模型采用树形结构(类似文件系统),由ZNode节点组成。节点分为持久节点、临时节点(会话绑定)和顺序节点(带唯一序号)。关键机制包括:1)Watcher监听(一次性触发,用于实时感知节点变化);2)分布式锁实现(基于临时顺序节点和最小序号竞争);3)Leader选举(通过ZAB协议和多数投票机制);4)数据一致性保障(顺序一致性、ZAB协议、事务日志)。典型应用包括配置管理、服务发现、集群管理等。ZooKeeper通过临时节点、会话机制和多数派原则有效解决了
2025-12-11 11:59:59
319
原创 Hadoop 面试题及答案整理,最新面试题
本文全面介绍了Hadoop生态系统的核心优化与管理策略,涵盖内存配置、故障恢复、数据压缩、YARN架构、数据排序、安全机制等多个关键主题。文章详细阐述了如何通过参数调优、资源隔离、数据本地化等技术提升Hadoop性能,并探讨了处理数据倾斜、小文件问题、元数据膨胀等常见挑战的解决方案。此外,还深入讲解了Hadoop的高可用架构、联邦存储、实时处理等高级特性,以及数据治理、灾难恢复、多租户管理等企业级应用场景的最佳实践。
2025-12-11 11:58:36
492
原创 Netty 面试题及答案整理,最新面试题
摘要:Netty是一个高性能异步网络框架,其核心特点包括:1)基于主从Reactor多线程模型,Boss线程处理连接请求,Worker线程处理IO操作;2)高效的ByteBuf内存管理机制,支持读写索引分离、动态扩容和内存池化;3)零拷贝特性通过CompositeByteBuf和FileRegion减少数据拷贝;4)通过多种解码器(定长、行分隔、长度字段等)解决TCP粘包/拆包问题;5)优化的事件处理机制,包括ChannelPipeline处理器链和EventLoop事件循环;6)提供SSL/TLS加密、H
2025-12-10 11:55:40
289
原创 Linux 面试题及答案整理,最新面试题
Linux系统管理涉及用户/组管理(useradd/groupadd)、文件权限(chmod/chown)、进程监控(ps/top)、定时任务(cron)、网络配置(ifconfig/route)、日志管理(/var/log)等核心功能。系统通过inode管理文件元数据,支持硬/软链接,提供Shell脚本实现自动化。关键组件包括GRUB引导程序、LVM磁盘管理、SELinux安全模块及防火墙工具(iptables/firewalld)。内核模块支持动态加载,swap空间扩展内存容量。备份恢复、RAID存储、
2025-12-10 11:46:13
1094
原创 Maven 面试题及答案整理,最新面试题
Maven项目标准目录结构包括src/main/java(源码)、src/main/resources(资源)、src/test/java(测试代码)和target(构建输出)。依赖管理通过坐标(groupId/artifactId/version)和范围(compile/test/provided等)实现,支持传递性依赖和冲突解决(最近优先原则)。生命周期分为clean/default/site,各包含有序阶段(如compile/test/package),插件可绑定阶段执行任务。多模块项目通过父POM聚
2025-12-10 11:45:07
99
原创 SVN 面试题及答案整理,最新面试题
SVN中的分支和标签主要用于代码管理,分支用于并行开发且可修改,标签用于标记特定版本且通常为只读。处理合并冲突时需手动解决差异并标记为已解决。钩子脚本在特定事件触发执行,如pre-commit检查代码规范。树冲突需手动调整文件结构。权限管理通过authz文件配置,最佳实践包括模块化结构、定期合并和合理使用分支标签。大型项目需优化存储策略,定期维护仓库性能。恢复历史版本可通过svn log和checkout实现。外部引用(svn:externals)可管理依赖库。annotate/blame命令用于追踪代码修
2025-12-09 14:18:35
301
原创 Git 面试题及答案整理,最新面试题
Git分支策略包括功能分支、Gitflow工作流、Forking工作流和主干开发,适用于不同规模和协作模式的项目。解决冲突需手动编辑冲突文件后标记为已解决。Rebase和merge分别用于线性整合和保留分支历史。Stash可临时保存工作进度,tag用于标记版本发布。Submodule用于管理依赖库。HEAD指向当前提交,index是暂存区,工作目录包含实际文件。优化大仓库性能可通过浅克隆、Git LFS和定期清理实现。Cherry-pick可选择应用特定提交。分布式Git相比集中式系统具有完整本地仓库和灵活
2025-12-09 14:14:26
769
原创 Java中55种锁,高级面试题,最新面试题
Java提供了多种锁机制解决并发问题,包括乐观锁(通过版本控制避免冲突)、悲观锁(确保数据安全)、读写锁(分离读写操作提升并发)以及自旋锁(减少线程切换)。特殊锁如可重入锁防止死锁,分段锁提升数据结构并发访问。针对不同场景选择合适锁策略:读多写少用乐观锁,写频繁用悲观锁,短任务用自旋锁。此外,Java还支持锁优化技术(锁粗化/消除)和高级同步工具(信号量/倒计时锁等)。在分布式环境下,网络锁和事务锁确保跨系统数据一致性。合理运用这些机制能在保证线程安全的同时优化性能。
2025-12-08 10:17:58
721
原创 Java 网络协议面试题答案整理,最新面试题
TCP和UDP是两种主要传输协议:TCP提供可靠连接,通过三次握手建立连接,确保数据有序传输;UDP无连接,传输速度快但不保证可靠性。HTTP是无状态协议,支持多种数据格式,常用于B/S架构。Socket编程中TCP需要建立连接,UDP直接发送数据。网络协议栈分应用层、传输层、网络层和链路层,协同完成数据传输。TCP三次握手确保连接可靠建立,而HTTP无状态性通过Cookie等机制管理会话状态。UDP通过校验和保证数据完整性,但不提供错误恢复。多客户端通信可通过多线程或事件驱动实现。TCP通过滑动窗口控制流
2025-12-08 10:13:40
654
原创 Java 设计模式 面试题及答案整理,最新面试题
Java设计模式摘要 Java提供了多种设计模式实现方式: 创建型模式:包括单例(饿汉/懒汉/枚举等)、工厂/抽象工厂、建造者模式,解决对象创建问题。 结构型模式:代理(静态/动态/CGLIB)、装饰器、适配器、享元模式,处理类和对象组合。 行为型模式:观察者、策略、命令、状态模式等,管理对象间通信。 核心特点: 单例确保全局唯一实例 工厂封装对象创建过程 观察者实现松耦合通知 装饰器动态添加功能 享元优化资源使用 各模式通过接口/抽象类定义规范,具体类实现细节,达到代码复用、解耦和扩展的目的。合理运用设计
2025-12-05 16:43:45
478
原创 Java 的 JDK 8,11,17,21 新特性 ,最新面试题
JDK各版本核心特性演进分析 JDK8引入lambda表达式和Stream API,标志着Java支持函数式编程,显著简化代码并提升集合操作效率。JDK11新增var关键字实现局部变量类型推断,同时改进HTTP客户端和垃圾收集器。JDK17引入密封类和记录类,增强类型安全性和代码简洁性。预计JDK21将重点优化并发模型(Project Loom)、内存管理(Project Valhalla)及本地代码交互(Project Panama)。各版本持续演进在保持兼容性的同时,通过语言特性和JVM优化不断提升开发
2025-12-05 16:28:46
431
原创 Java NIO 面试题及答案整理,最新面试题
Java NIO 核心概念包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。主要Buffer类型有ByteBuffer、CharBuffer等基本类型缓冲区及MappedByteBuffer;通道分为FileChannel、SocketChannel等,支持阻塞/非阻塞模式;Selector实现多路复用,单线程管理多个通道。NIO提供高效文件处理方式,如FileChannel的transferTo/From方法、内存映射文件MappedByteBuffer。相比传统IO,NIO
2025-12-04 14:39:16
297
原创 Java 多线程 面试题及答案整理,最新面试题
本文系统介绍了Java并发编程的核心概念与技术。主要内容包括:synchronized和volatile关键字的作用与区别、线程池的工作原理及管理、线程间通信方式(wait/notify机制、信号量等)、ThreadLocal原理与内存泄漏问题、并发集合类(如ConcurrentHashMap)的实现机制、锁优化与升级过程、死锁预防与检测方法等。文章还深入探讨了Java内存模型、happens-before原则、各种同步工具类(CountDownLatch、CyclicBarrier、Semaphore)的
2025-12-04 14:20:22
522
原创 Java 多线程 面试题及答案整理,最新面试题
摘要:本文系统介绍了Java并发编程的核心概念与技术,包括同步机制(synchronized、volatile、Lock)、线程池管理、线程通信(wait/notify、信号量等)、并发工具类(CountDownLatch、CyclicBarrier等)的使用。重点解析了线程安全实现、死锁处理、原子操作、内存模型(JMM)等关键问题,并提供了生产者-消费者模式、单例模式等典型场景的线程安全实现方案。文章还对比了ReentrantLock与synchronized、ReadWriteLock与StampedL
2025-11-27 19:42:30
37
原创 Java 并发编程 面试题及答案整理,最新面试题
本文摘要:Java并发编程中的volatile关键字保证变量可见性和防止指令重排;synchronized提供互斥锁和内存可见性;CAS操作实现无锁编程;Lock接口比synchronized更灵活;线程池优化线程管理;happens-before原则确保内存有序性;CountDownLatch和CyclicBarrier用于线程同步;ThreadLocal实现线程隔离;AQS是锁框架基础;并发集合类提高多线程性能;死锁避免策略;CompletableFuture支持异步编程。这些机制共同构建了Java强大
2025-11-27 19:30:56
328
原创 JVM 高级面试题及答案整理,最新面试题
JVM核心机制摘要:JVM包含多种垃圾收集器(如Serial、Parallel、CMS、G1),采用分代回收策略,使用标记-清除、复制等算法。内存分为堆(存储对象)、方法区(类信息)、栈(线程私有数据)等区域。类加载采用双亲委派模型,通过启动类、扩展类和应用程序类加载器完成。对象存活通过可达性分析判断,引用类型包括强、软、弱、虚引用。Java 8用元空间替代永久代,优化了类元数据存储。JVM通过JIT编译器提升性能,并提供VisualVM等工具进行监控调优。
2025-11-26 16:12:18
167
JAVA思维导图.rar
2025-05-15
Java基础知识点总结与实战指南PDF版
2024-12-26
Java架构面试专题汇总
2022-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅