自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(104)
  • 资源 (51)
  • 问答 (1)
  • 收藏
  • 关注

转载 缓存-ehcache 集群缓存的同步

hoojo学习在于积累:滴水可以石穿!学而不思则罔,思而不学则殆! 博客园  首页   博问   闪存   新随笔   联系   订阅 管理 随笔-153  评论-1239  文章-3  trackbacks-0 EhCache 分布式缓存/缓存集群开发环境: System:Windows JavaEE S

2016-08-27 16:21:11 15932

转载 缓存-为什么需要使用分布式缓存

转载:http://in.relation.to/Bloggers/StrongLiu为什么需要使用分布式缓存(数据网格)呢? 本文旨在回到这个问题.首先, 它是进化的产物.本地缓存 > 集群缓存 > 分布式缓存(数据网格)使用分布式缓存的原因中包括了为什么使用缓存集群, 而使用缓存集群的原因中包括了为什么使用本地缓存.(译注: 这句话感觉上真怪.)性能访问本地缓存中的

2016-08-27 15:45:23 16143

原创 缓存基础- 缓存包含哪些

目前缓存有本地缓存,集群缓存, 分布式缓存;本地缓存:小应用使用,不需要多个tomcat的情况;集群缓存:多台tomcat之间的缓存,需要保持缓存之间的同步,要看下缓存之间是怎么同步的。目前我司采取的方案,是更新了一个缓存,然后发起http 同步缓存。这样缺点1:如果有很多台tomcat的缓存,需要全部同步,很难保证 所有的tomcat的缓存同步。缺点2:如果有的api操作里面,有

2016-08-27 15:43:39 798

原创 解决方案之‘Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.NullPoi

springboot 2.6 和swagger3 不兼容。

2023-08-10 15:46:22 83

原创 Redisson分布式锁学习总结:RedissonRedLock 是如何实现 RedLock 算法的?

1、RedLock 算法1.1、RedLock 算法是什么?Redis 作者对于分布式锁提出的一种加锁算法,其实核心非常简单:假设redis集群中有N个redis节点,只有当客户端成功在 N/2+1 个实例中成功加锁成功,才算成功持有分布式锁。当然了,这算法里面还有很多其他的小细节,如果大家感兴趣,可以看看 redis 官网关于 RedLock 算法的介绍,是非常详细的。RedLock算法那么,Redisson 有对应的实现么?那是必须有的,各种锁都提供了,难道还会缺这个么?同时,我们可以在官网

2022-05-17 06:51:37 873

原创 light-task 本地项目如何调试

一:项目结构:解释说明:lts:管理 子包的jar 包的xml 的项目lts-admin : 界面管理,有个问题是通过脚本启动是空白,必须通过容器来启动了lts-core: 主要是netty 交互核心代码,zookerr 订阅中心lts-jobclient: 反馈的客户端lts-jobtracker: 派遣分布式的任务lts-monitor:监控自身应用的jvmlts-spring : lts 和spring 结合的lts-startup:bat 就是通过这个startu

2022-05-15 13:43:57 276

原创 light task schedule的定时任务实现源码解析

简单摘要

2022-05-15 11:46:50 300

原创 idea 解除和项目的关联

jjj

2022-04-28 07:26:08 607

原创 03 并发用户数怎么计算么

QPS(TPS)=并发数/平均响应时间这样的话,在使用过程中,一个团队或企业从上到下都具有同样的概念意识,就可以避免出现沟通上的偏差。我说一个故事。我以前接触过一个咨询项目。在我接触之前,性能测试团队一直给老板汇报着一个数据,那就是 10000TPS。并且在每个版本之后,都会出一个性能测试报告,老板一看,这个数据并没有少于 10000TPS,很好。 后来,我进去一看,他们一直提的这个 10000TPS 指的是单业务的订单,并且是最基础的订单逻辑。那么问题来了,如果混合起来会怎么样呢?于是我就让他们做个.

2020-05-22 14:14:50 440

原创 性能tps

