自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

寒山空明月

老骥伏枥,志在千里;烈士暮年,壮心不已

  • 博客(50)
  • 资源 (40)
  • 问答 (1)
  • 收藏
  • 关注

原创 idea 快捷键

idea 快捷键创建类 settings>keymap>Main Menu>File>New>java Class 設置快捷鍵 ctrl+alt+7 显示全部方法 ctrl+F12 显示全部属性 ctrl+F12摺叠代碼 ctrl+ + 、 ctrl+ -本地文件变更记录 alt+shift+c常用代码结构 ctrl+alt+T查看类之间的关系 *** ctrl+shift+...

2021-06-09 00:05:50 193

原创 redis 缓存雪崩 redis 缓存穿透 redis 缓存击穿

redis缓存雪崩同一个时间redis的key失效,缓存失效,所有的请求直接打到数据库,造成数据库并发增大或崩溃,(雪崩)处理1:为每个key的失效时间设置一个随机值,避免同一时间失效处理2:设置热点数据永不过期,更新时更新缓存即可;redis缓存穿透只缓存与数据库均没有数据,当用户不断发请求,数据库压力过大,严重则击垮数据库。例如:攻击者伪造不存在的key大量请求,每次都会给数据库带来压力,如传入用户ID为-1...

2020-12-02 09:45:58 229

原创 java.lang.UnsupportedOperationException 为什么产生

1. 错误的使用String[] strArray= new String[]{"Tom", "Bob", "Jane"};List strList= Arrays.asList(strArray);// TODO 这里面会抛出异常 ,因为创建集合的时候使用数组的方式创建的strList.clear(); 2. 正确的使用List strList= new Arr...

2020-04-17 16:34:09 573

原创 docker常用命令

https://yeasy.gitbooks.io/docker_practice/content/kubernetes/quickstart.html 查看安装的docker    yum list installed | grep docker查看镜像    docker images删除docker    yum remove -y dockerName安装doc...

2018-11-22 01:22:33 286

原创 RocketMQ部署 的windows系统安装

原博地址:https://www.jianshu.com/p/4a275e779afa一.预备环境1.系统        Windows2. 环境        JDK1.8、Maven、Git 二. RocketMQ部署1.下载1.1地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/...

2018-09-11 23:05:23 493

转载 Linux下安装jdk8步骤详述

