自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【论文阅读随记】Decoding the Genomics of Abdominal Aortic Aneurysm 解读腹主动脉瘤的基因组学

1 概要summary1、我们开发了一个机器学习框架来整合个人基因组和电子健康记录(EHR)数据,并利用这个框架研究腹主动脉瘤(AAA);2、这个框架定量评估了给定个人基因组基线的情况下,调整个人生活方式的有效性。展示了其作为个人健康管理工具的实用性;3、我们的研究提出了一种新的疾病基因组分析框架,既可以用于健康管理,也可以用于理解复杂疾病的生物结构。2 介绍introduction背景:许多复杂疾病很大程度上收到遗传基因的影响,也就是说如果可以知道一个人的基因组对于这些关联疾病的预测和治疗是很

2021-10-08 10:50:40 442

原创 【01】在阿里云Ubuntu服务器上部署Tomcat详细流程(结合官方文档)

一、服务器基本信息操作系统:Ubuntu 18.04 64位(CentOS 和 Ubuntu 的指令、默认配置存在不同,所以一定要看好自己的操作系统版本)二、Tomcat详细部署安装流程主要步骤流程还是要参考阿里云官方提供的文档:手动部署Java Web环境(Alibaba Cloud Linux 2)但是官方文档都是以CentOS为例,在一些具体环节上Ubuntu有所不同,故本专栏着重说明与官方教程不同及官方流程未详细说明的地方步骤一:准备工作1. 在安全组入方向添加规则放行所需端口

2021-09-29 20:15:20 841

原创 【Day4】SpringMVC异常处理器 与 SpringMVC执行流程

一、异常处理器1、基于配置的异常处理SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolverHandlerExceptionResolver接口的实现类有:DefaultHandlerExceptionResolver和SimpleMappingExceptionResolverSpringMVC提供了自定义的异常处理器SimpleMappingExceptionResolver,使用方式:<bean class="org.sp

2021-09-22 20:02:09 320 1

原创 【Day3】报文信息转换器,文件上传下载实现,拦截器

一、HttpMessageConverter(报文转换器)HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文HttpMessageConverter提供了两个注解和两个类型:@RequestBody,@ResponseBody,RequestEntity,ResponseEntity1、@RequestBody@RequestBody可以获取请求体,需要在控制器方法设置一个形参,使用@RequestBody进行标识,当前请求的请求体

2021-09-18 17:53:15 369

原创 Java中的Lambda表达式和Stream流

1 作用Lambda 表达式主要用来定义行内执行的方法类型接口,例如,一个简单方法接口;Lambda 表达式免去了使用匿名方法的麻烦,并且给予Java简单但是强大的函数化的编程能力。通俗来说,就是用匿名函数的方式直接替代接口中定义的方法使用Lambda时,要记住的就两点:Lambda返回的是接口的实例对象有没有参数、参数有多少个、需不需要有返回值、返回值的类型是什么---->选择自己合适的函数式接口2 示例// Consumer 一个入参,无返回值Consumer<

2021-09-18 10:27:23 241

原创 【Day2】域对象共享数据的方式(Model),视图简介与类型,RESTful设计风格

一、域对象简介1、可以在不同的Servlet中进行数据传递的对象就称为域对象;2、域对象类型PageContext:作用于某一个页面 会在jsp的时候讲解ServletRequest:作用于一次请求HttpSession:作用一次会话 后面讲解session时候会讲解ServletContext:服务的启动和关闭ServletContext是JavaWeb四大域对象之一3、域对象特点1.域对象必须能够有存储数据的功能2. 域对象必须要有获取数据的功能3. 域对象的内部原理本质就是

2021-09-17 18:10:27 485

原创 【Day1】简介、@RequestMapping注解、获取请求参数的方式

一、SpringMVC简介1 什么是MVC(1)MVC是一种软件架构思想,将软件按照模型、视图、控制器来划分(2)M:Model,模型层,指工程中的JavaBean,作用是处理数据,JavaBean分为两类一类是实体类Bean,专门存储业务数据一类是业务处理Bean,指Service或Dao对象,专门用于处理业务逻辑和数据访问V:View,视图层,指工程中的html或jsp页面,作用是与用户进行交互,展示数据C:Controller,控制层,指工程中的servlet,作用是接收请求和响应