我们在上一篇文章中讲了性能测试的概念,肯定会有人觉得,那些概念很重要,怎么能轻易抹杀呢?那么,在今天的文章中,我们就来扒一扒性能场景,看看概念与实际之间的差别。前面我们说了性能要有场景,也说了性能场景要有基准性能场景、容量性能场景、稳定性性能场景、异常性能场景。在我有限的十几年性能生涯中,从来没有见过有一个性能场景可以超出这几个分类。下面我将对前面说到的概念进行一一对应。学习性能的人,一定看吐过一张图,现在让你再吐一次。如下:在这个图中,定义了三条曲线、三个区域、两个点以及三个状态描述。三条曲线:吞吐量的曲

2020-05-22 13:24:02 351

原创 性能测试概念到底是设么

在性能测试行业中,长久以来,都存在几个关键的概念误差。在我从业性能测试十几年的经历中,也看到过书籍或网上传播着各种性能测试的概念、方法论等,但是究其本质,再对应到具体的项目工作中,我发现这些概念以及方法论实在没有指导的价值,并且有些概念的产出,也没有确凿的证据来源。所以在今天,专栏正式更新的第一天,我希望能把这些内容做些梳理,同时这些梳理的内容也会对应到后续的篇幅之中,以便保持理念的一致性。性能测试概念我们经常看到的性能测试概念,有人或称之为性能策略,或称之为性能方法,或称之为性能场景分类,大概可以看到性能

2020-05-22 13:10:55 132

原创 Linux 查看jvm的内存

1 linux下如何查看jvm的内存呢,通过top命令的Res看吗回到:不能,因为top命令下的Res包含JAVA进程内存 = JVM进程内存+heap内存+ 永久代内存+ 本地方法栈内存+线程栈内存 +堆外内存 +socket 缓冲区内存+元空间linux内存和JAVA堆中的关系RES = JAVA正在存活的内存对象大小 + 未回收的对象大小 + 其它VIART= JAVA中...

2020-05-07 10:30:16 2059

原创 java jar 运行的时候需要打包依赖的包,过程

https://www.cnblogs.com/cnndevelop/p/9897784.html使用这个打包:<build> <!-- mvn assembly:assembly -Dmaven.test.skip=true --> <plugins> <plugin> ...

2019-11-19 11:49:44 263

原创 解决springboot整合shiro后过滤器执行顺序的问题

解决springboot整合shiro后过滤器执行顺序的问题主要是Springboot 把过滤器变成了全局过滤器,不属于shiro内部的过滤器。shiroFilter 集成了过滤器filterchain 模式的;1.问题如下:springboot 整合shiro 后出现了 对静态资源(js,css,jpg)的也会进行拦截,但是我们的配置如下,,@Bean pu...

2019-09-01 14:23:19 5847 4

原创 断路器 Hystrix 源码解析 —— 断路器 HystrixCircuitBreaker

0 参考网站:1. 概述 参数: 2. HystrixCircuitBreaker 3. HystrixCircuitBreaker.Factory 4. HystrixCircuitBreakerImpl 4.1 构造方法 4.2 #subscribeToStream() 4.3 #attemptExecution() 4.4 #markSuccess() 4.5 #...

2019-04-06 16:58:58 614

原创 Springboot 一个项目多个端口启动

IDEA一个工程如何启动多次2017年12月28日 09:02:10一只想飞的追梦者阅读数:4937step 1在IDEA上点击Application右边的下三角,弹出选项后,点击Edit Configurationstep 2打开配置后,将默认的Single instance only(单实例)的钩去掉。step 3通过加入-Dserver.port=8...

2019-03-02 16:50:36 9133 1

转载 springmvc HandlerMapping和HandlerAdapter

作用是根据当前请求的找到对应的 Handler,并将 Handler(执行程序)与一堆 HandlerInterceptor(拦截器)封装到 HandlerExecutionChain 对象中。在 HandlerMapping 接口的内部只有一个方法,如下:HandlerExecutionChain getHandler(HttpServletRequest request);Handler...

2018-12-02 18:25:08 334

转载 Springmvc- DispatchServlet初始化九大加载策略(一)