Linux下安装jdk8步骤详述作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装jdk为例,详细记录了每一步的操作命令,以供参考。0.下载jdk8登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对应jdk版本下载。(可在Wind...

2018-09-11 00:17:07 416

转载 linux卸载自带jdk

linux卸载自带jdk centos 6.5系统 java -version:rpm -qa | grep jdkrpm -qa | grep gcj:使用: yum -y remove java-1.5.0-gcj-devel-1.5.0.0-29.1.el6.x86_64yum -y remove java-1.5.0-gcj-1.5.0.0-2...

2018-09-11 00:00:53 5251

原创 IDEA 配置git 完成项目下载和提交

 重点步骤: idea配置本地的git.exe 本地git文件中设置key , 命令:$ ssh-keygen -t rsa -C "[email protected]" ;设置完后,将本地(C:\Users\用户名\.ssh\**_rsa.pub) 密钥添加到github中 参考地址: Git的使用--如何将本地项目上传到Github(两种简单、方便的方法)...

2018-09-10 23:33:54 1606

转载 IDEA配置git

 原文地址:https://www.cnblogs.com/hkgov/p/7694101.html 注:此方法可用于配置gitlab也可用于配置github1.在github中创建一个账号:https://github.com/join?source=header-home2.下载并安装git:https://git-scm.com/downloads3.安装成功后打开G...

2018-09-10 22:46:12 680

转载 Linux--用SecureCRT来上传和下载文件

 原文地址:Linux--用SecureCRT来上传和下载文件   https://www.cnblogs.com/zhengyihan1216/p/6260667.html SecureCRT下的文件传输协议有以下几种:ASCII、Xmodem、Ymodem、ZmodemASCII:这是最快的传输协议,但只能传送文本文件。Xmodem:这种古老的传输协议速度较慢,但由于使用了C...

2018-09-10 21:47:35 490

原创 轻松实现离线地图-离线地图-地图瓦片下载

此demo为前端页面离线地图,不连外网,不用与后端交互,瓦片下载的全就显示的全;代码示例下载: 链接:https://pan.baidu.com/s/1We86NFDNBCoD9JPz3z_iyw提取码:lhrn 里面有使用讲解视频 或者 https://download.csdn.net/download/bird73/10323603demo...

2018-08-21 22:52:43 14285 4

原创 Java调用Groovy 简单例子

public static void main(String[] args) throws Exception { long start = System.currentTimeMillis(); ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine ...

2018-07-02 23:59:40 5141

转载 Java 生成 csv文件

转载:https://blog.csdn.net/xuxu198899223/article/details/38079885package csvdemo002;import java.util.LinkedHashMap;public class CouponCountBean { private String account_id; private String coupon...

2018-05-08 23:29:21 1220

转载 java 生成 csv文件

转载: https://blog.csdn.net/nihaoqiulinhe/article/details/53838874package csvdemo003;import java.util.LinkedHashMap;public class CouponCountBean { private String account_id; private String cou...

2018-05-08 23:24:38 1212

原创 实现一个双向链表的倒置功能(1->2->3 变成 3->2->1)

代码: https://download.csdn.net/download/bird73/10350235一共三个java文件ListNode.javapackage com.li;public class ListNode { private int data; private ListNode nextList; public int getData() { re...

2018-04-15 13:44:28 1263

转载 Java 集合系列详细总结

http://www.cnblogs.com/skywang12345/p/3245399.htmlhttps://blog.csdn.net/jeffleo/article/details/54956290https://blog.csdn.net/jeffleo/article/details/54934268 https://blog.csdn.net/jeffleo/article/det...

2018-04-10 23:39:33 282

转载 Spring代码中动态切换数据源

Spring代码中动态切换数据源  https://blog.csdn.net/yizhenn/article/details/53965552

2018-04-10 04:48:47 306

转载 图片服务器-存储图片技巧

参考: https://www.zhihu.com/question/20518854我们的ext4/dev/sda3 729923584 7亿多个inode了。数据库直接存图片本身是SB的做法。比较好的方法是存图片md5,然后通过类似md52url获取图片的地址。至于图片存放,建议打散,打3级或5级。类似 a/de/df/adedf***************.jpg ...

2018-04-10 04:47:00 7089

转载 电商新系统如何应对峰值

唯品会11.11:峰值系统应对实践:https://www.linuxidc.com/Linux/2015-11/125124.htm为了保证系统在高并发、大流量访问下工作,并且使系统有较强的扩展性,我们的设计主要从以下几个方面展开:系统模块有效切分服务化解耦,集中服务治理增加异步访问多阶段缓存,降低后端压力优化数据库访问加强系统监控服务限流在系统流量达到极限时的情况,有自动熔断机制。熔断器是在服...

2018-04-10 02:58:31 641

转载 javaweb面试总结(四、分布式事务、CAP原理和BASE思想、JDBC事务和JTA事务的区别、2PC与TCC区别)

CAP原理和BASE思想: http://www.jdon.com/37625分布式事务如何处理?解决方案有很多种!比如事务补偿机制:即在事务链中的任何一个正向事务操作,都必须存在一个完全符合回滚规则的可逆事务。或者两阶段提交、三阶段提交:分布式事务服务(DTS) 支付宝的DTS实现!最近也看见一个tcc方案GitHub - changmingxie/tcc-transaction: tcc-t...

2018-04-09 21:34:43 6798

转载 javaweb 面试总结(三、分布式事务)

幂等性: 接口不论调用多少次,结果一致;可以通过本地事物,记录状态的方式完成幂等性处理;TCC方案:包括 Try、Confirm、Cancel三个操作,第一步先调用try,然后根据try的返回情况调用Confirm或者CancelTPS: 每秒的访问量分布式系统的特性 在分布式系统中,同时满足“CAP定律”中的“一致性”、“可用性”和“分区容错性”三者是不可能的,这比现实中找对象需同时满足“高、富...

2018-04-09 20:32:30 879

原创 javaweb面试总结(二、电商项目)

电商架构:https://blog.csdn.net/yangbutao/article/details/12242441九个模块:https://blog.csdn.net/belvine/article/details/79400813电商类目:https://blog.csdn.net/qq_33620483/article/details/78265969电商后台:https://blog...

2018-04-06 21:53:53 6987

原创 activeMQ面试总结

1. 大量的消息每页被消费,能否发生oom异常? 1. 可以控制每个消息队列中数据的大小,不允许无线填充数据,避免该队列多大,导致过度消耗系统资源问题; 可以控制队列的内存大小; 2. activeMQ数据丢失怎么办? 可以使用对数据进行持久化JDBC,AMQ(日志文件),KahaDB和LevelDB,3. activeMQ如何持久化数据? *** 准确答案:http://www.360doc....

2018-04-06 18:09:02 19308

原创 Java基础面试总结(五、反射、JVM)

Java反射的概念: 把JVM通过符号的引用,动态加载Java类字节码的能力并映射成各种Java类对象。 名词:Class 不管一个类生成多少个对象,与这个类对应的Class对象只有一个; 是JVM在加载时动态生成的,用来封装类在方法区中的数据结构; Class对象是整个反射的入口.通过动态生成的Class对象去调用目标类的字段、方法、构造函数. 这种技术就是反射. java 反射和ne...

2018-04-06 02:06:34 372

转载 Java基础面试总结(四、深入理解volatile关键字)

被volatile修饰的变量,可以保证不同的线程都能多能取得最新状态值;volatile保证了可见性,避免在线程在缓存中取旧值;1. volatile 保证可见性一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。2)禁止进行指令重排序。2...

2018-04-05 23:01:39 968

转载 javaweb面试总结(一、设计模式、框架)

Java面试题全集(上) Java面试题全集(中) Java面试题全集(下) 骆昊的技术专栏源码解读Spring IOC原理设计模式详解代理模式JVM内幕:Java虚拟机详解java中JVM的原理Java JVM 运行机制及基本原理CAP原理和BASE思想深入理解Java:类加载机制及反射...

2018-04-05 22:03:58 780

转载 Java基础面试总结(三、面试宝典内容)

原文链接:Java面试题全集(上) Java面试题全集(中) Java面试题全集(下) 骆昊的技术专栏-----------------------下面为部分内容-----------------------62、synchronized关键字的用法?答:synchronized关键字可以将对象或者方法标记为同步,以实现对对象和方法的互斥访问,可以用synchronized(对象) { … }定义...

2018-04-04 22:21:40 440

原创 Java基础面试总结(二、事物的隔离级别、脏读、不可重复读、幻读、)

事务的ACID是指什么?  - 原子性(Atomic):事务中各项操作,要么全做要么全不做,任何一项操作的失败都会导致整个事务的失败; - 一致性(Consistent):事务结束后系统状态是一致的; - 隔离性(Isolated):并发执行的事务彼此无法看到对方的中间状态; - 持久性(Durable):事务完成后所做的改动都会被持久化,即使发生灾难性的失败。通过日志和同步备份可以在故障发...

2018-04-04 21:37:43 1020

转载 Java基础面试总结(一、线程问题集)

原文转载:https://blog.csdn.net/u013110200/article/details/55517717 1) 什么是线程?线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对 运算密集型任...

2018-04-04 21:25:30 235

转载 Java基础面试总结(零、为Java程序员金三银四精心挑选的300余道Java面试题与答案)

原文地址:https://segmentfault.com/a/1190000013885634推荐阅读想进大厂?50个多线程面试题,你会多少?(一)想进大厂?50个多线程面试题,你会多少?(二)BTA 常问的 Java基础40道常见面试题及详细答案Spring 常见的一些面试题整理常用的分布式事务解决方案介绍有多少种?什么是微服务架构?Dapper,大规模分布式系统的跟踪系统java 基础八种基...

2018-04-04 20:33:50 1169

转载 Java 的 NIO 入门

原文地址: http://www.tiantianbianma.com/java-nio-tutorial.html/

2018-04-04 20:20:22 150

转载 java的HashMap面试总结

参考链接:https://blog.csdn.net/pingnanlee/article/details/17228579参考链接:http://www.tiantianbianma.com/java-hashmap-treemap-hashtable-linkedhashmap.html/1. HashMap     HashMap底层是基于哈希表实现的,而哈希表对于键值有约束。当使用自定义的...

2018-04-04 20:15:49 247

转载 阿里的一次面试,跳槽需要准备的内容

转载:https://blog.csdn.net/xJ032w2j4cCjhOW8s8/article/details/79674608Spring大佬:我看你用过这个Spring啊,你来聊聊为什么我们要使用Spring呢?我:(因为大家都说好啊)首先呢,spring是一个庞大的框架,它封装了很多成熟的功能能够让我们无需重复造轮子。其次呢,它使用IOC进行依赖管理,我们就不用自己初始化实例啦。大佬...

2018-04-04 14:37:55 1766

转载 在java中有哪些锁?该如何进行分类呢?

=========================================原文链接:多线程(五) java的线程锁 转载请注明出处!=========================================一、在java中有哪些锁?该如何进行分类呢?1、共享锁/排它锁     共享锁和排他锁是从同一时刻是否允许多个线程持有该锁的角度来划分。              共享锁允许同一...

2018-04-04 14:00:24 933

转载 多线程(一)高并发和多线程的关系

原文地址: https://www.cnblogs.com/PerkinsZhu/p/7242247.html==========================================原文链接:多线程(一)高并发和多线程的关系转载请注明出处!==========================================    “高并发和多线程”总是被一起提起,给人感觉两者好像相等,...

2018-04-04 13:54:38 178

转载 常见OOM异常

原文:https://blog.csdn.net/qq_33450379/article/details/53731318OOM异常java.lang.OutOfMemoryError1.堆溢出     堆溢出,也就说明了当前的实例对象过多    当报错信息java.lang.OutOfMemoryError后面带有java heap space时,说明是java堆溢出。2.栈溢出    栈溢出需...

2018-04-04 13:51:34 533

转载 Redis4.0.1安装以及主从复制详解

Redis4.0.1安装以及主从复制详解       原文转载:https://blog.csdn.net/zyw_java/article/details/76717276    0、何为RedisRedis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类...

2018-04-02 22:35:08 295

转载 高并发秒杀系统分析

本人属于个人总结: 原文转载: https://blog.csdn.net/jeffleo/article/details/56015710名词解释:    QPS :每秒查询率QPS 本文是学习了immoc网视频之后的个人理解和知识汇总 项目源码:https://github.com/jeff-leo/SpikeSystem,希望大家能star和fork   1. 秒杀优化四个方面(1) 详情页...

2018-04-02 19:50:12 260

转载 IO多路复用机制详解

0. IO多路复用机制详解 参考 : https://blog.csdn.net/baixiaoshi/article/details/48708347        1. IO多路复用        参考: https://www.zhihu.com/question/32163005要弄清问题先要知道问题的出现原因原因: 由于进程的执行过程是线性的(也就是顺序执行),当我们调用低速系统I/O(...

2018-04-02 18:47:15 6466 3

转载 Redis面试题(一): Redis到底是多线程还是单线程?

0.redis单线程问题单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求,其他模块仍用了多个线程。1.为什么说redis能够快速执行(1) 绝大部分请求是纯粹的内存操作(非常快速)(2) 采用单线程,避免了不必要的上下文切换和竞争条件(3) 非阻塞IO - IO多路复用2. redis的内部实现 内部实现采用epoll,采用了epoll+自己...

2018-04-02 18:18:36 120806 23

python使用这个插件,自动生成音乐,PySynth-master-self.7z

python使用这个PySynth插件,自动生成音乐,执行其中DEMO-DEMO.py python使用这个PySynth插件,自动生成音乐,执行其中DEMO-DEMO.py python使用这个PySynth插件,自动生成音乐,执行其中DEMO-DEMO.py

2019-12-31

mysql-5.7.21-winx64.msi.7z.zip

MYSQL5.7压缩包 (((((去掉.zip解压)

2019-07-07

IDEA教程和插件介绍

IDEA教程 使用技巧和插件配置教程 IDEA教程 使用技巧和插件配置教程

2018-08-13

文件工具类

文件工具类文件工具类文件工具类文件工具类文件工具类文件工具类

2018-06-27

代码比较神器代码比较神器

代码比较神器代码比较神器代码比较神器代码比较神器代码比较神器代码比较神器

2018-06-27

VNote 解压即可使用

VNote VNote VNote VNote VNote 解压即可使用 VNote VNote VNote VNote VNote 解压即可使用

2018-06-05

apache-groovy-sdk-2.4.15

apache-groovy-sdk-2.4.15

2018-06-03

cashier.zip

cashier.zip cashier.zip cashier.zip cashier.zipcashier.zip

2018-05-15

m2_cashier-5.15.zip

m2_cashier-5.15.zipm2_cashier-5.15.zipm2_cashier-5.15.zipm2_cashier-5.15.zipm2_cashier-5.15.zip

2018-05-15

autoCode.zip autoCode.zip autoCode.zip

autoCode.zip autoCode.zip autoCode.zip autoCode.zip

2018-05-15

电子教鞭 dzjb

电子教鞭 dzjb 电子教鞭 dzjb 电子教鞭 dzjb 电子教鞭 dzjb 电子教鞭 dzjb

2018-05-14

Microsoft VS Code

Microsoft VS Code Microsoft VS Code Microsoft VS Code Microsoft VS Code

2018-05-14

小孩桌面便签

小孩桌面便签 小孩桌面便签 小孩桌面便签 小孩桌面便签 小孩桌面便签

2018-05-14

实现一个双向链表的倒置功能(1->2->3 变成 3->2->1)

实现一个双向链表的倒置功能(1->2->3 变成 3->2->1) 实现一个双向链表的倒置功能(1->2->3 变成 3->2->1) 面试题

2018-04-15

自动生成代码功能

autoCode.zip autoCode.zipautoCode.zipautoCode.zipautoCode.zip 不保证能运行, 先执行 auto_code_v1.6_my_ligq.sql 文件; 然后修改数据库地址config.properties; 然后启动项目

2018-04-09

提交路径传递json参数(httpClient请求)

提交路径传递json参数(httpClient请求) 有代码和视频介绍;

2018-04-09

离线地图-瓦片通过java代码自动下载,自己指定下载的层级区域

离线地图-瓦片通过java代码自动下载,自己指定下载的层级区域

2018-04-02

mysql-pagehelper-通用mapper-easyui-SSM框架示例

mysql-pagehelper-通用mapper-easyui-SSM框架示例 ssm框架链接MySql数据库,页面使用easyUI,使用mybatis分页插件,以及通用mapper

2018-04-02

oracle-pagehelper-通用mapper-easyui-SSM框架示例

oracle-pagehelper-通用mapper-easyui-SSM框架示例 ssm框架链接Oracle数据库,页面使用easyUI,使用mybatis分页插件,以及通用mapper

2018-04-02

HTML5微信模版

微信页面模版微信页面模版微信页面模版微信页面模版微信页面模版微信页面模版微信页面模版

2018-03-23

tsetNG 代码示例

本示例 参考: https://www.cnblogs.com/TankXiao/p/3888070.html 代码中也存在demo

2018-03-21

dwr如何使用

dwr如何使用,简单的示例:请访问usermanager.html ;

2018-03-20

MySQL技术内幕InnoDB存储引擎

MySQL技术内幕InnoDB存储引擎MySQL技术内幕InnoDB存储引擎MySQL技术内幕InnoDB存储引擎MySQL技术内幕InnoDB存储引擎

2017-09-08

计算机网络(第7版)-谢希仁

计算机网络(第7版)-谢希仁计算机网络(第7版)-谢希仁计算机网络(第7版)-谢希仁计算机网络(第7版)-谢希仁

2017-09-08

张孝祥正在整理Java就业面试题大全.doc

张孝祥正在整理Java就业面试题大全.doc 张孝祥正在整理Java就业面试题大全.doc 张孝祥正在整理Java就业面试题大全.doc

2017-09-01

ssm-springMVC-整合Quartz(解决了无法注入service问题)-项目示例

ssm-springMVC-整合Quartz(解决了无法注入service问题)-项目示例

2017-06-02

ssm-springMVC-整合Quartz(解决了无法注入service问题).doc

ssm-springMVC-整合Quartz(解决了无法注入service问题).doc

2017-06-02

servlet jar 文件

servlet jar 文件

2016-12-01

Everything-1.3.4.686.x64.Multilingual_文件搜索

Everything 最快的本地文件搜索软件

2016-06-02

截图软件FastStone_FSCaptureSetup77_key

FastStone key

2016-06-02

小小韩WIFI破解专用E-W-S-A 亲测可用

小小韩WIFI破解专用E-W-S-A 亲测可用 EWSA_CracKed_By_Hmily[LCG]

2016-03-30

密码生成器 工具.7z

MAX 密码生成器 工具.7z

2016-03-30

黑马程序员学习总结

黑马程序员学习总结

2016-01-07

jdk_api_1.7.chm

jdk_api_1.7.chm 帮助文档

2016-01-07

《Java 程序设计语言》教学大纲

1. 课程性质和任务 1 2. 课程目标 1 3. 课程内容和教学要求 2 4. 课时分配 6 课程名称:Java 程序开发 课时:4课时/16天 1. 课程性质和任务 Java语言从出生到现在一直是一门非常热门且流行的语言,而本课程是Java程序开发的基础课程;本课程承担着使用Java语言完成Java项目的开发、调试任务;着重培养学员的自主解决问题的思路和能力;本课程注重上机实践通过编写项目,让学员深入了解java语言的语法特性和编程思想;本课程是Java 程序开发的基础和入门,也是后续课程的“奠基石”; 任务: 1. 掌握Java编程语言基础语法; 2. 培养学员正确运用面向对象的思维方法分析问题和解决问题的能力; 3. 掌握面向对象的基本理论、原理、技术方法和Java语言基础知识; 4. 能独立编写代码,编写测试数据,并能独立调试程序,获得正确结果; 5. 能独立进行java 软件开发和调试,实际项目问题; 2. 课程目标 1. 掌握java编程语言的基础语法; 2. 理解并运用面向对象的编程思想分析并解决问题; 3. 掌握Java语言的变量、数组、集合、类、对象等基础知识; 4. 能够独立完成代码的编写,和程序调试; 5. 培养学员自己分析和解决问题的能力; .........

2016-01-07

Java 程序设计语言前言摘要

Java是由Sun Microsystems公司推出的Java面向对象程序设计语言(以下简称Java语言)和Java平台的总称。 1991年,Sun公司的James Gosling,Bill Joe等人,为电视、控制烤面包机等家用电器的交互操作开发了一个Oak(橡树)软件,他是Java的前身。当时,Oak并没有引起人们的注意,直到1994年,随着互联网和3W的飞速发展,他们用Java编制了HotJava浏览器,得到了Sun公司首席执行官Scott McNealy的支持,得以研发和发展。由于Oak商标已经被Oak Technology注册,1995年Oak短暂更名为Green,最后更名为Java。Java的得名还有段小插曲呢,一天,Java小组成员正在喝咖啡时,议论给新语言起个什么名字的问题,有人提议用Java(Java是印度尼西亚盛产咖啡的一个岛屿),这个提议得到了其他成员的赞同,于是就采用Java来命名此新语言。

2016-01-07

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

TA关注的人

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