自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

方丈的寺院

技术是人生基石/https://github.com/FS1360472174/

  • 博客(204)
  • 资源 (30)
  • 收藏
  • 关注

原创 java程序员的NodeJS初识篇

摘要作为一个一直用java来写后端的程序员用NodeJS来写后台,实在不是很爽。这里记下这两个月的NodeJS学习所遇之坑,与java转NodeJS的同仁共勉。学习时间不长,若有理解错误,望指正。一.JS基本exports,module.exportsexports 就是module.exports的引用在module 被计算之前,会将module.exports的值赋给exports当mod

2017-02-28 21:47:33 3636

原创 Cassandra与Mongo的事务实现之分布式协议

摘要NoSql不同于关系型数据库,是分布式存储,因此想要实现关系型数据库中的事务就不是那么简单了。本文结合Cassandra中的paxos和Mongo的two phase commit来谈谈Nosql如何利用分布式协议来实现事务的。CassandraCassandra的paxos机制在这篇译文中已有详细解释了。 下面时序图方便理解。 注意acceptor节点数量由replicate factor

2017-02-22 21:59:29 2585

翻译 Cassandra如何利用线性一致性来实现轻量级的事务

分布式数据库会面临着一个独特的挑战,就是数据必须要严格的按照读,写顺序执行。如创建用户,转账,两个潜在的写操作竞态条件必须要确保一个写操作必须在另外一个之前发生。在Cassandra中,使用Paxos协议来实现轻量级的事务来处理并发操作。Paxos协议是用来实现线性一致性,这是实时约束的顺序一致性。线性一致性保证事务的隔离性类似于RDBMS提供的串行level的隔离性。这种类型的事务就是众所周知的c

2017-02-21 22:04:44 2778

翻译 Cassandra事务与关系型数据库事务有何区别

Cassandra不会使用回滚和锁机制来实现关系型数据的ACID事务,相比较于提供原子性,隔离性和持久化,Cassandra提供最终(可调节的)一致性,让用户决定为每个事务提供强一致性或者最终一致性。作为非关系型数据库,Cassandra不支持join或者外键,因此Cassandra不提供ACID层面的一致性。例如,当从账户A转账给账户B,整个账户总额不应该改变。Cassandra支持row-lev

2017-02-20 22:06:42 4670

原创 cassandra vs mongo (1)存储引擎

摘要在MongoDB 初识篇中谈到过Mongo 与 Cassandra的区别,这边再谈谈Mongo与Cassandra的存储引擎差别概括存储引擎: 类型 功能 应用 hash 增删改、随机读、顺序扫描 Key-Value存储系统 B-Tree 增删改、随机读、顺序扫描 关系型数据库 LSM 增删改、随机读、顺序扫描 分布式存储系统,如cassandra、

2017-02-14 21:22:11 5294

翻译 cassandra 3.x官方文档(7)---内部原理之如何读写数据

写在前面cassandra3.x官方文档的非官方翻译。翻译内容水平全依赖本人英文水平和对cassandra的理解。所以强烈建议阅读英文版cassandra 3.x 官方文档。此文档一半是翻译,一半是个人对cassandra的认知。尽量将我的理解通过引用的方式标注,以示区别。另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我。当然你也可以加入我们的QQ

2017-02-12 21:24:01 11461 3

翻译 cassandra 3.x官方文档(6)---内部原理之存储引擎

写在前面cassandra3.x官方文档的非官方翻译。翻译内容水平全依赖本人英文水平和对cassandra的理解。所以强烈建议阅读英文版cassandra 3.x 官方文档。此文档一半是翻译,一半是个人对cassandra的认知。尽量将我的理解通过引用的方式标注,以示区别。另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我。当然你也可以加入我们的QQ

2017-01-15 10:40:35 1702

原创 cassandra 3.x官方文档(5)---探测器

写在前面cassandra3.x官方文档的非官方翻译。翻译内容水平全依赖本人英文水平和对cassandra的理解。所以强烈建议阅读英文版cassandra 3.x 官方文档。此文档一半是翻译,一半是个人对cassandra的认知。尽量将我的理解通过引用的方式标注,以示区别。另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我。当然你也可以加入我们的QQ