SpringMVC 容器初始化时,? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 protected void onRefresh(ApplicationContext context) {     this.ini...

2018-12-02 16:04:25 245

原创 消息最佳使用方式

以后所有的消息,都实现onMessage方式,能改编继承我的然后body是业务数据;QfMessage:{ body} body使用json;

2018-07-14 17:36:27 214

原创 Rabbitmq 的死消息队列的坑

默认消息异常之后,都会往死消息队列里面写,然而异常是放到一个header里面去的。默认消息队列支持的最大frame_max 是128kb,超过这个大小,服务器就主动给你关闭连接,然后把你的消息会不断的重试。建议生产情况不要使用死队列,或者是重写死队列的发布,不把堆栈放到header去。...

2018-07-14 17:17:24 4006

转载 myeclipse2016破解过程

1.安装myeclipse2016 CI 7就不介绍了。。只需要注意最后安装完成后取消对号。不要立即运行myeclipse2016。 2.下载破解版工具。 到以下网址下载破解工具:http://download.csdn.net/download/xcw931924821/102684163.然后解压下载到的破解工具,解压文件之后,找到plugins文件: 将plugins下问所有文件copy到m...

2018-03-04 12:34:13 353

转载 为什么说传统分布式事务不再适用于微服务架构

http://wely.iteye.com/blog/2351228传统应用使用本地事务和分布式事务保证数据一致性,但是在微服务架构中数据都是服务私有的,需要通过服务提供的API来访问,所以分布式事务不再适用微服务架构。那么微服务架构又该如何保证数据一致性呢?本文就来谈谈这个话题。传统分布式事务不是微服务中数据一致性的最佳选择微服务架构中应满足数据最终一致性原则

2017-03-06 08:04:38 449

转载 为什么说传统分布式事务不再适用于微服务架构

http://wely.iteye.com/blog/2351228传统应用使用本地事务和分布式事务保证数据一致性,但是在微服务架构中数据都是服务私有的,需要通过服务提供的API来访问,所以分布式事务不再适用微服务架构。那么微服务架构又该如何保证数据一致性呢?本文就来谈谈这个话题。传统分布式事务不是微服务中数据一致性的最佳选择微服务架构中应满足数据最终一致性原则

2017-03-06 08:03:05 332

转载 主要垃圾回收算法与Hotspot VM垃圾回收器实现

垃圾回收算法引用计数法统计每个存活对象的引用次数,引用次数为0的对象视为待回收的垃圾对象。 引用计数法的弊端是无法回收循环引用的对象。如A引用B,B引用A,同时A和B都没有其他引用,此时A和B应该都是待回收的垃圾对象,但引用计数法无法识别。 因此,引用计数法已几乎不再被现代的编程语言使用。而是以另一种称为“可达性分析”的算法替代,下述的标记-清除、拷贝、标记-压缩算法都属于可达

2017-02-19 21:06:59 803

转载 关于GC算法

在介绍GC之前有必要先了解一下JVM的内存划分,这样在后面介绍GC和各种不同的GC collector的时候更容易理解。下面这张图是“偷”的别人的,很经典的描述了jvm的体系结构,我们只需要关注最大的那一块——运行时数据区域。运行时区顾名思义是jvm在运行时的内存结构,主要有以下5种。1.方法区方法区是各个线程共享的一块内存区域,当虚拟机装载一个clas

2017-02-19 21:00:58 310

转载 gc-内存结构

java内存组成介绍:堆(Heap)和非堆(Non-heap)内存       按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发

2017-02-18 21:05:14 457

转载 Java GC基本算法

1、JVM内存组成结构JVM内存结构由堆、栈、本地方法栈、方法区等部分组成,结构图如下所示:1)堆所有通过new创建的对象的内存都在堆中分配,其大小可以通过-Xmx和-Xms来控制。堆被划分为新生代和旧生代,新生代又被进一步划分为Eden和Survivor区,Survivor由FromSpace和ToSpace组成,结构图如下所示:

2017-02-18 20:46:33 262

