自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(133)
  • 资源 (163)
  • 收藏
  • 关注

原创 MySQL 锁全集(共享锁/排它锁、记录锁/间隙锁/临键锁)

简介:锁是计算机协调多个进程或线程并发访问某一资源变得有序的机制。一、锁分类  1. 行级锁/表级锁/页面锁    A. 行级锁:是指给索引上的索引项加锁,偏向InnoDB存储引擎;    B. 表级锁:是指给全表加锁,这个是由于没有使用索引导致的,偏向MyISAM存储引擎;    C. 页面锁:开销和加锁时间界于表锁和行锁之间;  2.共享锁/排它锁    A. 共享锁(S锁):也称读锁,指可以同时读数据,即允许持锁事务读取一行,事务A持有S锁,事务B请求S锁时,会立即被赋予.

2021-06-22 09:34:14 653 1

原创 Java并发之AQS详解

一、概述  谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!  类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatch...。  以下是本文的目录大纲: 概述 框架 源码详解 简单应用   若有不正之处,请谅解和批评指正,不胜感激。 

2021-06-19 18:03:36 89

原创 0163 IO原理理解与IO模型

基本概念Linux内核将所有外部设备都看做一个文件来操作。那么我们对与外部设备的操作都可以看做是对文件进行操作。我们对一个文件的读写,都通过调用内核提供的系统调用;内核给我们返回一个file descriptor(fd,文件描述符),对一个socket的读写也会有相应的描述符,称为socketfd(socket描述符)。描述符就是一个数字(可以理解为一个索引),指向内核中一个结构体(文件路径,数...

2019-11-13 19:07:42 330

原创 0162 雪花分片ID生成算法snowflake

概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra,因为Cassandra没...

2019-01-10 12:11:50 945 1

原创 0161 一致性哈希算法原理

一致性Hash算法背景  一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。  但现在一致性hash算法在分布式系统中也得到了广泛应用,研究过memcached缓存数据库的人...

2018-12-17 20:33:37 221 1

原创 0160 十分钟看懂时序数据库(I)-存储

摘要:2017年时序数据库忽然火了起来。开年2月Facebook开源了beringei时序数据库;到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平台上发布了国内首个多租户的分布式时序数据库产品TSDB,成为支持其发展制造,交通,能源,智慧城市等产业领域的核心产品,同时...2017年时序数据库忽然火了起来。开年2...

2018-12-17 20:22:53 601 1

原创 0158 Nginx-搭建https服务器

概述1、生成证书2、配置nginx步骤:1、创建一个目录存放生成的私钥及根证书文件      mkdir /data/ssl      cd /data/ssl2、创建一个私钥,并输入密码(必须输入且记住,且后续各个步骤可能都需要用到)      openssl genrsa -des3 -out test.key 10243、创建签名请求的证书(csr

2017-05-18 18:16:21 365

转载 0157 JAVA利用HttpClient进行POST请求(HTTPS)

目前,要为另一个项目提供接口,接口是用HTTP URL实现的,最初的想法是另一个项目用jQuery post进行请求。但是,很可能另一个项目是部署在别的机器上,那么就存在跨域问题,而JQuery的post请求是不允许跨域的。这时,就只能够用HttpClient包进行请求了,同时由于请求的URL是HTTPS的,为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过

2017-05-17 17:11:27 350

转载 0156 java中的WeakReference

Java语言中为对象的引用分为了四个级别,分别为 强引用 、软引用、弱引用、虚引用。本文只针对java中的弱引用进行一些分析,如有出入还请多指正。在分析弱引用之前,先阐述一个概念:什么是对象可到达和对象不可到达状态。其实很简单,我举个例子:现在有如下两个类class A class B,在JVM上生成他们两个类的实例分别为 instance a  instanc

2017-05-09 14:23:45 371

转载 0155 Tomcat多实例Session共享的原理

在这个互联网高度发达的时代,许多应用的用户动辄成百上千万,甚至上亿。为了支持海量用户的访问,应用服务器集群这种水平扩展的方式是最常用的。这种情形下,就会涉及到许多单机环境下完全不需要考虑的问题,这其中session的创建、共享和存储是最常见之一。在单机环境中,Session的创建和存储都是由同一个应用服务器实例来完成,而存储也仅是内存中,最多会在正常的停止服务器的时候,把当前活动的Sess

2017-03-01 10:31:19 343

原创 00154 web安全认证机制知多少

如今web服务随处可见,成千上万的web程序被部署到公网上供用户访问,有些系统只针对指定用户开放,属于安全级别较高的web应用,他们需要有一种认证机制以保护系统资源的安全,本文将探讨五种常用的认证机制及优缺点。Basic模式HTTP协议规范中有两种认证方式,一种是Basic认证,另外一种是Digest认证,这两种方式都属于无状态认证方式,所谓无状态即服务端都不会在会话中记录相关信息

2017-02-28 20:21:52 323 1

原创 0153 Tomcat9配置HTTP2

HTTP 2.0即超文本传输协议 2.0,是下一代HTTP协议。是由互联网工程任务组(IETF)的Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。是自1999年http1.1发布后的首个更新。系统环境:CentOS release 6.5 (Final) x64JDK1.8.0_92apache-tomcat-9.

2017-02-26 15:04:46 978 1

转载 0152 360 如何用 QConf 搞定 2W+ 服务器的配置管理

此文根据【QCON高可用架构群】分享内容,由群内【编辑组】志愿整理,转发请注明出处。王康,奇虎360基础架构组资深工程师 目前负责分布式配置管理服务QConf的研发和维护,并推动其在奇虎360的应用。专注于服务端底层通用工具、框架和系统的研发,为公司的Web服务端及服务端提供易用、可靠的基础服务支持。QConf是奇虎360广泛使用的配置管理服务,现已开源,欢迎大家关注使用。

2017-02-24 10:50:23 732

转载 0151 Mysql数据库事务的隔离级别和锁的实现原理分析

MySQL数据库的事务隔离级别相信很多同学都知道.大家有没有想过它是如何实现的呢?带着这些问题我翻阅了相关数据库的书籍和资料,把我的理解写下来.一:事务隔离级别mysql数据库的隔离界别如下:1, READ UNCOMMITTED(未提交读)事务中的修改,即使没有提交,对其它事务也是可见的.  脏读(Dirty Read).2, READ

2017-02-15 16:56:13 307

转载 0150 dubbo-admin管理平台搭建

一、前言dubbo的使用,其实只需要有注册中心,消费者,提供者这三个就可以使用了,但是并不能看到有哪些消费者和提供者,为了更好的调试,发现问题,解决问题,因此引入dubbo-admin。通过dubbo-admin可以对消费者和提供者进行管理。二、下载与配置打包dubbo-admin的下载,可自行到官网下载:https://github.com/alibaba/dubbo 

2017-01-20 16:53:38 215

原创 0149 Nginx/ZooKeeper 负载均衡的差异

Nginx是著名的反向代理服务器,也被广泛的作为负载均衡服务器ZooKeeper是分布式协调服务框架,有时也被用来做负载均衡那么他们的区别是什么?如何选择呢?下面从实际场景看下他们的关系Nginx的负载均衡配置非常简单,把多个web server配置到nginx中,用户访问Nginx时,就会自动被分配到某个web serverupstream backe

2017-01-20 14:47:33 745 1

转载 0148 Spring Framework 中启动 Redis 事务操作

背景:项目中遇到有一系列对Redis的操作,并需要保持事务处理。环境:Spring version 4.1.8.RELEASERedis Server 2.6.12 (64位)spring-data-redis version 1.6.1.RELEASEjedis version 2.7.3 使用Spring的@Transaction

2016-12-30 14:26:05 990

转载 0147 跨域资源共享 CORS 详解

CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。本文详细介绍CORS的内部机制。一、简介CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。

2016-11-01 17:35:08 240

原创 146 Git Bash 记住用户名密码

git for windows (又名 msysgit)如何记住用户名和密码 :先创建存储用户名密码的文件 ,在home文件夹,一般是C:\Documents and Settings\Administrator下建立文件.git-credentials(windows下不允许直接创建以.开头的文件,所以有一个小技巧:先创建一个文件名叫 )git-credentials然后进入

2016-08-23 15:45:29 494 1

原创 145 kafka入门:简介、使用场景、设计原理、主要配置及集群搭建

问题导读:1.zookeeper在kafka的作用是什么?2.kafka中几乎不允许对消息进行“随机读写”的原因是什么?3.kafka集群consumer和producer状态信息是如何保存的?4.partitions设计的目的的根本原因是什么?一、入门 1、简介 Kafka is a distr

2016-08-21 17:09:26 407 1

原创 144 Linux使用jstat命令查看jvm的GC情况

Linux使用jstat命令查看jvm的GC情况http://www.open-open.com/lib/view/open1390916852007.htmlhttp://www.aiuxian.com/article/p-2032660.htmlhttp://blog.csdn.net/u011202334/article/details/51498

2016-08-13 16:31:55 831 1

原创 0143 [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)

[FMS]使用ffmpeg来完成对flv、mp4、mp3等格式的转化,使用ffmpeg或segmenter完成对视频/音频格式文件的切割,切割为m3u8格式及ts文件1、 为何要使用HTTP Live Streaming可以参考wikipediaHTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议。是苹果公司Q

2016-07-25 19:59:49 1763 1

转载 0142 nginx搭建rtmp协议流媒体服务器总结

nginx,rtmp

2016-07-19 00:13:54 576

转载 0141 rtmplib rtmp协议过程分析

转自:http://chenzhenianqing.cn/articles/1009.html写的很好,收藏如下,向作者致敬!没事碰到了librtmp库,这个库是ffmpeg的依赖库,用来接收,发布RTMP协议格式的数据。代码在这里:git clone git://git.ffmpeg.org/rtmpdump先看一段通过librtmp.so库下载RTMP源发布的数

2016-07-18 23:30:05 489

原创 0140 redis实现访问频次限制的几种方式

结合上一篇文章《redis在学生抢房应用中的实践小结》中提及的用redis实现DDOS设计时遇到的expire的坑。其实,redis官网中对incr命令的介绍中已经有关于如何用redis来做rate limit的探讨。这里将实现的两种模式翻译一下,并适当加了一些批注说明,原文可见官网。模式:Rate limiter频次限制器模式是一种特殊的计数器,它常被用来限制某个操作可以被执

2016-07-06 14:59:56 1481 1

转载 0139 Nginx+Lua+Redis 对请求进行限制

一、概述需求:所有访问/myapi/**的请求必须是POST请求,而且根据请求参数过滤不符合规则的非法请求(黑名单), 这些请求一律不转发到后端服务器(Tomcat)实现思路:通过在Nginx上进行访问限制,通过Lua来灵活实现业务需求,而Redis用于存储黑名单列表。相关nginx上lua或redis的使用方式可以参考我之前写的一篇文章:openresty(ngi

2016-07-06 13:45:51 385

转载 0138 redis脚本实现分布式锁

redis被大量用在分布式的环境中,自然而然分布式环境下的锁如何解决,立马成为一个问题。例如我们当前的手游项目,服务器端是按业务模块划分服务器的,有应用服,战斗服等,但是这两个vm都有可能同时改变玩家的属性,这如果在同一个vm下面,就很容易加锁,但如果在分布式环境下就没那么容易了,当然利用redis现有的功能也有解决办法,比如redis的脚本。       redis在2.6以后的版本中增加了

2016-07-05 13:56:18 222

原创 123

2016-06-04 20:34:56 257

转载 0137 Dubbo是什么

1. Dubbo是什么?Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消

2016-03-06 13:06:32 302

转载 0136 Spring的七大模块简介

Spring有七大功能模块,分别是Spring Core,AOP,ORM,DAO,MVC,WEB,Content。 下面分别简单介绍: 1,Spring Core Core模块是Spring的核心类库,Spring的所有功能都依赖于该类库,Core主要实现IOC功能,Sprign的所有功能都是借助IOC实现的。 Java代码  IOC = Inversion

2016-02-23 10:24:25 454

转载 0135 java redis使用之利用jedis实现redis消息队列

应用场景最近在公司做项目,需要对聊天内容进行存储,考虑到数据库查询的IO连接数高、连接频繁的因素,决定利用缓存做。从网上了解到redis可以对所有的内容进行二进制的存储,而java是可以对所有对象进行序列化的,序列化的方法会在下面的代码中提供实现。序列化这里我编写了一个java序列化的工具,主要是对对象转换成byte[],和根据byte[]数组反序列化成java对象;

2015-10-16 14:56:43 583

转载 0134 Web应用中的轻量级消息队列

Web应用中为什么会需要消息队列?主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达mysql,直接导致无数的行锁表锁,甚至最后请求会堆积过多,从而触发too many connections错误。通过使用消息队列,我们可以异步处理请求,从而缓解系统的压力。在Web2.0的时代,高并发的情况越来越常见,从而使消息队列有成

2015-10-16 14:31:52 471

转载 0133 用Redis存储Tomcat集群的Session

前段时间,我花了不少时间来寻求一种方法,把新开发的代码推送到到生产系统中部署,生产系统要能够零宕机、对使用用户零影响。我的设想是使用集群来搞定,通过通知负载均衡Nginx,取下集群中的Tomcat节点,然后对Tomcat上的应用进行升级,再通知负载均衡Nginx,把Tomcat节点重新加载上去。依次这么做,把集群中的所有Tomcat都替换一次即可。那么问题来了,在取下Tomcat节

2015-10-16 12:18:15 456

转载 0132 jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令

公司内部同事分享的一篇文章 周末看到一个用jstack查看死锁的例子。昨天晚上总结了一下jstack(查看线程)、jmap(查看内存)和jstat(性能分析)命令。供大家参考 1.Jstack 1.1   jstack能得到运行java程序的java stack和native stack的信息。可以轻松得知当前线程的运行情况。如下图所示  注:这个和thread dum

2015-09-25 15:43:22 829

转载 0131 Eclipse远程调试(远程服务器端监听)

前提:远程服务器上运行的WEB项目class对应的源码与本地项目中必须保持一致也就是远程tomcat部署的项目就是本机项目打包过去的,而本机项目没有发生变动 远程服务器端服务器端配置eclipse调试器监听端口,有两种方式,任选其一 第一种方式:环境变量export JPDA_ADDRESS=9999  启动tomcat使用sh catalina.sh

2015-09-25 15:29:06 375

转载 0130 分布式网站架构后续:zookeeper技术浅析

Zookeeper是hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用越来越多。今天我想谈谈zookeeper,本文不谈如何使用zookeeper,而是zookeeper到底有哪些实际的运用,哪些类型的应用能发挥zookeeper的优势,最后谈谈zookeeper对分布式网站架构能产生怎样的作用。  Zookeeper是针

2015-09-25 11:52:12 314

转载 0129 Kafka 与 Flume 如何选择

采集层 主要可以使用Flume, Kafka两种技术。Flume:Flume 是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展API.Kafka:Kafka是一个可持久化的分布式的消息队列。Kafka 是一个非常通用的系统。你可以有许多生产者和很多的消费者共享多个主题Topics。相比之下,Flume是一个专用工具被设计为旨在往HDFS,HBase发送

2015-09-25 10:32:01 280

转载 0128 Hadoop+HBase+ZooKeeper三者关系与安装配置

这里有几个主要关系:1.经过Map、Reduce运算后产生的结果看上去是被写入到HBase了,但是其实HBase中HLog和StoreFile中的文件在进行flush to disk操作时,这两个文件存储到了HDFS的DataNode中,HDFS才是永久存储。2.ZooKeeper跟Hadoop Core、HBase有什么关系呢?ZooKeeper都提供了哪些服务呢?主要有:管理H

2015-09-18 18:19:10 524

转载 0127 Flume日志收集

一、Flume介绍Flume是一个分布式、可靠、和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。设计目标:(1) 可靠性当节点出现故障时,日志能够被传送到其他节点上而不会丢失。Flume提供了三种级别的可靠性保障,从强到弱依次分别为:end-to-end(收到数

2015-09-17 16:52:39 302

转载 0126 Flume-ng+Kafka+storm的学习笔记

吐个槽 :在word文档中写好的 包括图片 在csdn粘贴过来后 图片必须重新上传 不爽啊!!Flume-ng+Kafka+storm的学习笔记 Flume-ngFlume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。      Flume的文档可以看http://flume.apache.org/FlumeUserGuide.htm

2015-09-17 16:25:48 483

logo 最终参考版

logo

2012-11-29

无线logo

无线 logo

2012-11-25

Java网络爬虫蜘蛛源码

Java网络爬虫蜘蛛源码

2012-03-05

java 网络蜘蛛

java 网络蜘蛛

2012-03-05

网络蜘蛛

网络蜘蛛

2012-03-05

简单的UML画图工具

一款简单的简单的UML画图工具,功能齐全,免安装,双击运行 一款简单的简单的UML画图工具,功能齐全,免安装,双击运行

2011-05-07

spring-framework-3.1.0.M1-with-docs

spring-framework-3.1.0.M1-with-docs 开发一手完整包

2011-04-11

hibernate-3.2.0.cr5.zip

hibernate-3.2.0.cr5.zip 完整一手开发包

2011-04-11

自己自编一款小游戏 自己自编一款小游戏

自己自编一款小游戏 自己自编一款小游戏 自己自编一款小游戏 自己自编一款小游戏

2010-12-23

3D游戏编程大师技巧

3D游戏编程大师技巧 3D游戏编程大师技巧 3D游戏编程大师技巧 3D游戏编程大师技巧

2010-12-23

EJB入门经典 经典啊

EJB入门经典 EJB入门经典 EJB入门经典 EJB入门经典 EJB入门经典 EJB入门经典 EJB入门经典 EJB入门经典

2010-12-23

MyEclipse配置ejb.rar

MyEclipse配置ejb.rarMyEclipse配置ejb.rarMyEclipse配置ejb.rarMyEclipse配置ejb.rarMyEclipse配置ejb.rar

2010-12-19

windows xp sdk

windows xp sdk windows xp sdk windows xp sdk

2010-11-08

操作系统实验三 分页 文件系统

操作系统实验三 分页 文件系统。

2010-11-06

东北大学 操作系统 优先权调度

东北大学 操作系统 优先权调度 东北大学 操作系统 优先权调度 东北大学 操作系统 优先权调度

2010-10-24

操作系统试验一源代码-读写者问题

操作系统试验一源代码

2010-10-10

东大操作系统读写者实验

东大操作系统读写者实验

2010-10-09

pthreads-2002-03-02.exe

pthreads-2002-03-02.exe

2010-10-07

东北大学数据结构实验五完整代码

东北大学数据结构实验五完整代码 东北大学数据结构实验五完整代码

2010-09-17

数据结构实验5 数据结构实验5

数据结构实验5 数据结构实验5 数据结构实验5 数据结构实验5 数据结构实验5

2010-09-16

东北大学数据结构实验四完整代码

东北大学数据结构实验四完整代码 东北大学数据结构实验四完整代码

2010-09-16

东北大学数据结构实验四完整源代码

东北大学数据结构实验四源代码 东北大学数据结构实验四源代码

2010-09-13

东北大学数据结构实验2

东北大学数据结构实验2的源代码,快分享给你的同学吧,轻松搞定

2010-09-10

数学建模报告(八个全)

数学建模报告(八个全)数学建模报告(八个全)数学建模报告(八个全)数学建模报告(八个全)数学建模报告(八个全)数学建模报告(八个全)数学建模报告(八个全)数学建模报告(八个全)

2010-06-29

包含数学建模实验六的ppt

数学建模实验六 数学建模实验六 数学建模实验六 数学建模实验六

2010-06-29

RadASMV2.2.1.9汉化版

RadASMV2.2.1.9汉化版 RadASMV2.2.1.9汉化版 RadASMV2.2.1.9汉化版

2010-05-29

汇编语言集成开发工具VisualASM1.0

汇编语言集成开发工具VisualASM1.0 汇编语言集成开发工具VisualASM1.0

2010-05-29

xml.jar xml.jar

xml.jar xml.jar xml.jar xml.jar xml.jar xml.jar xml.jar xml.jar

2010-05-29

xercesImpl.jar

xercesImpl.jar xercesImpl.jar xercesImpl.jar xercesImpl.jar

2010-05-29

sax.jar sax.jar

sax.jar sax.jar sax.jar sax.jar sax.jar sax.jar sax.jar

2010-05-29

jdom.jar jdom.jar

jdom.jar jdom.jar jdom.jar jdom.jar jdom.jar jdom.jar

2010-05-29

dom4j-1.6.jar

dom4j-1.6.jar dom4j-1.6.jar dom4j-1.6.jar dom4j-1.6.jar

2010-05-29

USBclearU盘专杀

USBclear USBclear USBclear USBclear USBclear USBclear USBclear

2010-05-29

sqlserver.jar

sqlserver.jar sqlserver.jar sqlserver.jar sqlserver.jar

2010-05-29

ojdbc%2Cmysql

ojdbc%2Cmysql ojdbc%2Cmysql ojdbc%2Cmysql ojdbc%2Cmysql

2010-05-29

mysql-connector-java-5.1.0.jar

mysql-connector-java-5.1.0 mysql-connector-java-5.1.0

2010-05-29

MYSQL中文手册--050906

MYSQL中文手册--050906 MYSQL中文手册--050906 MYSQL中文手册--050906

2010-05-29

spring.jar spring.jar

spring.jar spring.jar spring.jar spring.jar spring.jar

2010-05-29

logo最终版

logo最终版

2012-11-30

无线 logo 多种样式

无线 logo 多种样式

2012-11-28

空空如也

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

TA关注的人

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