自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(67)
  • 问答 (1)
  • 收藏
  • 关注

转载 Spring5学习笔记(4):事务操作

目录1 事务2 事务场景模拟3 Spring事务管理4 注解声明式事务管理4.1 参数配置4.1.1 propagation:事务的传播行为4.1.2 isolation:事务的隔离级别4.1.3 timeout:超时时间4.1.4 readOnly:是否只读4.1.5 rollbackFor:回滚4.1.6 noRollbackFor:不回滚1 事务事务是数据库操作的最基本单元,逻辑上的一组操作,要么都成功,如果当中有一个失败的所有操作都失败特性:原子性、一致性、隔离性、持久性2 事务场景模拟场

2021-07-24 15:35:37 200

原创 Spring5学习笔记(3):JdbcTemplate

目录1 JDBCTemple概念2 JDBCTemple的相关准备3 JDBCTemple实现添加功能4 JDBCTemple实现修改和删除功能5 JDBCTemple实现查询功能5.1 查询返回的某个值5.2 查询返回表中某一对象5.3 查询返回表中全部内容的集合1 JDBCTemple概念Spring框架对JDBC进行了一个封装,JDBCTemple可以更方便对数据库进行操作2 JDBCTemple的相关准备1.引入相关jar包2.在spring的xml配置文件中配置数据库连接池 &

2021-07-23 14:29:45 286

转载 Spring5学习笔记(2):AOP

这里写目录标题1 AOP1.1 AOP概念1.2 AOP底层原理1.3 JDK动态代理代码1.4 AOP术语1 AOP1.1 AOP概念1.2 AOP底层原理在底层AOP使用动态代理的方法实现有两种情况:1.有接口的情况,使用JDK动态代理:创建接口实现类的代理对象,增强类方法2.没有接口的情况,使用cglib动态代理:创建子类对象,增强类方法1.3 JDK动态代理代码1.创建接口,定义方法package com.wzc.spring;public interface User

2021-07-22 14:54:27 194

转载 Spring5学习笔记(1):IOC