转载 jVMgc-6 吞吐量收集器

JVM实用参数-6 吞吐量收集器在实践中我们发现对于大多数的应用领域,评估一个垃圾收集(GC)算法如何根据如下两个标准:  吞吐量越高算法越好暂停时间越短算法越好首先让我们来明确垃圾收集(GC)中的两个术语:吞吐量(throughput)和暂停时间(pause times)。 JVM在专门的线程(GC threads)中执行GC。 只要GC线程是活动的,它们将与应用程序线程(app

2017-02-18 20:27:40 490

转载 非常详细GC学习笔记

是我公司同事的GC学习笔记,写得蛮详细的,由浅入深,循序渐进,让人一看就懂,特转到这里。一、GC特性以及各种GC的选择1、垃圾回收器的特性2、对垃圾回收器的选择2.1 连续 VS. 并行2.2 并发 VS. stop-the-world2.3 压缩 VS. 不压缩 VS. 复制二、GC性能指标三、分代回收四、J2SE 5.0的

2017-02-18 16:55:54 240

转载 web应用程序最好选择cms收集器,低暂停,

JVM实用参数-6 吞吐量收集器在实践中我们发现对于大多数的应用领域,评估一个垃圾收集(GC)算法如何根据如下两个标准:  吞吐量越高算法越好暂停时间越短算法越好首先让我们来明确垃圾收集(GC)中的两个术语:吞吐量(throughput)和暂停时间(pause times)。 JVM在专门的线程(GC threads)中执行GC。 只要GC线程是活动的,它们将与应用程序线程(app

2017-02-18 16:46:08 932

翻译 Minor GC、Major GC和Full GC之间的区别

首页所有文章资讯Web架构基础技术书籍教程Java小组工具资源- 导航条 -首页所有文章资讯Web架构基础技术书籍教程Java小组工具资源Minor GC、Major GC和Full GC之间的区别2015/04/24 | 分类: 基础技术 | 3 条评论 | 标签: JAVA GC

2017-02-18 16:02:48 379

转载 CMS,全称Concurrent Low Pause Collector gc

首先感谢阿宝同学的帮助,我才对这个gc算法的调整有了一定的认识,而不是停留在过去仅仅了解的阶段。在读过sun的文档和跟阿宝讨论之后,做个小小的总结,如果有谬误,敬请指正。    CMS,全称Concurrent Low Pause Collector,是jdk1.4后期版本开始引入的新gc算法,在jdk5和jdk6中得到了进一步改进,它的主要适合场景是对响应时间的重要性需求 大于对吞吐量的要求

2017-02-18 16:01:13 1046

转载 jvm 垃圾收集器详解

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]HotSpot JVM收集器              上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。Serial(串行GC)收集器Serial收集器是一个新生代收集器,单线程执行,使用复制算法

2017-02-18 15:40:15 334

原创 总结的堆和gc算法的网站

1) http://www.cfanz.cn/index.php?c=article&a=read&id=312707 参数-Xmn1m可以用于设置新生代的大小。设置一个较大的新生代会影响老生代的大小,因为这两者的总和是一定的,这个系统参数对于系统性能以及GC行为有很大的影响,新生代一般设置为整个堆空间的1/3到1/4左右最合适-vmargs -Xms128M -Xmx

2017-02-18 15:36:10 392

原创 java对象覆写hashCode equal方法

1.为什么要重写hashCode方法?当自己要新建一个class,并要把这个类放到HashMap的key时候,需要覆写这两个办法。如果不覆写,放入两个新的对象,可能会是不相等的.可能是不同的key,产生了多条记录。在java的集合中,判断两个对象是否相等的规则是:首先,判断两个对象的hashCode是否相等如果不相等,认为两个对象也不相等如果相等,则

2017-02-18 13:28:30 831

原创 springcloud(第一篇)springcloud eureka 服务注册与发现

spring cloud eurekaeureka 用以服务发现、服务注册,比较流行的有consul简介eureka为netflix开源软件,分为三个部分:eureka服务:用以提供服务注册、发现,已一个war的形式提供http://search.maven.org/#search%7Cga%7C1%7Ceureka-server 或者编译源码,将war拷贝

