自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lord_Bao的博客

君子量不极,胸吞百川流。

  • 博客(64)
  • 收藏
  • 关注

原创 【Java】Comparable和Comparator接口的区别

Comparable接口public interface Comparable<T> { public int compareTo(T o);}Comparator接口public interface Comparator<T> { // 省略代码 int compare(T o1, T o2); // 省略代码}   直接说结论:某个类实现了Comparable接口之后,那么它即可以与它的同类对象进行比较。可以将其理解为默认的一种比

2021-06-11 17:20:00 321

原创 Java类名冲突

  简单来说,Java类名冲突,就是指package xxx.yyy.zzz下的类名以及import aaa.bbb.ccc.类名之间的冲突。比如情况1:  当然,其中的一种解决方案就是语法上不import java.time.LocalDate,然后显式调用java.time.LocalDate来声明对象。  除此外,还有同一个包下同级出现同名的类以及导入两个类重名时都算类冲突。前者是Java语法基本要求之一,压根就不能这样写;后者采用显式声明类解决。...

2021-06-03 11:00:08 2271

原创 【Python】嵌套list,调用append方法出问题

1.前言  这个标题不太好起,所以可能出现歧义,我也废话不多说,直接把我的问题摆出来,不是同样问题的,可以关掉窗口走人啦。list1的打印结果期望是[[3],[],[]],但实际上是[[3],[3],[3]]。2.原因  list1[0],list[1],list[2]指向的东西是同一个东西。本质来说,他们都是同一个东西的不同别称。如果还不懂,那么我把例子再弄两个。inner_list = []outer_list = [inner_list] * 3outer_list[0].appe

2021-04-03 20:42:50 1173 2

原创 【Git】fatal: the remote end hung up unexpectedly的解决心得

1.场景描述  用PyCharm Commit项目到GitHub上,出现了如下错误。  虽然之前我的确也偶尔出现这种提交不成功的问题。但是这次,多次尝试,未果。因本人对Git不了解,便开始网上查阅资料。多次分析,最终解决问题。2.解决方案  网上的答案有很多,但是应该针对特定问题,采用特定的解决方案。注意,我只是记录一下一些方案,方便以后再有问题时有个大概的解决方向。1.设置文件上限当然,这个方案并没有解决我的问题,但是还是学到了一些知识。git config [ --global ]

2021-03-11 11:02:03 1087

原创 Pycharm+Anaconda环境搭建

文章目录0.前言1.安装Anaconda1.1Anaconda的安装过程1.2Anaconda的一些说明2.Pycharm配置解释器3.参考文章0.前言  本机win10。之前为了做其他实验,一股脑的乱安装,没有做好相关的记录。这次重新搭建一下环境,以供以后参考。  至于为什么搭建Pycharm和Anaconda呢?是因为Anaconda本身带了很多三方库,比如numpy,pandas,这样就不用自己使用pip指令去下载那么麻烦;其次是Pycharm毕竟是专门为python制定的一个集成开发环境,能做

2021-03-03 23:47:05 2025 1

原创 如何彻底卸载Anaconda?

文章目录0.前言1.解决方案1.1方案11.2方案22.参考文档0.前言  本机Win10。  最好的参考文档是官方文档Uninstalling Anaconda。除此以外,再辅助以其他文档,就能达到如标题所示的目的。整个删除过程不难。1.解决方案1.1方案1  官方推荐的方案是两种,一种是直接在Anaconda的安装路径下,双击或者说是直接到控制面板找到Anaconda直接卸载就行了。但是这种方案并不能删除配置文件。1.2方案2  但是,如果你搜索到了这篇文章,就代表你是想把配置文件都

2021-02-27 13:06:46 119913 38

原创 【CSS】2.简单理解CSS三大特性

文章目录0.前言1.层叠2.继承3.优先级1.官大一级压死人2.玩一把小学数学4.参考文章0.前言  往期文章CSS引入方式及选择器分类。CSS三大特性,即层叠,继承,优先级。1.层叠  等级相同的选择器针对某一或某些属性的样式产生冲突,那么后声明的选择器在这些属性上设置的样式将覆盖先声明的选择器,而未产生冲突的属性不受影响。  至于怎样才算等级相同,可进一步查看后面的优先级,下面给出例子的选择器的等级是相同的,放心查看。代码<!DOCTYPE html><html lan

2021-02-19 23:41:45 214 2

原创 【CSS】1.CSS引入方式及选择器分类

文章目录1.CSS引入方式1.1内联样式1.2内部样式1.3外部样式2.选择器2.0选择器的作用2.1.基本选择器(Basic Selector)2.1.1类型选择器(Type selectors)2.1.2类选择器(Class selectors)2.1.3ID选择器(ID selectors)2.1.4属性选择器(Attribute selector)2.1.5通用选择器(Universal Selector)2.2 分组选择器(Grouping Selector)2.3组合器(Combinator)2

2021-02-18 18:13:04 304

原创 【前端环境搭建】还算靠谱的VSCode安装教程

文章目录1.前言2.安装VSCode3.安装VSCode需要注意的问题1.环境变量的设置2.设置VSCode插件的默认存储位置1.前言  本机基于Win10系统,前半部分阐述如何安装VSCode,后半部分阐述安装过程中需要注意的问题。2.安装VSCode  安装VSCode很简单,其实就是注意一些小问题即可。1.去官网https://code.visualstudio.com/。并下载属于你的系统版本2.选择VSCode安装路径。默认安装在C盘的这个位置,请选择性的修改。我的安装位置如

2021-02-13 22:41:35 1091

原创 【MySQL基础攻难2】子查询(SELECT)

文章目录0.前言1.数据准备2.实例讲解0.前言  本机环境 Win10 ,MySQL8,图形操作工具MySQL WorkBench。  CRUD中都可以出现子查询的语句,下面主要说SELECT中的嵌套子查询。而嵌套子查询中,子查询出现的地方有下面地方(可能不全)。  2后面的子查询充当临时结果集,3后面的结果集充当筛选条件。这些都比较好理解。其实不好理解的是SELECT后面出现的嵌套子查询。所以下面仅重点讲解SELECT后面的嵌套子查询。1.数据准备  创建一个角色表,里面含id,na

2020-12-19 17:17:36 348 1

原创 【MySQL基础攻难1】聚集函数和分组查询

文章目录1.数据准备2.聚集函数3.分组查询3.0分组查询基本语法3.1 SELECT后面语句的要求3.2.GROUP BY到底怎么分组的3.3.WHERE 和HAVING的区别3.4.NULL对分组的影响  本机环境 Win10 ,MySQL8,图形操作工具MySQL WorkBench。1.数据准备  创建一个教师表,里面含id,name,salary,subject,campus字段。特别地,subject表示老师教授的学科,仅限制在数学,英语,语文;campus表示校区,仅限制在 A B

2020-12-19 15:35:13 414 1

原创 【软件测试】软件测试原则或规律

软件测试原则或规律  下面的原则仅是部分,还有其他一些官话,就不计啦…软件测试应尽早启动,尽早介入如何理解?其实简单,见图: 软件测试应该追溯到需求阶段软件测试越往后代价越大,为什么呢?因为需求阶段存在的bug是最容易解决的,到后面代价越大:不可能做穷尽测试你能把加法器所有的数字都测一遍吗?软件测试是权衡的艺术软件测试耗时烧钱,但不好的软件投入生产更花钱。也就是说软件测试是打个优秀率,到达优秀率再投入生产。缺陷存在集群现象

2020-10-30 19:48:01 223

原创 【软件测试】软件测试分类

软件测试分类  以下所有的内容初步了解即可,为以后的学习做铺垫。文章目录软件测试分类1.按阶段划分2.按运行代码划分3.按软件特性划分4.按测试技术划分5.其他分类6.总结1.按阶段划分  按阶段可划分为单元测试(组件测试、模块测试)、集成测试(组装测试)、系统测试、验收测试。单元测试  单元测试是对软件程序的最小单元进行的测试。所谓单元,需从实际定义去评判,Java中类可称为单元,C中函数可称为单元。这类测试的目的是检验单元的功能,健壮性,效率等,涉及到代码内部,所以主要是白盒测试

2020-10-30 15:33:43 267 1

原创 【软件测试】软件测试过程模型

软件测试过程模型文章目录软件测试过程模型1.V模型2.W模型3.H模型4.X模型  软件测试和软件开发一样,也有一整套的流程和模型:软件测试流程:  软件过程模型可分为V,W,H,X模型,重点掌握V和W模型,并了解H和X模型的要点。1.V模型缺点:软件测试在编码阶段才开始,也就是说它的测试对象仍然是程序。软件测试最后一个阶段才进行针对需求的验收测试,如果测试出问题,将会导致很大的代价。软件测试不支持迭代,不适合需求变化的现状(其实和开发模型有关)。2.W模型  W模型

2020-10-29 16:07:12 1329 1

原创 【软件测试】软件测试概述

软件测试概述文章目录软件测试概述1.缺陷定义2.软件测试的定义和目的2.1正反向定义2.2IEEE标准定义(了解)2.3广义软件测试定义3.软件测试目的4.测试和调试5.总结1.缺陷定义  简单来说,如果软件本身没有满足需求或是超过需求,则认为软件即存在缺陷。展开来讲:软件未实现需求说明书的功能软件实现了需求说明书不应该出现的功能软件实现了需求说明书未说明的功能软件未实现说明书没提及但是应该实现的功能软件难以理解,不好使用,运行缓慢或者最终用户会认为不好。  1,2点比较好理解,3

2020-10-29 10:44:47 315

原创 【Linux基础】文件权限(待补充)

文件权限(待补充)文章目录文件权限(待补充)0.前言1.基本权限UGO1.1UGO的基本概念1.2RWX针对目录和文件的意义1.3修改文件的所属者和所属组1.4修改UGO权限2.预设权限和隐藏属性和特殊权限2.1预设权限2.2隐藏属性2.3特殊权限(待补充)3.ACL访问控制列表3.1针对特殊用户和组设置ACL3.2设置权限最大范围3.3使目录的文件也保持ACL3.4取消ACL3.4.1取消预设的ACL3.4.2取消部分ACL3.4.3取消所有ACL4.总结  本文关于文件特殊权限的SUID,SGID,

2020-10-28 10:42:50 226

原创 【Linux基础】用户管理

用户管理文章目录用户管理1.用户/组配置文件1.1用户基本信息1.2用户密码信息1.3组信息2.用户管理2.1创建用户2.2修改用户2.3删除用户2.4修改密码2.5查看用户相关id3.组管理3.1组的基本概念3.2创建组3.3修改组3.4删除组3.5修改组与成员的关系4.提权5.总结1.用户/组配置文件1.1用户基本信息  用户的基本信息在文件/etc/passwd里面,样子如下所示,每一行代表一个用户,共分为7列。  用户分为三种,即特权用户、系统用户和普通用户,他们用uid进行区分。0代

2020-10-22 20:42:58 271

原创 【Linux基础】文件管理

文件管理文章目录文件管理1.文件基本目录结构2.文件常见的类型3.文件管理相关的命令3.1创建文件或目录3.2复制剪切删除文件或目录3.3查看文件内容3.4复制文本内容4.Vi/Vim文件编辑器5.总结1.文件基本目录结构  Linux操作系统以/作为根目录,并下辖一级目录,二级目录…N级目录等等。一级目录如下图所示(参考菜鸟教程):树状目录结构(参考菜鸟教程):目录解释binbinaries(二进制文件简写),存放常见的使用命令。boot启动Linux

2020-10-20 16:28:17 220

原创 Java8特性-时间API参照手册(实用版)

Java8特性-时间API参照手册(实用版)文章目录Java8特性-时间API参照手册(实用版)0.前言0.1章节介绍0.2预备知识1.Instant和Duration1.1Instant实例创建1.2Instant比较1.3Instant的类似get和set1.4Instant的plus和minus1.5Duration的实例创建1.6Duration来计算算法时间1.7Duration来比较两个算法快慢1.8关于Duration的补充2.LocalDateTime2.1LocalDateTime实例创

2020-10-14 15:09:52 202

原创 【软件体系结构】软件体系结构风格

软件体系结构风格文章目录软件体系结构风格1.软件体系结构定义2.常见软件体系结构风格2.1管道和过滤器2.2数据抽象和面向对象组织2.3基于事件的隐式调用2.4分层系统2.5仓库系统2.6C/S风格2.7B/S风格3.总结  软件体系结构的学习第二篇,软件体系结构风格。1.软件体系结构定义  软件体系结构的定义:某一特定软件领域的系统组织方式的惯用方式。通俗来讲就是某一类软件的体系结构的特性抽象,它还是由3C构成(Component,Connector,Constraint)。软件体系结构与不同的软

2020-10-13 10:50:23 1903 3

原创 【软件体系结构】软件体系结构概述

软件体系结构概述文章目录软件体系结构概述1.软件体系结构的意义2.软件体系结构的定义3.软件体系结构的发展4.软件体系结构的优势5.总结  软件体系结构学习第一篇,软件体系结构概述。1.软件体系结构的意义  架构的意义在于充当需求和实现之间的桥梁。更准确来说,整个架构设计在软件生命周期的体现在于概要设计和部分详细设计,上承需求分析,下接代码实现。所以一个软件架构师不仅需要懂得需求分析,而且还需要有经年累积的开发经验。2.软件体系结构的定义  软件体系结构没有一个公认的定义,简单来说,**

2020-10-09 13:02:12 3532 2

原创 Java8特性-使用Stream中的of需要知道的事

  首先需要知道的是Stream中的of有两个重载方法:public static<T> Stream<T> of(T... values);public static<T> Stream<T> of(T t);  在学习Stream的过程中,发现一个比较有趣的点,就是8大常规类型的数组会被第二个,也就是仅传入一个元素的of识别。情景模拟:分别用 常规的int值,常规的int数组,Integer,Integer数组来创建流,并查看IDEA自动

2020-10-07 16:09:38 1105

原创 Java8特性-如何理解Stream中的FlatMap

Java8特性-如何理解Stream中的FlatMap文章目录Java8特性-如何理解Stream中的FlatMap0.前言1.正文2.总结0.前言  在学习Stream的过程中,FlatMap的理解是受阻点之一,所以单独写一篇来谈谈我对FlatMap的看法。关于Stream的完整博客可以参考我的这篇Java-Stream学习笔记(上)。  在这之前,为了方便演示,写了一个实体类(包含姓名,年龄,工资属性)。Employee:package com.lordbao.entity;impor

2020-10-07 15:42:49 664

原创 Java-Stream学习笔记(上)

Java-Stream学习笔记(上)  这篇博客仅谈论Stream的基础使用,不涉及Stream效率的问题以及并行流的讲解。等时机成熟,再更下一篇。文章目录Java-Stream学习笔记(上)1.基础概念1.1Stream的作用1.2Stream的使用步骤1.3Stream的特性2.创建流2.1通过集合创建流2.2通过数组创建流2.3通过Stream创建流3.中间操作3.1Filter过滤操作3.2Map映射操作3.3FlatMap映射并拆解操作3.4抽取子流和连接流3.5Distinct去重3.6So

2020-10-07 15:04:08 323 1

原创 Java-Optional学习笔记

Java-Optional学习笔记文章目录Java-Optional学习笔记1.创建Optional对象2.获取封装值的方法3.当封装值为null时的解决方法3.1get()的替代方案3.2对值进行处理4.实战演练5.总结  Optional<T>是一个容器类,它的提出是为了尽量减少空指针异常,其基本理念是将那些可能为空的对象封装成为Optional。当对Optional封装好的对象进行操作时,为了避免对象空指针异常,Optional提供了一系列的解决方案。具体的阐述见文末的测试案例。1

2020-10-04 17:25:14 148 1

原创 Java-方法引用学习笔记

Java-方法引用学习笔记  Java方法引用可以视作是Lambda表达式更简洁的一种表达形式。准确来讲,当Lambda表达式的方法体满足特定条件的时候,就能将Lambda表达式替换为方法引用。这样的效果是使得代码更加简洁,可读性更强。  下面将按照顺序介绍方法引用,构造函数引用,数组引用,super引用。在这之前需要说明的是这些引用成立的首要前提是Lambda表达式的方法体有且仅有一行代码。文章目录Java-方法引用学习笔记1.方法引用2.构造函数引用3.数组引用4.super引用5.总结1.方法

2020-10-04 10:48:14 145

原创 Java-Lambda表达式学习笔记

Java-Lambda表达式学习笔记文章目录Java-Lambda表达式学习笔记1.函数式接口2.基本语法3.Java内置的常见的4个函数式接口4.总结  在IntelliJ IDEA中使用Comparator匿名内部类的时候,编译器会推荐你使用Lambda表达式。原因就是我们真正想要用的是Comparator里面的compare方法,并不想创建一个Comparator的实现类对象之后,再来调用里面的方法,因为这样太麻烦,代码不够简洁。(注意,实际上,Lambda表达式的底层还是创建了对象)。1.函

2020-09-27 10:37:25 156

原创 NoteExpress基础使用

NoteExpress基础使用文章目录NoteExpress基础使用1.NoteExpress基本作用2.NoteExpress基本使用2.1导入题录2.2查看综述、做笔记2.3导入笔记和引用2.4检索和查重论文2.5附加附件2.6文件夹信息统计3.使用NoteExpress所遇到的问题3.1关于Word无法插入引用的问题3.2关于文件批量下载提示IP限制问题  记录最近用NoteExpress的经验,方便以后再用。1.NoteExpress基本作用  就目前仅有的使用经验而言,NoteExpre

2020-09-24 10:58:24 7281 1

原创 Java注解基础学习笔记

Java注解基础学习笔记文章目录Java注解基础学习笔记1.注解基本概念2.JDK1.8常见的注解[email protected]@Deprecated2.3元注解3.自定义注解3.1基本格式3.2关于属性4.反射+注解创建对象1.注解基本概念  注解是一种引用数据类型,它编译后的文件是.class文件。注解的基本用法是@注解类型名(参数赋值),注解的作用范围可以是类,域,方法,构造函数,局部变量等,不过特定的注解的作用范围需要看该注解的具体规定。  了解注解基础对后期注解开发有很大的帮助。2.

2020-09-14 15:40:27 119

原创 Thread.currentThread().getContextClassLoader().getResource.getPath()获取资源找不到路径的问题

文章目录0.问题描述1.解决方法2.总结0.问题描述  通过下面的代码获得配置文件的路径,并传给FileReader,发现找不到系统路径String path=Thread.currentThread().getContextClassLoader().getResource("jdbc.properties");try( FileReader fileReader = new FileReader(path)) { //.......省略}结果 通过打印path,发现/D:/I

2020-09-13 16:22:37 4479 1

原创 (~-~)Java反射学习笔记

Java反射学习笔记文章目录Java反射学习笔记1.反射基本概念2.获得Class对象的三种方式3.类路径和类加载器4.Class的重要方法5.Field5.1Field获得类的域相关信息的方法5.2Field用于设置对象属性的方法6.Method6.1Method获取类的方法相关信息的方法6.2Method用于调用对象方法的方法7.Constructor7.1Constructor获取类的构造方法相关信息的方法7.2Constructor用于实例化对象的方法8.练习9.总结  Java反射是框架的重要

2020-09-13 15:40:26 227

原创 Java:利用FileInputStream和FileOutputSteam实现目录复制

问题描述利用File 和 FileInputStream 和FileOutputStream实现目录复制这里我就复制我的项目的IO文件夹基本思路利用递归实现目录复制,详细情况见代码代码如下package com.lordbao.test;import java.io.*;/** * @Author Lord_Bao * @Date 2020/9/6 19:50 * @Version 1.0 * * 将IO目录下的所有文件和目录都复制到IOBAK目录下 * *

2020-09-07 20:05:29 588

原创 JavaIO学习笔记(*-*)

JavaIO学习笔记文章目录JavaIO学习笔记1.JavaIO基本概念1.1.JavaIO流基本概念1.2.JavaIO核心掌握流2.文件流2.1FileInputStream2.2FileOutputStream2.3FileReader2.4FileWriter2.5文件流总结3.缓冲流3.1BufferedInputSteam3.2BufferedOutputStream3.3BufferedReader3.4BufferedWriter4.转换流5.数据流5.1DataInputStream5.

2020-09-07 19:52:02 474

原创 (-_-)Java集合学习笔记

Java集合学习笔记文章目录Java集合学习笔记1.集合简述1.1集合基本概念1.2主要集合继承图谱2.Collection2.0引言2.1Iterable和Iterator2.2自定义ArrayList2.3Collection常见方法2.4List2.4.1List常见的方法2.4.2ArrayList2.4.3LinkedList2.4.4Vector2.5Set2.5.1HashSet2.5.2TreeSet3.Map3.1Map常见的方法3.2HashMap3.3Properties3.4Tre

2020-09-03 22:27:23 232

原创 Java异常复习笔记

Java异常复习笔记文章目录Java异常复习笔记1.Java异常简单族谱2.异常处理方式3.throw 和 throws4.try-catch-finally4.1try块4.2catch块4.3finally块5.自定义异常6.异常常见的方法7.总结1.Java异常简单族谱  Java异常的老祖宗是Throwable,它有两个儿砸Error和Exception。Error表示系统内部错误和资源耗尽错误,这部分异常发生较少。Exception主要分为RuntimeException和其他非Runti

2020-08-31 21:14:35 321 1

原创 面向对象基础复习笔记

文章目录面向对象基础复习笔记1.对象与类基础1.1利用内存图初步理解Java程序运行机制1.2构造方法2.封装2.1封装基本要素2.2封装好处3.static And this3.1static的基本语法3.2静态变量&实例变量&局部变量3.3类内部静态&实例方法调用关系及其对静态&实例变量调用关系3.4静态代码块&实例代码块3.5 this and this()4.继承4.1继承基本概念4.2方法重写和方法重载5.多态5.1多态基本概念5.2方法在多态中调用顺序6.

2020-08-27 13:31:51 289

原创 JDBC学习笔记(^-^)

文章目录JDBC学习笔记1.JDBC本质2.JDBC使用6步3.JDBC另外一种驱动注册方式4.ResultSet5.SQL注入6.PreparedStatement 和 Statement7.事务自动提交设置8.DBUtil工具类9.关于事务10.总结JDBC学习笔记1.JDBC本质  JDBC全称 Java DataBase Connectivity,即Java数据库连接。JDBC是由 sun公司定义的一系列接口,用于Java程序连接数据库,执行CRUD操作等。各大数据库厂商,如MySQL,O

2020-08-23 20:33:09 223

原创 Spring-Mybatis整合总结

文章目录Spring-Mybatis整合总结1.Mybatis使用1.01.0Mybatis环境搭建1.1Mapper.xml(映射文件)1.2主配置文件1.3执行sql语句1.4观察2.Mybatis使用2.02.1编写MybatisUtils,简化代码2.2撰写Dao的实现类DaoImpl2.3观察3.Mybatis使用3.04.Mybatis使用4.05.Spring-Mybatis整合1.05.1环境搭建5.2Mapper.xml5.3Mybatis主配置文件5.4jdbcBeans.xml5.5撰

2020-08-10 19:41:23 605

原创 Java静态代理和动态代理总结

Java静态代理和动态代理总结1.前景铺垫1.0 名词约定1.1为什么需要代理?  客户端不能或是不宜访问目标对象时,通过间接访问代理对象来访问目标对象。生活举例:e.g.不能:普通用户不能向厂家直接购买散装的货品,只有中间商才能拿到厂家的货,然后以散装的形式发放给用户。e.g.不宜:张三喜欢王翠花,但是张三信心不足,于是请求媒人【七大姑】【八大姨】代为向王翠花表达心意。1.2代理的作用控制访问/信息隐藏目标对象需要对客户端隐藏信息,所以通过代理对象来进行信息隐藏/控制访问

2020-08-06 21:15:15 221

原创 【数据库系统】关系代数之基本运算、附加运算、扩展操作

  数据库系统学习第7篇:关系代数基本运算及附加运算。参考书籍:数据库系统概念。基本运算  基本运算有6种,如下所示:选择运算  选择运算的目的是 选出满足给定谓词的元组,表示如下:  选择运算可以有如下规则:允许在谓词中 > = < 等 符号 进行比较,如找出工资大于90000美元的所有元组。.2.允许 用 ^(and)、 ∨(or)、¬(not)将谓词组成...

2020-04-14 11:25:39 2826 1

空空如也

空空如也

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

TA关注的人

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