1 Spring简介Spring是轻量级的开源javaee框架,能够解决企业开发的复用性。有两个核心部分:IOC和AOP。Spring有很多特点,如方便解耦,简化开发;方便测试;方便与其他框架进行整合、方便进行事务操作等。2 Spring入门案例必须导入下面几个包:目录结构如下:创建一个普通类:User.java:package com.wzc.spring;public class User { public void add(){ System.out.p

2021-07-17 22:42:22 107

原创 JavaWeb学习笔记(2):css

1 CSS简介CSS即为层叠样式表单,用于增强/控制网页样式,并且允许将样式信息与网页内容分离的一种标记语言。2 语法规则p{color:red;font-size:30px;}一般每行只描述一个属性3 CSS与HTML的结合方式3.1 第一种在标签的style属性设置"key: value value",修改标签的样式<!DOCTYPE html><html><head> <meta charset="UTF-8"> &lt

2021-07-13 15:24:33 89

原创 JDBC学习笔记(2):获取数据库连接

目录1. 连接数据库三要素1.1 Driver接口实现类1.2 URL1.3 用户名和密码2. 数据库的几种连接方式1. 连接数据库三要素1.1 Driver接口实现类java.sql.Driver接口是所有JDBC驱动都要实现的接口,不同的数据库连接驱动有不同的实现。如:mysql的驱动: com.mysql.jdbc.DriverOracle的驱动:oracle.jdbc.driver.OracleDriver在进行数据库连接前需要加载驱动和注册驱动加载驱动:加载 JDBC 驱动需调用 C

2021-06-28 21:12:37 118 1

转载 JDBC学习笔记(1):JDBC概述

1. 数据持久化持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。持久化的实现过程大多通过各种关系数据库来完成。2. java中数据存储技术JDBC直接访问数据库JDO技术(Java Data Object)第三方工具,如MyBatis,Hibernate等3. JDBCJDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(

2021-06-27 18:33:55 115

原创 JAVA进阶学习笔记(8):反射

1. 概述1.1 反射的概念Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。1.2 应用在运行时判断任意一个对象所属的类在运行时构

2021-06-27 16:50:02 130 1

原创 《SELF-ATTENTION GENERATIVE ADVERSARIAL NETWORK FOR SPEECH ENHANCEMENT》论文笔记

论文地址:https://ieeexplore.ieee.org/abstract/document/9414265会议:ICASSP2021Abstract目前语音增强的对抗生成网络仅依赖于卷积运算,这可能会掩盖输入序列中的时间依赖性。为解决该问题,提出一种适应非局部注意力的注意力层,并结合时域语音增强GAN的卷积和反卷积。实验结果显示,将自注意力引入SEGAN会让客观评估指标持续改进。Existing generative adversarial networks (GANs) for spe

2021-06-23 13:48:36 453 2

原创 Mysql学习笔记(10):事务、视图

1. 事务的定义事务:事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返回到事物开始以前的状态;如果单元中的所有SQL语句均执行成功,则事物被顺利执行。2. 事务的属性原子性(Atomicity)原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生一致性(Consistency)事务必须使数据库从一个一致性状

2021-06-21 19:35:46 218 6

原创 Mysql学习笔记(9):数据类型和约束

1 数据类型1.1 分类数值型:整型、小数(定点数、浮点数)字符型:短文本(char、varchar)、长文本(text、blob(较长的二进制数据))1.2 整型整数类型字节Tinyint1Smallint2Mediumint3int、integer4Bigint8特点:①都可以设置无符号和有符号,默认有符号,通过unsigned设置无符号CREATE TABLE test( t1 INT, t2 INT UNSIGNED);

2021-06-20 14:59:44 179

原创 《MASKCYCLEGAN-VC: LEARNING NON-PARALLEL VOICE CONVERSION WITH FILLING IN FRAMES》论文笔记

AbstractCycleGAN-VC3中使用的TFAN模块会大大增加计算量。作为替代,本文提出MaskCycleGAN-VC,它是CycleGAN-VC2的一种扩展,使用一种FIF(filling in frames)进行训练。使用FIF,可以将时域Mask应用于输入的Mel频谱图并且可以激励转换器根据周围的帧来填充丢失的帧。FIF能够以自监督的方式学习时频结构,无需其他模块。As an alternative, we propose MaskCycleGAN-VC, which is anothe

2021-05-19 15:41:57 678

原创 Mysql学习笔记(8):DDL语言

1 库的管理1.1 库的创建语法:create database [if not exists]库名;# 案例:创建库booksCREATE DATABASE IF NOT EXISTS books;1.2 库的修改由于修改库不够安全,因此不常用,之前有一个语句可以更改,但现在无法使用RENAME DATABASE books TO 新库名;更常用的是更改数据库的一些设置,如修改字符集#更改数据库的字符集ALTER DATABASE books CHARACTER SET gbk;

2021-05-11 20:35:20 200 2

转载 Mysql学习笔记(7):DML语言

DML语言主要三个操作:插入(insert)、修改(update)、删除(delete)1.插入语句1.1 语法方式一:insert into 表名(列名,…) values(值1,…);方式二:insert into 表名set 列名=值,列名=值,…1.2 使用方式一:SELECT * FROM beauty;#1.插入的值的类型要与列的类型一致或兼容INSERT INTO beauty(id,name,sex,borndate,phone,photo,boyfriend_id)

2021-05-09 16:32:41 122

原创 《A VOCODER-FREE WAVENET VOICE CONVERSION WITH NON-PARALLEL DATA》论文笔记

目录1 Abstract2 Introduction3 Voice Conversion With WaveNet3.1 WaveNet Vocoder3.2 The Limitations1 Abstract本文提出一种自由使用声码器的语音转换方案,该方案使用WaveNet和非平行语料进行训练,使用WaveNet将 Phonetic Posterior Grams(PPG)直接映射到波形样本,以此来代替中间特征的处理。这样,我们避免了由声码器和特征转换引起的估计误差。 此外,由于PPG被假定为与说话者

2021-05-07 10:31:43 214 1

转载 Mysql学习笔记(6):分页查询、联合查询

1 分页查询1.1 应用场景当要显示的数据,一页显示不全,需要分页提交sql请求1.2 语法select 查询列表from 表【join type join 表2on 连接条件where 筛选条件group by 分组字段having 分组后的筛选order by 排序的字段】limit 【offset,】size;注意:offset要显示条目的起始索引(起始索引从0开始)size 要显示的条目个数1.3 使用#案例1:查询前五条员工信息SELECT * FROM empl

2021-05-06 20:31:54 82

原创 Mysql学习笔记(5):子查询

1 子查询1.1 含义嵌套在其他语句内部的select语句称为子查询或内查询,外面的语句可以是insert、update、delete、select等,一般select作为外面语句较多外面如果为select语句,则此语句称为外查询或主查询1.2 分类按子查询出现的位置:select后面:仅仅支持标量子查询 from后面:支持表子查询where或having后面:★标量子查询(单行) √列子查询 (多行) √行子查询exists后面:(相关子查询)表子查询按结果集的行列数不同:

2021-04-27 15:14:38 134

原创 Mysql学习笔记(4):连接查询

目录1. 连接查询1.1 定义1.2 笛卡尔积1.3 分类1.3.1 按年代分1.3.2 按功能分类1.4 使用1.4.1 等值连接1.4.2 非等值连接1. 连接查询1.1 定义又称多表查询,当查询的字段来自于多个表时,就会用到连接查询1.2 笛卡尔积笛卡尔乘积现象:表1 有m行,表2有n行,结果=m*n行发生原因:没有有效的连接条件如何避免:添加有效的连接条件1.3 分类1.3.1 按年代分sql92标准:仅仅支持内连接sql99标准【推荐】:支持内连接+外连接(左外和右外)+

2021-03-02 13:10:35 284

原创 Mysql学习笔记(3):分组查询

1. 分组查询1.1 语法select 分组函数,分组后的字段from 表【where 筛选条件】group by 分组的字段【having 分组后的筛选】【order by 排序列表】1.2 使用#案例1:查询每个工种的最高工资SELECT MAX(salary), job_idFROM employeesGROUP BY job_id#案例2:查询每个位置上的部门个数SELECT COUNT(*),location_idFROM departmentsGROUP BY

2021-02-25 00:35:03 135

原创 Mysql学习笔记(2):排序查询、常见函数

1.排序查询1.1 基本语法select 查询列表from 表where 筛选条件order by 排序列表 【asc}desc】1.2 特点1.asc:升序,如果不写默认升序desc:降序2.排序列表支持单个字段、多个字段、函数、表达式、别名3.order by的位置一般放在查询语句的最后(除limit语句之外)#1、按单个字段排序SELECT * FROM employees ORDER BY salary DESC;#2、添加筛选条件再排序#案例:查询部门

2021-01-19 00:18:03 165

原创 espnet学习(1):AN4数据集语音识别

setp-1. 数据下载# datadatadir=./downloadsif [ ${stage} -le -1 ] && [ ${stop_stage} -ge -1 ]; then echo "stage -1: Data Download" mkdir -p ${datadir} local/download_and_untar.sh ${datadir} ${data_url}fi通过运行local下的download_and_untar.sh

2020-12-28 19:36:07 2704 1

原创 Mysql学习笔记(1):基础查询、条件查询

1 基础查询1.1 查询单个字段select 字段名 from 表名;SELECT last_name FROM employees;1.2 查询多个字段select 字段名,字段名 from 表名;SELECT last_name,salary,email FROM employees;1.3 查询表中所有字段select * from 表名 或者 按照查询多个字段的形式将所有的列进行查询# 方式一:SELECT `employee_id`, `first_n

2020-12-02 20:23:52 122

原创 JAVA进阶学习笔记(7):网络编程

1 网络编程概述1.1 网络编程的目的直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯。1.2 网络编程中主要的问题如何准确地定位网络上一台或多台主机;定位主机上的特定的应用找到主机后如何可靠高效地进行数据传输2 网络通信要素2.1 IP和端口号2.1.1 IP地址简介IP地址是唯一的标识 Internet 上的计算机的地址分类方式一分为:IPV4和IPV6分类方式二分为:公网地址(万维网使用)和私有地址(局域网使用)Internet上的主机有两种方式表示地址,域名(ho

2020-11-22 21:11:03 167

原创 JAVA进阶学习笔记(6):IO流(节点流、缓冲流、转换流、标准的输入输出流、打印流、对象流、随机存取文件流)

目录1 File类的使用1.1 File类概述1.2 File类的常用构造器1.3File的常用方法2 IO流原理及流的分类2.1 IO流原理2.2 流的分类2.3 流的体系结构3 节点流(文件流)3.1 字符输入流(FileReader)3.2 字符输出流(FileWrite)3.3 字节输入流(FileInputStream)与字节输出流(FileOuputStream)4 处理流之一:缓冲流4.1缓冲流简介4.2 缓冲流的使用5 处理流之二:转换流5.1 转换流简介5.2 转换流的使用5.3 编码解码

2020-11-04 20:42:09 381 2

原创 JAVA进阶学习笔记(5):泛型

1. 泛型概述1.1 泛型的设计背景集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的 对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。1.2 泛型的概念所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类 型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如, 继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实 际的类型参数,也称为类型实参。1.3 泛型的意义1.解决元素储存的安全性问题

2020-10-24 17:01:01 232

原创 JAVA进阶学习笔记(4):集合(Collection、List、Set、Map、Collections)

1.集合框架概述集合、数组都是对多个数据进行存储操作的结构,简称Java容器。Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中)1.1 数组存储的特点一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。1.2 数组存储的弊端一旦初始化以后,其长度就不可修改。数组中提供的方法非常有限,对于添加、删除、插入数据等操作,非常

2020-10-17 21:01:08 236 1

原创 JAVA进阶学习笔记(3):枚举类与注解

目录1. 枚举类1.1 枚举类简介1.2 定义枚举类1.2.1 JDK5.0之前:自定义枚举类1.2.1 JDK5.0之后:使用enum关键字1.3 Enum类1.3.1 主要方法1.3.2 实现接口的情况2. 注解1. 枚举类1.1 枚举类简介类的对象只有有限个、确定的。我们称此类为枚举类。当需要定义一组常量时,强烈建议使用枚举类。如果枚举类中只有一个对象,则可以作为单例模式的实现方式。1.2 定义枚举类1.2.1 JDK5.0之前:自定义枚举类public class SeasonTes

2020-09-26 14:04:55 234

原创 JAVA进阶学习笔记(2):常用类(String、StringBuffer、StringBuilder、System、Math、BigInteger、BigDecimal)

1. 字符串及相关类1.1 String类概述String:字符串,使用一对""引起来表示。1.String声明为final的,不可被继承2.String实现了Serializable接口:表示字符串是支持序列化的。实现了Comparable接口:表示String可以比较大小3.String内部定义了final char[] value用于存储字符串数据4.String:代表不可变的字符序列。简称:不可变性。        体现:1.

2020-09-20 18:51:42 324

原创 JAVA进阶学习笔记(1):多线程

1 基本概念1.1 程序程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。1.2 进程进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态 的过程:有它自身的产生、存在和消亡的过程。——生命周期进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域 。1.3 线程线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。1.若一个进程同一时间并行执行多个线程,就是支持多线程的2.线程

2020-09-01 21:08:33 647

原创 JavaWeb学习笔记(1):html基础

1 html的基本结构如下段代码所示为,html的基本结构<!DOCTYPE html> <!-- 约束,说明 --><html lang="en"> <!-- html标签表示html的开始 lang="zh_CN"表示中文 html 标签中一般分为两部分,分别是head和body--><head> <!-- 表示头部信息,一般包含三部分内容,title标签,css样式,js代码--> <meta c

2020-08-21 21:09:42 234

原创 tensorflow1.x学习笔记(2):激活函数、损失函数、优化算法、学习率、过拟合问题

目录1深度学习与深层神经网络1.1 线性模型的局限性1.2 激活函数实现去线性化2 损失函数的定义1深度学习与深层神经网络1.1 线性模型的局限性在线性可分的问题中,线性模型的表现效果非常好,但是对于线性不可分问题,线性模型的表现并不是很好。因此对于线性不可分问题,线性模型存在局限性。1.2 激活函数实现去线性化如果将每一个神经元的输出都通过一个非线性函数,那么整个网络的模型就不再是线性的,这个非线性函数就是激活函数。常用的激活函数有sigmoid函数、relu函数和tanh函数,函数的表达式和

2020-08-05 15:06:21 560

原创 tensorflow1.x学习笔记(1):计算图、张量、会话、实现简单的神经网络

目录1 Tensorflow计算模型——计算图1.1 计算图的概念1.2 计算图的使用2 TensorFlow 数据模型——张量2.1 张量的概念2.2 张量的使用3 TensorFlow 运行模型——会话1 Tensorflow计算模型——计算图1.1 计算图的概念Tensorflow中有两个很重要的概念。Tensor体现了数据结构,该结构就是张量,在Tensorflow中可以理解为多维数组。Flow体现了它的计算模型,Flow就是“流”,它直观地表达了张量之间通过计算相互转化的过程。Tens

2020-08-03 14:10:37 668

原创 JAVA基础学习笔记(10):异常

目录1 异常1.1 异常的概念1.2 异常的分类1.2.1 Error1.2.2 Exception1.3 异常的体系结构1.4 常见的异常举例1.5 异常的处理方式1 异常1.1 异常的概念在Java语言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常)1.2 异常的分类java执行过程中的异常事件可分为两类:Error和Exception1.2.1 ErrorJava虚拟机无法解决的严重问题。如:JVM系统内部错误、资源 耗尽等严重情况。比如:S

2020-07-23 21:17:53 480

原创 JAVA基础学习笔记(9):抽象类和抽象方法、接口、内部类

1 抽象类和抽象方法1.1 抽象类的定义随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类。1.2抽象类与抽象方法abstract可以用来修饰类或者方法1.抽象类:此类不能实例化抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程)开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作2.抽象方法:抽象方法只有方法的声明,没