2016-12-22 16:18:28 3072

原创 ActiveMQ中的消息重发时间间隔和重发次数吗?

首先,我们得大概了解下,在哪些情况下,ActiveMQ服务器会将消息重发给消费者,这里为简单起见,假定采用的消息发送模式为队列(即消息发送者和消息接收者)。      1.如果消息接收者在处理完一条消息的处理过程后没有对MOM进行应答,则该消息将由MOM重发.      2.如果我们队某个队列设置了预读参数(consumer.prefetchSize),如果消息接收者在处理第一条消

2016-10-11 16:42:10 7852

转载 ActivityMQ 事务

Spring提供了一个JmsTransactionManager用于对JMS ConnectionFactory做事务管理。这将允许JMS应用利用Spring的事务管理特性。JmsTransactionManager在执行本地资源事务管理时将从指定的ConnectionFactory绑定一个ConnectionFactory/Session这样的配对到线程中。JmsTemplate会自动检测这样的

2016-10-11 16:12:33 2287 1

转载 Jboss rules规则引擎 Drools 6.4.0 Final 教程(1)

http://blog.csdn.net/easy_to_know/article/details/51705654?ticket=ST-305441-diFpuy4yJ3M5FNSYqpOD-passport.csdn.net

2016-09-12 15:31:10 491

转载 专访吕毅:链家网技术架构的演进之路

链家网虽然成立于2010年,但是其技术团队却于2014年正式创立。此前技术开发采用的是传统模式,每个业务都会单独地重新开发,不仅造成各个模块孤立,并且开发人力投入成本巨大。鉴于互联网时代企业业务发展迅速,原有的传统化方式已经不适用,链家网正式建立技术团队,在原有的传统架构基础上开始了优化工作。团队对已有的业务进行抽象,将各个业务模块中的公共部分综合出来,据此添加了一层公共的服务层,实现了平台服

2016-09-08 22:12:53 4603

TSC指令中文手册,TSC指令中文手册

TSC指令中文手册,TSC指令中文手册,TSC指令中文手册

2024-03-25

InnoSetup 的制作安装包的中文版本

InnoSetup 的制作安装包的中文版本,制作出来的软件可以是中文的

2023-09-13

KB29992262,c++必备的库

KB2999226-x64/x86.msu是系统必备的文件之一,很多系统及软件都需要KB2999226-x64/x86.msu的支持,kb2999226是windows7操作系统的一个重要更新,主要解决了通用c运行库的已知问题

2022-05-18

工作总结优秀模版-带图表.pptx

述职报告,适应于各种场合的述职,能处理大多数部门的情况。 带有精美的图表,各种统计报表样式,各种统计报表样式各种统计报表样式

2020-07-09

musical.ly微服务化之路 current.pdf

大型公司的微服务化之路的实践和采坑,

2019-07-23

redis设计与实现(第二版)带导航.rar

redis设计与实现(第二版)

2019-07-23

领域驱动设计方案.zip

领域驱动设计

2019-07-23

chromedriver.rar2.4.2

python chrome driver2.4.2 自动化

2019-07-11

微服务设计(中文完整版).pdf

微服务设计(中文完整版).pdf

2019-06-14

高并发编程实战1,2,3阶段

高并发编程实战1,2,3阶段视屏,

2019-01-13

数据库迁移工具

支持sqlserver,mysql,pgsql,oracel 相互转化工具,支持sqlserver,mysql,pgsql,oracel 相互转化工具

2018-07-14

架构设计模版

软件架构设计模版 软件架构设计模版 软件架构设计模版

2018-03-06

myeclipse(windows)-2016-CI-7破解文件

myeclipse(windows)-2016-CI-7破解文件.myeclipse(windows)-2016-CI-7破解文件

2018-03-04

sonar 6 汉化jar

sonar 6 汉化

2016-12-04

spring websocket

spring websocket

2016-11-09

drools6的demo

drools6的demo

2016-10-11

drools初学者的demo