2021-09-16 16:42:58 1326

转载 【理论学习】tomcat与nginx的区别是什么?

1 问题背景想确定在服务器上如何部署环境能通过公网IP和端口访问到指定的网页,并能通过接口地址执行Java代码拿到返回值2 资料学习tomcat 与 nginx,apache的区别是什么?简述Nginx(Apache)与Tomcat的区别3 主要观点总结1、Apache或者Nginx 是HTTP Server,Tomcat 则是一个Application Server也有人说是Web Server,但本质上它是一个Servlet/JSP应用的容器2、一个 HTTP Server 关心的是 HT

2021-09-09 16:48:50 754

原创 【笛子的Spring5学习】知识回顾与疑问解答

文章目录1 知识回顾1.1 Spring5 系统架构1.2 IOC容器1.3 AOP1.4 JdbcTemplate1.5 事务1.6 完全注解开发2 疑问&解答1 知识回顾1.1 Spring5 系统架构具体介绍(1)核心容器Core Container① 由 spring-beans、spring-core、spring-context 和 spring-expression(Spring Expression Language, SpEL) 4 个模块组成。② 包含了控制反转(I

2021-09-09 11:50:47 111

原创 【笛子的Spring5学习】框架新功能

1 自带通用的日志封装1、Spring5已经移除Log4jConfigListener,官方建议使用Log4j22、Spring5 框架整合Log4j2 过程第一步:引入jar包第二步:创建Log4j2.xml 配置文件(名字固定),配置文件内容也比较固定,可找现有文件进行修改;也可以利用Log4j2 手动输出日志信息2 核心容器支持@Nullable注解1、@Nullable注解可以用在方法、属性、参数上面,表示方法返回可以为空,属性值可以为空,参数值可以为空用法:这个注释在运行时并

2021-09-09 08:58:25 173

原创 【笛子的Spring5学习】Spring中的事务

1 Spring事务管理介绍1、事务添加到JavaEE三层结构里面的Service层2、在Spring进行事务管理操作有两种方式:编程式事务管理和声明式事务管理(常用)3、声明式事务管理(1)基于xml配置文件方式(2)基于注解方式(最为常用和简单)4、在Spring进行声明式事务管理,底层使用AOP5、Spring事务管理API(1)提供一个接口PlatformTransactionManager,代表事务管理器,该接口针对不同的框架提供不同的实现类2 注解方式事务管理1、在配置文件

2021-09-08 16:31:27 112

原创 【笛子的Spring5学习】JdbcTemplate

0 JdbcTemplate使用大致流程图1 概念与准备1、 什么是JdbcTemplate?Spring框架对JDBC进行封装,使用JdbcTemplate可以方便对数据库进行操作2、使用前的准备(1)导入依赖:mysql、Druid连接池、spring-jdbc、spring-tx(事务相关)、spring-orm(2)配置数据库连接池配置(3)配置汇总创建JdbcTemplate对象,将(2)中配置的DataSource注入(4)测试时,创建service,创建dao,在dao中注

2021-09-08 14:49:13 92

原创 ACM模式下的做题模板

这么安排的作用就是把输入输出的部分和算法实现的部分隔开,让我们在做题的时候能够还原核心算法模式下的习惯import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(sc.hasNext()) { int a = sc.nextInt();

2021-09-08 10:37:18 328

原创 【笛子的Spring5学习】AOP介绍

文章目录1 基本概念2 底层原理2.1 AOP底层使用动态代理2.2 JDK动态代理代码举例2.3 AOP术语2.4 AOP准备工作2.5 AOP操作(AspectJ注解)2.6 AOP细节说明2.7 AOP操作(AspectJ配置文件)2.8 完全注解开发1 基本概念(1)面向切面编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得逻辑各部分间的耦合度降低,提供程序可重用性,提高开发效率(2)主要意图:将日志记录,性能统计,安全控制,异常处理,登录功能等代码从业务代码中分离出来,不修改源代码,

2021-09-07 19:23:09 158

原创 【笛子的Spring5学习】IOC容器

1 应用背景IOC(Inversion of Control)控制反转,是面向对象编程中的一种设计原则,可以用来降低不同对象代码间的耦合度,最常见的方式是依赖注入。通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体将其所依赖的对象的引用传递。目的:耦合度降低最低限度2 实现原理2.1 IOC的过程IOC的过程xml解析、工厂模式、反射,进一步降低耦合度,后续只需要通过配置的方式进行修改xml配置文件,配置创建的对象< bean id=“dao” class=“com

2021-09-07 16:00:54 113

原创 【笛子的JavaWeb系列总结】JavaScript基础语法和使用

什么是JavaScript?(JS)一种轻量级的客户端脚本语言,JS代码可以插入到HTML页面中,任何现代Web浏览器都可以执行它。它通过允许计算,检查表单,添加特效,编写交互式游戏,创建密码等来增加网页的交互性。但是它还有多种不同的应用场景,不只是用来写网页,Leetcode也提供了用JS答题的选项与html代码结合的方式方式一:在head标签中,或者body标签中,使用script标签来书写JavaScript代码,示例:<!DOCTYPE html><html la

2021-05-21 17:32:08 160

原创 【笛子的JavaWeb总结】什么是CSS?

什么是CSS?基础概念使用方法选择器种类(举例说明)标签选择器id选择器class选择器附件(完整测试代)基础概念CSS(Cascading Style Sheet),译为层叠样式表,用来与HTML文件结合使用简化HTML中繁琐的样式和属性设置。它可以预先定义一套颜色、字体大小等属性,HTML的标签就无需重复设置,直接套用CSS中设置好的样式即可。使用方法设置位置:网页头< head> < /head>部分设置方式(1)方式一:通过< style>标签直接

2021-05-20 19:41:34 389

原创 【笛子的JavaWeb总结】一文带你快速入门HTML

一文带你快速入门HTML基础理论HTML书写规范HTML标签介绍常用标签介绍※常用标签代码及演示效果基础理论JavaSE部分主要学习的是C/S Client / Server的内容JavaWeb学习的是B/S Brower / Server的内容B/S 软件结构由客户端和服务器端两部分组成,客户端指浏览器,服务器端值WEB服务器网页的组成部分(1)内容(结构):是在网页上可以看到的数据,一般用html技术来展示(2)表现:内容在页面上的展示形式,比如布局、颜色、大小等等,一般用CSS技术实现

2021-05-19 20:30:03 167

原创 笛子的Java系列总结——反射机制与动态代理

反射机制什么是反射机制?反射(Reflection)被视为动态语言的关键,它允许程序在执行期间取得任何类的内部信息,并能直接操作任意对象的内部属性及方法类加载后,在方法区中就产生了一个Class类型的对象(规范是在方法区中,但是Hotpot具体实现现在Class对象也是存在在Heap中),一个类只有一个Class对象,包含了完整的类的结构信息。我们可以通过该对象像镜子一样看到类的结构,所以形象的称之为“反射”动态语言和静态语言动态语言:在运行时代码可以根据某些条件改变自身结构,

2021-05-17 18:24:04 472 2

原创 【京东春招】别人的面经中记录的问题

文章目录序列化和反序列化youngGC和FullGC触发条件是什么?创建线程有哪几种方式开发当中遇到的运行时异常有哪些?线程不安全的解决方法Java中的锁机制HashMap相关红黑树和平衡二叉树AVL的区别?二者的效率?操作系统相关设计模式了解哪些IO模型?Java中线程的状态以及转换方法序列化和反序列化不错的回答概念序列化:把Java对象转换为字节序列的过程反序列化:把字节序列恢复为Java对象的过程用途把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;(持久化对象)

2021-05-11 11:46:10 313 1

原创 【美团春招】后端开发实习生 笔试题目

写在前面这是2021年5月9日,美团春招最后一场笔试“后端开发”实习的题目,4 + 1道编程,至于为什么只写这一道,是因为前两道忘了,后面因为太菜还没来得及看,而这道题卡了我一个小时也没有做出来第三题题目描述小明练琴,他有一个初始状态值x,每天他可以选择练琴或者休息,如果练琴的话会收获经验值x,然后消耗状态值a,如果某休息的话会增加经验值b,一共n天时间,问小明在时间内最多收获多少经验值?1 <= x, a, b, n <= 10^6输入顺序为x a b n官方例子:[10 5 5

2021-05-09 19:55:25 1968 3

原创 笛子的Java系列总结——网络编程(含简单程序测试)

笛子的Java系列总结——网络编程一、通信要素1:IP和端口号1、计算机网络相关基础知识介绍2、InetAddress类3、InetAddress类代码测试二、通信要素2:网络协议1、计算机网络协议理论知识介绍2、Socket三、TCP网络编程1、客户端Socket工作过程的四个基本步骤2、服务器端ServerSocket工作过程的四个步骤3、客户端与服务器端TCP通信代码测试四、UDP网络编程1、客户端Socket工作过程的四个基本步骤2、客户端Socket工作过程的五个基本步骤3、客户端和服务器端UDP

2021-05-07 21:03:12 534 3

原创 笛子的Java系列总结——JVM入门

笛子的Java系列总结——JVM入门写在前面补充、JVM整体组成一、JVM的内存机制1、程序计数器2、虚拟机栈3、本地方法栈4、方法区5、堆二、JVM的垃圾回收1、确定垃圾的算法2、收集垃圾的算法3、GC垃圾收集器三、Java中的四种引用类型1、强引用2、软引用3、弱引用4、虚引用5、其他说明四、Java中的类加载机制1、[加载过程的五个阶段](https://cloud.tencent.com/developer/article/1628085)2、类加载器五、一些疑问总结六、引用资料总结写在前面Ja

2021-04-30 18:14:15 187 4

原创 笛子的Java系列总结——IO流(更新中)

笛子的Java系列总结——IO流1 File类的使用1.1 常用构造器1.2 路径分隔符1.3 常用方法2 IO流原理及流的分类2.1 流的分类2.2 抽象基类2.2.1 InputStream & Reader 提供的接口方法2.2.2 OutputStream & Writer 提供的接口方法2.3 IO流体系3 节点流(或文件流) FIle...3.1 读取文件流程3.2 写入文件流程3.3 注意点4 缓冲流 Buffered...4.1 作用及原理4.2 使用方法5 转换流5.1 作

2021-04-21 19:57:21 160

原创 笛子的Java系列总结——集合篇(含源码分析)

笛子的Java系列总结——集合篇1 Java集合框架概述1.1 Collection 和 Map.1.2 Collection接口继承树1.3 Map接口继承树2 Collection接口方法3 Iterator迭代器接口3.1 迭代器概述3.2 Iterator接口的方法3.3 使用foreach循环遍历集合元素4 Collection子接口之一:List接口4.1 List接口方法4.2 List具体实现类4.2.1 ArrayList(源码分析)4.2.1.1 jdk 7 情况下4.2.1.2 JDK

2021-04-15 17:03:27 156

原创 笛子的Java系列总结——注解

注解(Annotation)概述与理解从 JDK 5.0 开始, Java 增加了对元数据(MetaData) 的支持, 也就是Annotation(注解)Annotation 其实就是代码里的 特殊标记, 这些标记可以在编译, 类加载, 运行时被读取, 并执行相应的处理。Annotation 可以像修饰符一样被使用, 可用于 修饰包, 类, 构造器, 方法, 成员变量, 参数, 局部变量的声明, 这些信息被保存在 Annotation的 “name=value” 对中。在Ja

2021-04-13 21:13:17 175 1

原创 笛子的Java系列总结——枚举类

笛子的Java系列总结——枚举类如何自定义枚举类(JDK1.5之前)使用enum定义枚举类(JDK1.5之后)优于自定义枚举类的地方使用说明(放到代码里说明)Enum类的主要方法枚举类实现接口的特点如何自定义枚举类(JDK1.5之前)有三点需要注意的,用代码的形式说明class Season{ // 1. 类内属性要用private final修饰确保枚举类对象的属性不可变,并在构造器中初始化 private final String SeasonName; private

2021-04-12 20:54:42 125

原创 构造最大二叉树,大无语事件发生

LeetCode 第654题 最大二叉树 做题记录题目描述我的解法思路更优解法对应Java代码题目描述我的解法思路本题与通过后序与中序构造二叉树的题目有些相似,只不过把递归通过两种顺序查找节点的过程变成了寻找数组最大值,不过不同的是构造二叉树可以通过构造HashMap降低寻找节点的时间,最大值则不行。但是用一开始时间复杂度为O(n)的算法只要稍加修改把查找中序中符合条件的节点变成查找最大值节点即可。递归三要素:返回值与参数:返回值为构造的新节点,参数有当前访问的参数,左或右子树数组终结条件

2021-04-11 12:20:29 76

原创 [二叉树路径总和] 一杯茶一包烟,一个递归转一天

LeetCode 第112题 路径总和 做题记录题目描述![在这里插入图片描述](https://img-blog.csdnimg.cn/20210409154915348.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MzMyNjE2,size_16,color_FFFFFF,t_70)我的解法思路对应Java代码复杂度分析递归法的进

2021-04-09 15:50:57 427

原创 判断平衡二叉树的方法

LeetCode 第110题 平衡二叉树 做题记录题目描述我的解法思路修改后的对应Java代码复杂度分析迭代法思路题目描述我的解法思路先尝试用递归法解决确定参数和返回值返回值:true 或 false参数:因为要比较每个节点两个子树的高度,所以参数是左节点和右节点确定终止条件如果左右节点都为空 返回ture如果左、右节点只有一个为空,则判断另一个节点的左右子节点是都为空,若存在不为空的,返回false,否则返回treu确定单层的操作逻辑将当前节点的左右子节输入递归函数进行判

2021-04-08 11:00:16 343

原创 计算二叉树最小深度时容易忽略的情况

LeetCode 第111题 二叉树的最小深度 做题记录题目描述我的解法思路错误时的情况出错的Java代码修改后的Java代码(递归法)复杂度分析迭代法思路题目描述我的解法思路使用和求最大深度时类似的递归法,只不过将单层逻辑中的获取左右子树最大值变成过去左右子树最小值。但是出错了错误时的情况下图来源于公众号代码随想录出错的Java代码class Solution { public int minDepth(TreeNode root) { return getM

2021-04-07 11:23:01 244

原创 简单易懂地求二叉树的最大深度

LeetCode 第104题 二叉树的最大深度 做题记录题目描述我的解法思路——迭代法对应Java代码复杂度分析其他解法——递归法思路对应Java代码复杂度分析题目描述我的解法思路——迭代法想要获得最大深度需要对真整个树进行遍历,而最大深度等于层数嘛,那使用层序遍历并在遍历过程中统计深度即可。但是深度优先的前、中、后遍历感觉处理起来反而很麻烦。对应Java代码class Solution { public int maxDepth(TreeNode root) { /

2021-04-07 10:13:07 316

原创 使用递归法和迭代法进行对称二叉树判断

LeetCode 第101题 对称二叉树 做题记录题目描述我的解法思路更优解法思路对应Java代码4.7日更 迭代法--使用队列作为容器复杂度分析收获总结题目描述我的解法思路最直观的思路是进行层序遍历,将每一层的所有节点都放到一个数组中,当该层遍历完之后,利用数组A[i] == A[length - i -1]进行判断。过程中发现这种方法会开辟大量的空间,因为需要把很多没有节点的地方用null代替存储,并且只要要每层都遍历完才能进行一次判断,结果就是超过时间限制更优解法此部分转载于公众号代码随

2021-04-07 09:01:07 182

原创 翻转二叉树的若干种解法

LeetCode 第226题 翻转二叉树 做题记录题目描述我的解法思路层序遍历的迭代法对应Java代码复杂度分析收获总结后序遍历的递归法对应Java代码题目描述我的解法思路从结果来看,就是将每个节点的左右子节点互换了;方法上属于层序遍历,适合使用队列结构;具体实现,即使用基础的层序遍历方法,不过有两点区别:将子节点加入队列时调整下顺序,先加入右节点,再加入左节点;添加成功后才将当前节点弹出,因为要对当前节点的左右节点进行更改以上的思路关键的地方在于:需要对每个节点的左右子节点进行修改

2021-04-06 10:53:09 84

原创 102、107、199、637、429 二叉树层序遍历

102、107、199、637、429 二叉树层序遍历层序遍历算法说明题目介绍对应JAVA代码层序遍历算法说明前、中、后序遍历是深度优先遍历的一种,符合先进后出的特点,用栈结构来实现;层序遍历是广度优先遍历的一种,符合先进先出的特点,用队列结构来实现;所以基础的层序遍历就是在将根节点加入队列后,在对队列进行遍历的过程中,将当前节点的左节点、右节点加入队列,直到队列为空的过程。复杂一些的问题,就是在遍历过程中需要统计各个层级的信息,这时候需要以当前队列的长度作为层的节点数进行遍历(即以一层一层的方式

2021-04-06 10:09:14 124

原创 144、94、145 迭代法统一写法 + 二叉树前中后序遍历

144 递归 + 中序遍历题目描述算法思路说明为了解决遍历顺序和处理顺序不一致的问题,将遍历过但是暂不处理的打上标记,碰到带标记的则将标记与节点本身出栈对应JAVA代码class Solution { public List<Integer> inorderTraversal(TreeNode root) { List<Integer> result = new ArrayList<Integer>(); Deque

2021-04-06 09:41:10 83

原创 迭代法 + 二叉树前、中、后序遍历

LeetCode 迭代法 + 二叉树前、中、后序遍历做题记录144 递归+前序遍历题目描述我的解法对应Java代码复杂度分析94 递归+中序遍历题目描述我的解法对应Java代码复杂度分析145 递归+后序遍历题目描述我的解法对应Java代码复杂度分析收获总结144 递归+前序遍历题目描述我的解法对应Java代码class Solution { public List<Integer> preorderTraversal(TreeNode root) { Lis

2021-04-02 15:42:15 637

原创 LeetCode 递归法 + 二叉树前、中、后序遍历

LeetCode 递归法 + 二叉树前、中、后序遍历做题记录144 递归+前序遍历题目描述我的解法对应Java代码复杂度分析94 递归+中序遍历题目描述我的解法对应Java代码复杂度分析145 递归+后序遍历题目描述我的解法对应Java代码复杂度分析收获总结递归算法的三个要素144 递归+前序遍历题目描述我的解法对应Java代码class Solution { List<Integer> result = new ArrayList<Integer>();

2021-04-02 10:59:45 75

原创 Java基本数据类型说明及方法介绍(持续更新中...)

Java基本数据类型说明及方法介绍(持续更新中...前言双端队列Deque(接口)说明方法介绍表格整理疑问解答双端队列Deque总结前言目前这个更新没什么特定的顺序,就是在力扣上刷题的用到哪个就先写哪个了,现在暂时都写在一起,后续种类多了,会把它们分开,做个索引列表啥的,下面的均以Java JDK1.8为基础双端队列Deque(接口)说明支持两端元素插入和移除的线性集合,Java中的Deque是一个接口,继承于Queue接口,故需要其他类来实现,已知实现类有ArrayDeque,Concurr

2021-04-01 21:07:54 106

原创 笛子的Java系列总结——集合Collection提供的接口方法

Java 集合Collection提供的接口方法前言集合类框架体系Collection接口中定义的APIAPI方法的详细信息(某份JDK1.8 机翻API文档中的截图)int size()boolean isEmpty()boolean contains(Object o)Iterator iterator()Object[] toArray() T[] toArray(T[] a)boolean add(E e)boolean remove(Object o)boolean containsAll(Col

2021-04-01 19:17:29 120

空空如也

空空如也

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

TA关注的人

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