2020-07-20 21:04:47 390

原创 JAVA基础学习笔记(8):static关键字、单例模式、main方法、代码块、final关键字

目录1 static关键字1.1 static修饰变量1.1.1 静态变量与实例变量1.1.2 静态变量的说明1.1.3 静态变量的使用1.1.4 静态变量与实例变量的内存解析1.1.5 静态变量的应用场景1.2 static修饰方法1.2.1 静态方法与非静态方法1.2.2 静态方法的说明1.2.3 静态方法的使用1.2.4 静态方法的应用场景本节练习ex11 static关键字static是静态的意思,可以用来修饰属性、方法、代码块、内部类1.1 static修饰变量1.1.1 静态变量与实例变

2020-07-13 20:00:42 263

原创 JAVA基础学习笔记(7):多态、Object类、单元测试、包装类

1 多态1.1 多态的概念多态可以理解为一个事物的多种形态。对象的多态性:父类的引用指向子类的对象(或子类的对象赋值给父类的引用)Java引用变量有两个类型:编译时类型和运行时类型。编译时类型由声明该变量时使用的类型决定,运行时类型由实际赋给该变量的对象决定。有了对象的多态性以后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法。编译时,看左边;运行时,看右边。1.2 多态的使用例1:人、男人、女人Person.java:public class P