2017-01-10 22:17:57 1835

原创 2016年的不正式总结

摘要上一次写个人年终总结还是2014年1月1日,写的2013年的总结。距今天已三年了,那时候的总结还是写在QQ空间里。之后的三年里面再也没有去总结了,早上醒来,玩完手机,不知为何想简单写点,因为今天是2016的最后一天,就权且起个题目叫做2016的总结吧。闲聊技术从2013年实习开始用到的python,c++到毕业后第一个项目的c#,再到java,一直在语言学习中摸爬滚打。期间虽有很多痛苦,却也蛮多

2016-12-31 14:13:25 2743 10

原创 Mongo Index

摘要mongo 的索引非常强大,和关系型数据库索引没什么区别。这里主要介绍mongo索引基本知识和mongo本人在索引上的犯的错。索引种类单字段索引复合索引 复合索引各个字段的顺序应该是精确匹配字段(=xxx),排序字段(避免在内存中排序,使用index排序),范围查询字段如db.book.find({company: ‘xxx’, age:{$lt:30}).sort(...

2016-12-12 22:19:27 2609

翻译 cassandra 3.x官方文档(4)---分区器

写在前面 cassandra3.x官方文档的非官方翻译。翻译内容水平全依赖本人英文水平和对cassandra的理解。所以强烈建议阅读英文版cassandra 3.x 官方文档。此文档一半是翻译,一半是个人对cassandra的认知。尽量将我的理解通过引用的方式标注,以示区别。另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我。当然你也可以加入我们的

2016-12-11 16:46:05 2201

翻译 cassandra 3.x官方文档(3)---gossip通信协议及故障检测与恢复

写在前面 cassandra3.x官方文档的非官方翻译。翻译内容水平全依赖本人英文水平和对cassandra的理解。所以强烈建议阅读英文版cassandra 3.x 官方文档。此文档一半是翻译,一半是个人对cassandra的认知。尽量将我的理解通过引用的方式标注,以示区别。另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我。当然你也可以加入我们的

2016-12-04 19:28:28 2354

原创 mongo 读分析

分布式读读冲突 分布式中数据库有多份数据,各份数据可能存在不一致性。 mongo 只会写到primary节点上,理论上来说不会有文档冲突,也就是说数据库中的数据都以primary节点为标准。但是有种情况,一个主节点的数据还没有全部replicate 到secondary 节点,它down 了,这部分数据就有不一致性了,当它重新上线后变成了一个secondary 节点,就会有冲突了。需要将之前的这

2016-12-03 17:31:12 1887

原创 mongo 写分析

写操作复制集mongo所有的节点都是写入到primary节点,同时写入oplog,secondary 节点会持续的从primary节点上复制oplog的信息,然后根据oplog写数据。secondary 节点的复制oplog,写数据是一个异步的过程.oplog 是一个capped collection(固定大小的集合,超过最大值后自动覆盖老的值),记录对数据库的更改操作。oplog大小默认是disk

2016-11-27 17:05:47 1631

翻译 cassandra 3.x官方文档(2)---架构解析

写在前面 cassandra3.x官方文档的非官方翻译。翻译内容水平全依赖本人英文水平和对cassandra的理解。所以强烈建议阅读英文版cassandra 3.x 官方文档。此文档一半是翻译,一半是个人对cassandra的认知。尽量将我的理解通过引用的方式标注,以示区别。另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我。当然你也可以加入我们的

2016-11-25 13:03:38 2403 1

翻译 Cassandra 3.x官方文档(1)---关于Cassandra

写在前面 cassandra3.x官方文档的非官方翻译。翻译内容水平全依赖本人英文水平和对cassandra的理解。所以强烈建议阅读英文版cassandra 3.x 官方文档。此文档一半是翻译,一半是个人对cassandra的认知。尽量将我的理解通过引用的方式标注,以示区别。另外文档翻译是项长期并有挑战的工作,如果你愿意加入cassandra git book,可以发信给我。当然你也可以加入我们的

2016-11-19 13:10:06 3582

原创 mongo 存储过程

摘要本文主要介绍mongo存储过程,mongo 存储过程其实就是JS方法,然后通过eval 方法来执行,但是这个方法在3.0 depreate了,也就是在未来的版本,这个功能可能不提供了。从目前的jira的issue来看,mongo官方还没有打算提供了eval的替代。介绍mongo 存储过程其实就是在database 端存储js 方法db.system.js.save({ _id:"add"

2016-11-16 21:52:06 2409

原创 Mongo 整体架构介绍(1)-------分片集群

摘要在mongo初识文中介绍了mongo与cassandra的主要区别,以及mongo物理部署架构图。本文接着上一篇的mongo 架构图,来继续讲分片集群。分片介绍shard keymongo 默认配置是不分片的,需要自行enable.mongo 根据shard key来对数据进行分片。有三种分片方式range 根据范围来分片,比如1-10到shardA,11-20 shardB,以此类推h

2016-11-05 21:08:01 2169 2

原创 Mongo DB 初识

前言2016年伊始,开始研究NoSql.看了couchdb,cloudant,cassandra,redis.却一直没有看过排行榜第一的mongo,实属不该。近期会花时间研究下mongo。本文是初识mongo的体验。有错误之处,还望指正。Mongo VS cassandra目前NoSql 排行版前三是Mongo,Cassandra,Redis.Redis 特点明确,key-value 形式,数据不持

2016-10-23 15:53:08 2799

原创 Cassandra Secondary Index 介绍

摘要本文主要介绍cassandra中的索引,物化视图,有些知识点需要对cassandra有基本的认识才能理解。比如数据在cassandra节点中如何分布。如果有不明白的地方可以看本专栏之前文章。或者发送邮件和我探讨 cnstonefang@gmail.com。为什么叫secondary indexCREATE TABLE user( id bigint, name

2016-10-04 13:00:24 5917

原创 Spring Boot 中应用Spring data mongdb

摘要本文主要简单介绍下如何在Spring Boot 项目中使用Spring data mongdb.没有深入探究,仅供入门参考。 文末有代码链接准备安装mongodb 需要连接mongodb,所以需要提前安装mongodb.在本地安装安装文档见官网 install mongodb安装完mongodb后配置环境变量。创建目录“C:\data\db”作为mongo 数据存储的默认文件 注意本篇文章

2016-09-10 12:48:45 1325

原创 JDK 源码学习——ByteBuffer

ByteBuffer 在NIO的作用Java SE4 开始引入Java NIO,相比较于老的IO,更加依赖底层实现。引入通道(Channels),选择器(selector),缓冲(Buffers).都更加接近操作系统执行I/O的方式.所以速度更快。NIO 是非阻塞IO,非阻塞IO的实现是基于事件的,选择器定义了一个IO通道,程序继续运行。选择器上发生事件时,会唤醒选择器并执行相应动作。IO...

2016-08-07 13:33:50 2166

原创 Cassandra User 问题汇总(1)------------repair

Cassandra Repair 问题问1:文档建议每周或者每月跑一次full repair.那么如果我是使用partition rangerepair,是否还有必要在cluster的每个节点上定期跑full repair ?答1:为什么要定期跑full repair一般在gc_grace_seconds 间隔时间内跑repair - 确保集群的数据保持一致。通常节点的write consiste

2016-07-23 18:30:40 5423

原创 gradle 入门介绍

gradle ????Groovy??????????,?maven????????????xml?????script????gradle ???????build.gradle ????,build.gradle ????maven?pom.xmlbuildscript { repositories { mavenCentral() maven {

2016-07-22 17:40:26 1832

原创 从Stage角度看cassandra write

声明文章发布于CSDNcassandra concurrent 具体实现cassandra并发技术文中介绍了java的concurrent实现,这里介绍cassandra如何基于java实现cassandra并发包。Figure1——cassandra并发实现 cassandra各个Stage是通过StageManger来进行管理的,StageManager 有个内部类ExecuteOnlyExec

2016-07-10 14:48:58 4997

原创 cassandra 并发技术介绍

摘要本文主要介绍cassandra线程技术,cassandra的实现是基于java的,所以线程技术使用的也是jdk包提供的线程类。cassandra是分布式数据库,整个并发架构是基于阶段事件驱动架构(staged envent-driven architecture)它能够利用queue将复杂的事件驱动分解为各个阶段。一.java并发Executor 框架 http://docs...

2016-07-02 09:48:06 12734

原创 cassandra 概述

摘要本篇文章主要是介绍cassandra与其他NoSQL的区别以及自身的特点与应用场景。在关系数据库我们没必要选择数据库,通常需要适配oracle/mysql/sql server/db2 等多种数据库。但是今天的NoSQL 还不够成熟,以及每一款的NoSQL 数据库应用领域不是很宽泛,设计理念也有很大差异,所以通常我们需要为我们的应用评估究竟哪款NoSQL数据库比较合适。个人认为各个NoSQL数据

2016-06-25 15:58:21 4662

原创 cassandra 常见问题

摘要本文主要介绍在部署cassandra集群以及使用cassandra过程中遇到的一些问题。文章只发布在CSDN 和个人站点更多nosql文章可以访问stone fang 个人主页 正文Q1:cassandra 如何将一个节点设置为seed node,seed node与其他node有什么区别A1:设置seed node很简单,在cassandra.yaml 中 -s

2016-06-18 14:08:59 10160 1

原创 docker 部署cassandra

摘要本文主要介绍在redhat7 平台,利用docker 部署cassandra 集群,除了介绍基本的部署步骤,另外主要 讨论类似于cassandra 这种分布式集群系统部署 docker如何进行网络配置的问题文章只发布在CSDN与个人站点,其余站点均属盗版侵权 更多cassandra知识请访问 web 个人开发者安装docker最简单的方法,利用已有的脚本curl -fsSL https://

2016-06-15 19:25:39 7874

原创 cassandra 监控方案评估

摘要最开始做cassandra monitor 方案的选型时,主要是从cassandra 本身入手,后来发现cassandra运行在JVM上,所有的metrics都是通过JMX 暴露出来。所以又可以使用一些通用的Java Application 的监控方案,作者 在调查了很多的实现方案后,最终将范围缩小在graphite,newrelic,opscenter三种解决方案。本文只给出各自的优劣势,具

2016-05-31 21:25:04 4006

原创 cassandra eclipse 环境构建

摘要本文主要介绍如何在eclipse中搭建cassandra环境更多cassandra,nosql 相关知识请访问http://www.webpersonaldeveloper.cn 正文1.fork cassandra 代码 然后clone 到本地(cassandra-trunk 是head 分支)git clone https://github.com/FS1360472174/cassan

2016-05-25 19:28:24 2543

原创 redhat7 上安装dummynet

更多请访问 http://www.webpersonaldeveloper.cn摘要:在redhat 上部署dummynet 需要将ipfw 编译为内核模块,而ipfw需要调用linux kernel的一些函数。 linux kernel版本在不断提升,相关的数据结构也在变化。所以可能需要根据你要部署的系统内核版本,来调整参数提醒如果你要部署在Redhat6,CentOS6等内核版本比较低的平台,

2016-05-07 22:03:58 5386

原创 cassandra 如何写数据以及放置副本

application发送数据到server application 发送请求到server根据设置的load balance 规则从cluster中挑选一个coordinator,一般使用轮询即可。cluster 中的cassandra node 不仅作为数据库的储存节点,同样作为request 请求处理的server。所以保证每个节点处理的request 一样的balance算法即可然后根据

2016-04-17 18:33:42 3806

原创 Eclipse中设置VM参数

eclipse.ini-Xms256m //设置堆最小值-Xmx1024m //设置堆最大值Eclipse做JVM 的分析时,需要动态设置JVM的参数来进行各种测试,可以在下图地方进行设置JVM Parameter Settinghttp://www.oracle.com/technetwork/java/javase/tech/vm

2016-04-13 22:00:18 18522

原创 VNC 登录上去灰屏,没有shell脚本,鼠标变成X

CenterOS 1.安装vncserveryum instll tigervnc-server -y2.vncpasswd设置pwd3./etc/sysconfig/vncserversVNCSERVER ="1:root"VNCSERVERARGS[1]:"-geometry 800x600"4./root/.vnc/xstartup 采用默认的配置。

2016-03-03 19:45:07 7746

原创 Anakia 转换xml文档为其他格式

一.简介 Anakia 使用JDOM 和Velocity将XML文档转换为特定格式的文档二.解析xml文档方法1.DOMjava jdk,xml-api.jar 需要加载整个xml文档来构建层次结构2.SAX(Simple API for XML)基于事件模型,不需要读取整个xml文档3.JDOM(Java-based Document Object Model)本身不包含解析器,通常使用SAX

2016-01-05 18:23:28 1212

原创 introduction of velocity

introduction of velocity一.velocity 简介基于java 的模板引擎,apache 旗下的开源软件项目。 目的在于隔离 表示层和业务逻辑层,当然现在做的不仅仅是这些。二.应用场景web 应用程序:创建html页面,页面的动态信息有velocity框架来处理 意味着可以不使用JSP等动态语言源代码生成:基于模板生成java,sql源代码email 生成:将邮件模

2016-01-04 13:55:04 794

原创 struts1.x mvc简单例程

因为项目需要,需要使用struts1.x 。因此学习下struts框架。 例程从struts 实现MVC框架入手,完成一次request请求。 一.前台 两个jsp文件 index.jsp: 只有一个button按钮,发送request请求<%@ page language="java" contentType="text/html; charset=UTF-8" pageEnco

2015-10-20 19:00:48 772

原创 window.open 打开子窗口,关闭所有的子窗口

需求:通过window.open方法打开了子窗口,当关闭主窗口时,子窗口应当也关闭。 实现思路: 1.打开子窗口函数window.open(url,winName)的第二个参数winName可以唯一标识打开的窗口。因此关闭子窗口只需要使用winName.close()函数即可。 2.一个页面可能有多个子窗口。因此需要一个数组存储所有子窗口对象。关闭时,遍历数组即可。 3.子窗口还可以再打开子

2015-08-02 15:21:02 4231

原创 JqGrid 显示表格

JqGrid 是前台的表格显示库,使用起来相当方便。 这里分享下本人使用过程中遇到的问题及解决方案 **一.rowNum属性** 1.如果不设置,默认显示数是20,也就是说超过20以后的数据。不再显示出来。初次使用JqGrid的经常忽视此属性,导致后期显示出现问题2.-1 rowNum=-1时忽略显示行最大值的检查。一劳永逸。怎么样数据都可以显示出来。但是本人在使用过程中发现设置rowNum

2015-06-10 09:02:18 3204

红外智能交通劝导系统

低功耗的MSP430单片机作为微控制器,将红外检测模块和噪声检测模块结合起来共同反映人流量的大小以此提高检测的准确性。将检测的结果传送给语音提示模块和上位机控制模块,播放的语音大小与人流量成正相关,以此提醒人们按照交通规则安全通过马路,而且上位机界面可以将采集的信息显示出来并能对语音模块进行实时控制。

2013-03-31

基于msp430的点光源跟踪系统源码

基于msp430F149的点光源跟踪系统,ADC4路采样,经处理后控制步进电机的运动,实现了X,Y,两个自由度的运动。能很好跟综到点光源,经过硬件反复调试,完全可以使用。方便移植到各类平台

2012-07-23

基于6410的温湿度传感器驱动模块源码

基于Linux的温湿度传感器模块,含硬件电路图,驱动程序,应用程序。代码注释详细,易读,非常方便移植带各类arm平台。

2012-07-01

基于s3c6410的linux下网络服务器移植程序源码

基于s3c6410的网络服务器程序的实现,非常方便移植到各类arm平台,代码易读,非常容易学习

2012-06-23

基于S3C6410 linux下无线模块之wifi驱动程序源码

基于s3c6410的gps无线模块功能的实现,包括驱动程序.ko文件,还附有测试程序,非常方便移植到各类arm平台

2012-06-23

基于s3c6410的linux无线模块之wifi的驱动程序源码

基于s3c6410的gps无线模块功能的实现,包括驱动程序.ko文件,还附有测试程序,非常方便移植到各类arm平台

2012-06-23

基于s3c6410linux编程gpS无线模块的源码

基于s3c6410的gps无线模块功能的实现,包括驱动程序.ko文件,还附有测试程序,非常方便移植到各类arm平台

2012-06-23

基于s3c6410的linux·编程gprs的实现

基于s3c6410的gprs模块功能的实现,包括驱动程序.ko文件,还附有测试程序,平台方便移植

2012-06-23

基于linux下串口通信例程(按键驱动)

基于linux下的串口通信例程,通过向内核加载矩阵键盘的驱动,实现扫描某个键盘按下后,发送。当按下另外一个按键时,发送另外一个数据。本实验已在三星6410平台上移植成功了。 此为键盘驱动程序直接加载到内核即可(内核版本2.6.21)

2012-06-19

linux下串口通信例程(按键控制)

基于linux下的串口通信例程,通过向内核加载矩阵键盘的驱动,实现扫描某个键盘按下后,发送,,,。当按下另外一个按键时,发送另外一个数据。本实验已在三星6410平台上移植成功了。 请下载时注意下载键盘驱动程序

2012-06-19

linux 下简单网络服务器的配置

基于6410的web服务器的配置,代码易懂,方便移植

2012-06-06

linux下串口通讯实例

基于6410的linux串口通讯实验,代码易懂,方便移植

2012-06-06

linux下多线程的例子

基于6410的linux下多线程源码。很简单,方便移植

2012-06-06

各种典型的pcb封装库

pcb封装 ,包含各种库,三极管运放,电阻,电容,电感。按键。

2012-05-25

典型的pcb封装

pcb封装 ,包含各种库,三极管运放,电阻,电容,电感。按键。

2012-05-25

arm2440开发原理图

arm2440开发原理图

2012-05-25

ajax技术简介

很基础的ajax技术简介,很适合初学者入门参考资料,是杨老师上课的经典PPT,希望能够帮到初学者的你,高手请绕道。

2012-01-05

数据库基本知识

数据结构很全很基础的课件,杨建明老师的倾心之作,非常适合初学者的入门参考资料,高手请绕道。里面还有大量的例子,可供参考。

2011-11-24

servlet和jsp初步课件

很全很基础servlet和jsp的入门课件,知识点很全面,深入浅出讲解的很到位,还有大量丰富的例子,是初学者很好的参考资料。

2011-11-22

WEB开发应用导论

很基础的网页制作课件,WEB应用开发导论。包括HTML,CSS,JAVASCRIPT.还有大量的实例。事先申明文档很基础,适合初学者,刚入门的。高手请绕道。

2011-11-14

WEB应用开发导论

很基础的网页制作课件,WEB应用开发导论。包括HTML,CSS,JAVASCRIPT.还有大量的实例。事先申明文档很基础,适合初学者,刚入门的。高手请绕道。

2011-11-14

WEB应用开发

很基础的网页制作课件,WEB应用开发导论。包括HTML,CSS,JAVASCRIPT.还有大量的实例。事先申明文档很基础,适合初学者,刚入门的。高手请绕道。

2011-11-14

web开发基础课件和实例

很基础的网页制作课件,WEB应用开发导论。包括HTML,CSS,JAVASCRIPT.还有大量的实例。事先申明文档很基础,适合初学者,刚入门的。高手请绕道。

2011-11-14

智能循迹小车

比较完整的智能小车芯片资料,以及项目报告,是资源的整合,也是自己2个循迹小车的总结,

2011-10-18

超全的74系列资料和苦心积累的芯片资料

非常全面的74系列芯片资料,是硬件开发者和学生不可多得的查询资料,还附有笔者自己平时所用到的一些芯片资料,希望对大家有帮助

2011-09-03

C语言经典习题及上机指导

很实用的C练习,学习辅导资料。里面有课后习题,典型例题。以及实验详细课程,是不可多得的C学习资料,后面更是附有几份C等级考试资料,对想考证的同学也有一定的帮助。

2011-09-02

空空如也

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

TA关注的人

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