drools初学者的demo

2016-09-30

drools5 eclipsejar

drools5 eclipsejar

2016-09-09

FreeMarker 中文下载

FreeMarker 中文下载

2015-06-01

mybatis generator eclipse 插件

mybatis-generator eclipse插件离线安装包,安装方式,解压后将目录中的文件复制到eclipse对应

2014-12-13

proguard 中文帮助文档

proguard 很好的中文帮助文档手册。proguard 很好的中文帮助文档手册

2014-09-28

maven in action.pdf

maven in action.pdf

2014-09-10

jsp 开源oa 项目

这是个开源的jsp oa 项目,可以做二次开发

2014-06-02

Zend Studio 10的破解文件

Zend Studio 10的破解文件,确实不好找,很多网站提供的都是错误还要积分,这里特为大家整理了下。希望大家积极反馈。 大家要先确认自己软件的版本选择: zend studio 10.1.0 破解文件 包括注册机、破解文件及序列号(如果不行就可用注册机自己生成) 将com.zend.php.core_10.1.0.201306250232.jar复制到plugins目录下就可以了 zend studio 10.0.1 破解文件 下载成功后(提示:破解文件千万不要解压,也不要修改破解文件的文件名)复制到你安装Zend Studio 10.0.1的plugins目录下,覆盖同名文件。启动后填入注册码即可。

2014-03-11

apache64服务器下载

apache 64,apache 64,apache 64,apache 64

2014-03-11

MyEclipse10.7.1完美破解war 包导出的问题.

Myeclipse10.7.1完美破解 解决之前破解后,导出war包时报“SECURITY ALERT: INTEGERITY CHECK ERROR” 注意:war报错解决,仅对10.7.1有效

2014-02-24

apk 可视化一键反编译工具

apk 可视化一键反编译工具对对对 的堵塞的的

2013-11-06

memcached windows xp 的稳定版

memcached windows xp 的稳定版

2013-10-17

spring security3 中文版本

spring security3 中文版本

2013-10-17

多指放大缩小imageview

此工具类就是一个多指放大缩小的类.可以节省自己的开发时间。

2013-07-19

android ,java 编码规范

这是一款 android ,java 方面的编码规范。

2013-04-17

web 后台管理系统模板

web 后台管理系统模板, 很多相同的都可以用。

2013-03-18

myeclipse 5.5 以上 注册机 keygen

myeclipse 密钥生成器,注册机 。通过该注册机可以随意生成注册吗

2013-03-18

android 2.3 chm 帮助文档

android chm ,可以访问android 里面,类的用法。

2012-12-03

html5 ppt 的相关知识

这是有关html5 相关ppt 能让你更快的认识html5 .

2012-12-03

html5.chm 帮助文档

HTML5是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准的 HTML 标准版本,现在仍处于发展阶段,但大部分浏览器已经支持某些 HTML5 技术。HTML 5有两大特点:首先,强化了 Web 网页的表现性能。其次,追加了本地数据库等 Web 应用的功能。广义论及HTML5时,实际指的是包括HTML、CSS和JavaScript在内的一套技术组合。它希望能够减少浏览器对于需要插件的丰富性网络应用服务(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight,与Oracle JavaFX的需求,并且提供更多能有效增强网络应用的标准集。 开发html5 帮组文档

2012-12-03

sqlyong 含注册码

 SQLyog是业界著名的Webyog公司出品的一款简洁高效、功能强大的图形化MySQL数据库管理工具。使用SQLyog可以快速直观地让您从世界的任何角落通过网络来维护远端的MySQL数据库。

2012-12-03

pingyin 2.4jar + src(汉语转拼音)

java 汉语转拼音,提供jar 包,与提供源码

2012-05-02

android 线程池下载

Android 下利用http 协议,用系统自带的线程池做的下载

2012-02-15

java 汉字转拼音词汇表

实现汉字转拼音,还可以得到汉字的首写字母,支持上万个汉字的转化(包括多音字),一个很好的java工具类,附带多音字词汇表。

2012-02-06

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

TA关注的人

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