2020-07-07 19:57:45 268

原创 JAVA基础学习笔记(6):继承、方法的重写、super关键字

1 继承1.1 继承的概念利用继承,人们可以基与已经存在的类构造一个新类。继承已存在的类就是复用这些类的方法和域。在此基础上,还可以添加一些新的方法和域,来满足新的需求。1.2 继承的好处减少了代码的冗余,提高了代码的复用性便于功能的扩展为之后多态性的使用,提供了前提1.3 继承的格式class A extends B{}A:子类、派生类、subclassB:父类、超类、基类、superclass子类继承了父类,就继承了父类的方法和属性。在子类中,可以使用父类中定义的方法和属

2020-06-30 16:57:29 423

原创 JAVA基础学习笔记(5):客户信息管理系统

本周根据之前学习的一些知识,仿照视频中的内容,完成了一个客户信息管理系统。(未连接数据库,只支持单次使用)1 功能展示1.1 添加用户与客户列表1.2 修改用户1.3 删除用户1.4 退出2 类的设计项目中主要设计三个类。Customer为客户的实体,用来封装客户的信息。CustomerList为Customer对象的管理类,内部是通过一个对象数组对其中的Customer对象进行管理。CustomerView负责视图部分,调用CustomerList来进行增删改查的操作。

2020-06-21 00:25:09 1168 2

原创 JAVA基础学习笔记(4):面向过程与面向对象、类的属性、类的方法、构造器、this关键字

1 面向过程面向过程(POP:Procedure Oriented Programming),强调的是功能行为,以函数为最小单位,考虑怎么做。2 面向对象面向对象(OOP:Object Oriented Programming ),将功能封装进对象,强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。2.1 面向对象的三大特性封装(Encapsulation) 、继承(Inheritance)、多态(Polymorphism)2.1 面向对象思路与步骤(1)根据问题需要,选择问题所针对的现

2020-06-14 17:00:59 426

原创 Linux学习笔记(1):指定运行级别、帮助指令、文件目录类、时间日期类、查找搜索类、压缩解压类

1.指定运行级别Linux设计者在设计之初将Linux设计成了七个运行级别0:关机1:单用户(找回丢失密码)2:多用户状态无网络服务3:多用户状态有网络服务4:系统未使用保留给用户5:图形界面6:系统重启常用的运行级别为3和5,运行级别的配置文件为/etc/inittab1.1init指令(切换指定运行级别指令)基本语法: init [012356]功能:切换指定的运行级别...

2020-06-07 15:51:34 310

空空如也

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

TA关注的人

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