自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BXA

从抽象的角度了解AI生命,时刻把握编程的魅力。

  • 博客(356)
  • 资源 (16)
  • 收藏
  • 关注

原创 Kafka Connect详解及应用实践

Kafka Connect是一个用于数据导入和导出的工具。它能够把多种数据源(如MySQL,HDFS等)与Kafka之间进行连接,实现数据在不同系统之间的交互以及数据的流动。扩展性:Kafka Connect支持自定义Connector,用户可以通过编写自己的Connector来实现与更多数据源进行连接。可靠性:Kafka Connect通过使用Kafka本身提供的数据复制机制,保证了数据的可靠性。

2023-07-17 18:43:05 2833

原创 Elasticsearch 高级查询技巧

Elasticsearch 是一个开源的分布式搜索和分析引擎,它构建在 Apache Lucene 之上。它提供了分布式的实时搜索和分析功能,能够处理海量数据,并以毫秒级的响应时间返回查询结果。Elasticsearch 使用 JSON 格式来存储、搜索和分析数据。

2023-07-16 17:13:15 608

原创 Elasticsearch 查询分析器简介

Elasticsearch 是一个开源的分布式搜索和分析引擎,它提供了强大的查询和分析功能。它基于 Apache Lucene 构建,支持大规模数据的实时搜索,并具有高可用性和可扩展性。代码示例// 在这里实现自定义的 tokenizer 逻辑 return new CustomTokenizer();// 实现自定义 tokenizer 的逻辑 @Override public Token next() throws IOException {// 返回下一个 token } }代码示例。

2023-07-15 17:52:41 2773

原创 Kafka底层原理探秘

Kafka 是一个分布式流处理平台由 LinkedIn 公司开发的,遵循 Apache 开源协议。Kafka 主要是用来处理实时数据流,可以发布、订阅、存储和处理数据。日志收集:用于分布式日志系统,例如 ELK。消息系统:可以将 Kafka 作为消息队列使用。流处理:将 Kafka 与 Flink 或 Spark 等流处理引擎配合使用。Producer:发送数据到 Kafka 集群。Consumer:从 Kafka 集群消费数据。

2023-07-14 16:09:26 1200

原创 Redis 的五种数据类型以及使用场景

Redis的setnx命令可以在key不存在时设置key的值,因此可以基于此实现分布式锁。一个进程在执行加锁操作时,先尝试使用setnx占据锁的key,如果返回值为1,表示获得了锁;Redis提供了消息队列功能,可以作为轻量级的消息中间件使用,支持多个生产者和消费者。Redis 可以将常用的数据存储在内存中,并且设置过期时间来实现缓存的功能。当应用需要这些数据时,可以直接从 Redis 中获取,避免了从磁盘读取数据的IO操作,从而提高了系统的响应时间和吞吐量。

2023-07-12 21:39:56 2610

原创 Kafka 消费者重平衡机制详解

Kafka消费者是指从Kafka集群中读取消息的客户端应用程序。消费者使用Kafka提供的API来订阅一个或多个主题,然后从主题中拉取消息,并对消息进行处理。Kafka消费者能够以非常高效的方式读取海量、分布式的数据流,并将其转化为有用的业务实现。重平衡是指在消费者加入或离开消费者群组时,由消费者协调器(Coordinator)发起的重新分配分区的过程。在重平衡过程中,消费者会停止读取消息,释放已经持有的分区并重新分配新的分区,从而实现消费者负载均衡,避免某些消费者处理过多的消息,而其他消费者处于空闲状态。

2023-07-08 21:01:35 1451

原创 Kafka高性能集群部署与优化

Kafka是由Apache Software Foundation开发的一个分布式流处理平台,源代码以Scala编写。Kafka最初是由LinkedIn公司开发的,于2011年成为Apache的顶级项目之一。高吞吐量:Kafka每秒可以处理数百万条消息。持久化:数据存储在硬盘上,支持数据可靠性和持久性。分布式:Kafka集群可以在多台服务器上运行,提供高可用性和容错性。多语言支持:Kafka提供多种编程语言的客户端API,包括Java、Python、Go等。

2023-07-07 09:10:45 2192

原创 Kafka消息传递保障——事务与幂等

消息传递保障对于分布式系统的可靠性至关重要。在分布式系统中消息传递保障是确保系统可靠性的核心问题之一。系统需要确保消息能够按照预期的方式进行传递,以满足业务需求。Kafka是一种分布式的消息队列系统,作为消息中间件常用于实现基于发布/订阅模型的消息传递服务。因此在Kafka中需要提供消息传递保障。

2023-07-04 19:49:37 1733

原创 Kafka如何处理存储实现上的并发访问问题

Kafka 是一个分布式的消息队列,主要使用文件系统存储消息数据,支持发布订阅模式以及处理流式数据。在多个 Topic 和 Partition 存储操作时,会产生并发访问和数据冲突等问题。

2023-07-03 06:26:29 949

原创 使用 Redis 实现秒杀系统

秒杀系统是指在一个非常短的时间内(通常是几十秒钟),将某种商品或服务以极低的价格进行销售。这种销售方式需要保证高并发和高可用性,同时防止超卖和恶意攻击等问题。秒杀系统的特点是大量的用户在同一时间瞬间涌入服务器,该类型的高并发读写操作对系统性能提出了较高的要求。Redis(Remote Dictionary Server)是一个开源、支持网络、基于内存、键值对存储数据库。它支持多种数据结构,如字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。

2023-06-29 21:31:42 3368

原创 Spring Cloud Stream:实时数据流处理

Spring Cloud Stream是一个用于构建基于事件驱动的微服务的框架。它可以让应用程序通过消息代理与其他系统进行交互,支持多种消息代理实现。Spring Cloud Stream不仅提供了使用消息代理进行通信的API,还提供了一些额外的特性,如数据流处理、可观察性和分布式追踪等。Spring Cloud Stream为开发者提供了一致的编程模型和DSL。在 Spring Cloud Stream 中,消息通道是显式定义的。定义消息通道可以使用@Input和@Output注解。

2023-06-27 23:22:49 835 4

原创 Spring Cloud之Vault实践踩坑记录

Vault 是 HashiCorp 公司开发的一个开源项目,用于管理机密信息,例如 API 密钥、密码、证书等。它提供了一种集中式的管理方式来保护敏感的数据,同时也提供了访问控制和加密服务等。使用 Vault 能够更安全地管理敏感信息,并且可以从应用程序代码中抽象出来,从而简化管理和减少泄露风险。

2023-06-27 06:02:18 745

原创 Redis 高并发下的性能优化技术

Redis是一款高性能的键值存储数据库。与传统的数据库相比,Redis拥有更高的读写速度以及更丰富的数据结构支持。尽管Redis拥有出色的性能表现,但在高并发场景下其仍存在着一些性能问题需要我们注意。本文将围绕这些问题进行分析,并提供一些解决方案。Redis采用单进程单线程模型,通过事件驱动机制提高其并发性能。其内部包含多个模块,包括网络连接、命令请求处理、持久化管理等。在高并发下,对于Redis性能优化的关键点是:合理设置连接数、降低操作时间复杂度、开启持久化机制;

2023-06-24 00:08:14 3559

原创 Kafka安全性配置最佳实践

Kafka安全性配置最佳实践一、Kafka 安全性配置1. 安全配置的必要性提高 Kafka 系统的可靠性添加认证配置 代码示例:添加 SSL 配置 代码示例:二、安全性配置的要素2.1 认证2.1.1 SSL 安全协议2.1.2 SASL 验证机制2.2 授权2.2.1 ACL 权限控制2.2.2 RBAC 权限管理2.3 加密2.3.1 数据传输加密2.3.2 数据存储加密三、安全性配置实践3.1 通用实践3.1.1 安全相关配置集中管理3.1.2 支持动态安全配置更新3.1.3 数据与应用分离3.2

2023-06-21 18:13:41 3407 1

原创 Kafka与Flume的对比分析

同时,Kafka的生态也更加完善丰富,支持更多的数据类型和协议。每个Partition都有一个Offset,消费者可以跟踪每个Partition的Offset,以确保数据的正确性。Kafka是一种更通用的系统,可用于更广泛的事物(包括消息队列、事件存储或日志存储),而Flume则是专门为日志存储及采集而设。在数据处理中,Kafka具有更高的吞吐量和更低的延迟,同时也支持更高级别的语义保证。在数据管道架构中Kafka和Flume是两个非常流行的开源工具,用于在分布式环境下高效地传递数据。

2023-06-19 23:04:03 3338

原创 利用Kafka实现数据吞吐量更高的实时日志处理

Kafka是一种高吞吐量、分布式、可扩展、无中心化的消息引擎,最初由LinkedIn公司开发,后来成为了Apache的一个顶级项目。Kafka使用类别解耦的方式将消息发送者和消息接受者进行解耦合,支持发布/订阅和点对点式的消息传递机制,可满足多种场景下的数据传输需求。Kafka集群:Kafka版本:2.8.0消息存储:使用单副本分区数:3主题数:1集群规模:3个节点数据生成:使用Java编写模拟数据生成器数据格式:JSON,每条消息大小约为200B。

2023-06-18 10:37:18 3009

原创 Kafka中的leader选举算法Raft

Apache Kafka是一种流行的分布式消息队列系统,它被广泛用于解决现代应用程序中的数据传输问题。它支持高吞吐量和低延迟,可通过多个生产者分区、消费者组和分区复制实现高可靠性分布式系统。在Kafka集群中,每个分区都有一个Leader节点,负责处理该分区所有的读写请求。Leader节点会通过ZooKeeper进行注册,其他节点则作为Follower。Leader节点的重要性在于它提供了一个单点入口来确保多副本之间一致性及高可用性。

2023-06-17 06:47:41 1651 1

原创 基于Kafka和Spark实现实时计算系统

Apache Kafka是一个分布式的流处理平台。它最初是由LinkedIn开发并开源的,现在已经成为Apache软件基金会旗下的顶级项目之一。Kafka主要用于实时流数据的高吞吐量传输、存储和处理,例如日志收集、流式的ETL以及实时的Web日志等。Apache Spark是一个用于大规模数据处理的通用引擎,最初也是由Spark项目组织开发,并被捐赠给了Apache软件基金会。

2023-06-15 19:14:11 2873

原创 Kafka消息延迟处理技巧,降低错误率

在评估Kafka消息延迟处理技巧的效果时,我们需要定义合理的实验场景和测试用例。确定实验数据的发送和接收方。设定实验场景,包括动作、触发条件和结果预期等。设定测试用例,包括性能验证、负载测试和容错测试等。

2023-06-14 01:09:42 2747

原创 使用Kafka Streams进行准实时ETL数据处理

Kafka Streams是一个轻量级的,流式处理库,它可以让你在Java应用程序中进行实时、增量式的数据处理。Kafka Streams构建在Apache Kafka之上,使你可以利用Kafka的容错性,分布式工作负载和可扩展性。准实时数据处理是指在时间敏感性要求较高的场景下,尽可能地以近似实时的速度进行数据处理。这意味着需要在最短时间内处理和分析数据以及更新数据结果,并以此作为业务决策和反馈。

2023-06-12 14:18:51 1127

原创 使用 Redis 和 Lua 实现分布式锁

分布式锁是一种用于多台服务器上处理同一资源的并发访问的锁机制。它用于协调分布式系统中的各个节点,确保它们的操作不会相互干扰。Redis (Remote Dictionary Server)是一种使用 C 语言编写的,开源的 in-memory 数据库系统,支持多种数据结构类型,如字符串、哈希表、列表、集合等。由于其可高效地存储键值对,并且具有多种灵活的使用方式,因此经常被用作缓存、会话存储和消息队列等场景。

2023-06-10 21:05:07 3441

原创 Elasticsearch 原理与实践

Elasticsearch 是一个基于 Lucene 的开源分布式搜索引擎,可以用于全文搜索、结构化搜索和分析等应用领域。它最初是由 Shay Banon 开发的在 Apache 开源许可证下发布。Elasticsearch 能够快速地将各种数据存储在多个节点的集群中,并且能够提供一个统一的接口进行检索和查询。在 Elasticsearch 中索引是指一个具有类型映射的容器,可以保存多个文档。每个文档都有独立的 ID 以及相应的类型和属性。

2023-06-08 20:01:08 1783

原创 微服务治理之Spring Cloud Consul

微服务治理是指对微服务架构进行管理和控制,确保微服务系统的稳定性、可用性、灵活性和安全性。Spring Cloud Consul是Spring Cloud生态系中的一个基于HashiCorp Consul的服务注册与发现框架,它为微服务架构提供了服务治理的功能。

2023-06-08 04:41:04 711

原创 Elasticsearch 底层技术原理以及性能优化实践

Elasticsearch是一个基于Lucene库的开源搜索引擎,支持分布式、多租户和全文搜索功能。它使用了RESTful API接口可以简化对Elasticsearch的集成和扩展。Hadoop是一个开源的分布式数据处理框架,最初是为了处理大规模的结构化和半结构化数据而设计。它包括了HDFS(Hadoop Distributed File System)和MapReduce两个核心组件,可以实现大规模数据存储、处理和分析。

2023-06-06 21:52:26 1638

原创 Elasticsearch 集群架构监测 调试 优化

高性能:能够处理海量数据并实现实时搜索。其内置了负载均衡和容错机制,提供了高可用性和伸缩性。灵活性:支持文本全文检索、结构化搜索、地理位置搜索等多种搜索方式,同时支持自定义插件扩展。易用性:使用简单的RESTful API进行交互,支持HTTP/JSON等多种格式传输数据。开源性:采用Apache许可证2.0发布,没有任何商业限制。本案例研究基于Elasticsearch7.x的集群架构进行监测、调试和优化。该案例主要针对在高并发情况下,Elasticsearch搜索引擎在性能方面遇到的问题。

2023-06-05 19:32:45 1116

原创 Elasticsearch 和 Kibana 的实时大数据分析系统

Elasticsearch 是一个开源的分布式全文搜索引擎,能够处理大型数据集合并且能够实时查询。分布式架构:可以将数据分布在多台服务器上进行处理和存储,提高了系统的可靠性和扩展性。全文搜索:能够对文本内容进行全面、实时的搜索与分析,支持复杂的语法查询。多种数据类型支持:支持结构化数据、非结构化数据和地理空间数据等多种数据类型。实时性强:可以快速、实时地对大量数据进行索引和查询,并且支持集群监控和诊断工具。

2023-06-04 03:51:35 1098

原创 Java垃圾回收机制详解及性能优化

在Java程序中对象在被创建后,随着程序的执行会不断地分配内存空间。但是当这个对象再也没有被使用时,这些占用的内存空间就会变成“垃圾”,并且由于Java语言中没有手动释放内存的机制,这些垃圾将会一直占用内存空间。垃圾回收(Garbage Collection)指的是Java虚拟机在运行时自动回收那些无用的对象所占用的内存空间。垃圾回收的作用是尽可能的在有限的内存空间下有效地分配和回收内存,防止内存泄漏。

2023-06-02 10:17:48 1497 1

原创 深入理解Java虚拟机:JVM高级特性与最佳实践

Java虚拟机Java虚拟机(Java Virtual Machine,JVM)是Java语言的核心,是执行Java二进制代码的虚拟计算机。JVM本身是一个进程,负责解析Java程序并将其转换为特定平台可以执行的指令集。通过JVM,Java程序可以实现“一次编写,到处运行”的特性,使Java具有很强的平台无关特性。虚拟机体系结构JVM主要由以下三部分组成:Class Loader:类加载器,负责将编译后的Java代码转换成JVM能够理解的运行时数据结构–Class对象。

2023-06-01 23:58:39 696

原创 Java 9 模块化系统详解

Java在发展过程中逐渐变得庞大而复杂,Java应用程序的规模逐渐变大,尤其是企业级应用代码结构臃肿不断添加自定义库或第三方依赖,这样会导致潜在的问题,例如包访问冲突和兼容性影响等。因此Java SE 9 引入了一种新的模块化系统来解决这些问题。在 Java 模块中模块描述符表示了模块对其他模块的依赖、导出等信息,它是指定用于组合和部署模块化应用程序的元数据文件。有关模块中描述符的细节介绍可以参考下面的代码示例模块描述符由一系列语句和指令组成,以空格、制表符、换行符作为分隔符进行书写。

2023-06-01 08:14:00 3048

原创 Elasticsearch + Logstash + Kibana 日志分析系统搭建

Elasticsearch、Logstash 和 Kibana 组成了一个开源的日志分析系统简称 ELK Stack。Elasticsearch: 一个基于 Lucene 的搜索引擎,可以快速存储、检索和分析大量数据Logstash: 一个日志收集和处理工具,可以将来自不同来源的数据收集到 Elasticsearch 中Kibana: 一个数据可视化平台,可以实时地展示 Elasticsearch 存储的数据。

2023-05-31 18:14:56 1889 1

原创 FastJson应用与高性能优化

FastJson是阿里巴巴集团开源的一款高性能、功能强大且全面兼容Java平台的JSON处理库。它具有序列化和反序列化JSON数据的各种方式支持自定义序列化过程以及编写类型转换器等功能。FastJson被广泛应用于各个领域,例如RESTful服务、SOA架构、消息服务、分布式事务等。禁用循环引用检测,可以使用 SerializerFeature.DisableCircularReferenceDetect 属性。禁用字段排序,可以使用 SerializerFeature.SortField 属性。

2023-05-30 23:05:45 980

原创 Kafka与Flume的对比分析

Kafka的生态完善丰富支持更多的数据类型和协议。每个Partition都有一个Offset,消费者可以跟踪每个Partition的Offset,以确保数据的正确性。Kafka是一种更通用的系统,可用于更广泛的事物(包括消息队列、事件存储或日志存储),而Flume则是专门为日志存储及采集而设。在数据处理中,Kafka具有更高的吞吐量和更低的延迟,同时也支持更高级别的语义保证。在数据管道架构中,Kafka和Flume是两个非常流行的开源工具,用于在分布式环境下高效地传递数据。

2023-05-30 11:54:35 1716

原创 Java并发编程实践

并发编程是指通过设计和实现多线程程序来利用计算机资源和提高程序执行效率的编程方法。它的主要特点是多线程之间的竞争和协作关系。线程安全性是指并发编程中,在多个线程访问共享数据时,对数据的访问不会产生意料之外的后果。实现线程安全性需要从数据的状态变化过程进行分析,并采用相应的线程安全策略。

2023-05-30 08:30:46 2008 7

原创 深入理解Kafka:架构、设计原则及最佳实践

Kafka是一款由Apache开发的分布式流处理平台,它最初是由LinkedIn公司在2010年开发的。从最初的消息队列到如今的分布式流处理平台Kafka经历了一个逐步演化的过程。Kafka最开始的设计目的是解决LinkedIn内部存在的海量数据传输问题,在其不断的发展中Kafka逐渐发展成为一种可持久化、分布式、身临其境的发布/订阅消息系统。

2023-05-29 15:32:39 2423 6

原创 Java轻量级全文检索引擎Lucene使用及优化

Lucene是一个开源的全文检索引擎工具包由Doug Cutting编写。它被设计用于实现全文搜索功能,即读入一堆文本文件并将其转换为易于搜索的数据结构。Lucene提供了一组简单而强大的API,使得索引和搜索过程变得非常方便。

2023-05-29 02:03:01 3387 1

原创 通过Java Reflection实现编译时注解处理

Java注解是一种标记在JDK5及以后的版本中引入,用于Java语言中向程序添加元数据的方法。注解可以加在包、类、构造器、方法、成员变量、参数、局部变量等程序上下文中。示例:在Java中定义一个@Entity注解,那么在使用这个注解时就可以注明该类是JPA实体,自动由框架进行构建编译时注解处理器是Java提供的可以在Java代码编译期间自动运行的程序,它们可以扫描Java源代码中的注解,并根据注解生成Java代码、XML文件或其他配置文件。

2023-05-28 16:42:19 1230 6

原创 Java性能调优及排查

在使用Java开发应用时难免会遇到应用运行速度慢的性能问题。性能问题可能对系统稳定性、用户体验和应用程序的质量产生很大的影响。因此Java性能调优变得尤为重要。

2023-05-28 03:33:12 1814 4

原创 Redis 布隆过滤器的原理和实践

布隆过滤器是一种空间效率高、误判率可控的数据结构,通常用于检索一个元素是否在一个集合中。它是由一个比特向量和多个哈希函数组成的。布隆过滤器可以用于快速检测一个元素是否存在于一个集合中,其主要优点是省内存缺点是有一定的误识别率和删除困难。

2023-05-27 18:10:31 1386 8

原创 Java IO 流操作详解

Java IO流提供了一种可以对数据进行输入输出的机制。可以把它比作是一条河流从源头流向目标地,由源文件输入到程序再由程序输出到目标文件。IO即Input/Output顾名思义就是数据的输入输出,在Java中指的是java.io包中的类库,提供了一系列操作数据输入与输出的类和接口。Java NIO(New IO)是JDK1.4引入的新的IO API,能够以更高效的方式进行文件、网络读写等各种I/O操作。

2023-05-27 10:25:16 1726 7

原创 Java异步编程的应用与实践

Java 是一种高级编程语言具有可移植性、安全性和面向对象等特点。在异步编程领域它具有重要的优势和广泛的应用场景。

2023-05-27 07:41:03 1572 5

前端页面调用百度AI实现语音识别.zip

通过前端网页(Html)语言调用百度AI的语言识别接口,实现对音频的文字识别功能。文件中附带了修改说明及操作结果,可以放心下载修改。

2020-02-13

Apache_OpenOffice_4.6_install_zh-CN完整安装包

OpenOffice是一套跨平台的办公室软件套件,能在Windows、Linux、MacOS X (X11)和 Solaris 等操作系统上执行。它与各个主要的办公室软件套件兼容。OpenOffice.org 是自由软件,任何人都可以免费下载、使用及推广它。

2019-12-31

ffmpeg-20190917-win64完整安装包

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

2019-12-31

ImageMagick-7-Q16-x64-dll完整安装包

ImageMagick是免费软件,可以即用型二进制分发形式提供,也可以作为源代码提供,您可以在开放应用程序和专有应用程序中使用,复制,修改和分发它们。它是在派生的Apache 2.0 许可下分发的。

2019-12-31

sox-14.4.2.zip

SoX是一个跨平台(Windows, Linux, MacOS X, etc.)命令行程序,用于各种格式的转换,播放和各种音频格式,以及给音频加入特效。

2019-12-31

mysql-connector-java-8.0.17.jar.zip

mysql-connector-java-8.0.17.jar 很好用的连接Jar。一定得写50个字其实没什么可介绍的,大家需要的就下载吧。

2019-12-27

C#实现-模式串匹配-KMP

C#实现-模式串匹配-KMP,在朴素模式匹配的基础上,优化为C#版的KMP模式串匹配。

2017-11-19

C#-回溯-最长公共子序列-DCLCS

C#-回溯-最长公共子序列-DCLCS;使用回溯的算法策略实现对最长公共子序列的求解。

2017-11-19

C#实现-回溯求解-N皇后

C#实现-回溯求解-N皇后,根据软考书籍中的C代码改写实现C#版的回溯N皇后问题。

2017-11-19

C#实现-动态规划-最长公共子序列-DPLCS

C#实现-动态规划-最长公共子序列-DPLCS,根据动态规划的思想实现对最长公共子序列的求解。

2017-11-19

C#实现-动态规划-01背包问题(Knapsack)

C#实现-动态规划-01背包问题(Knapsack),代码根据软考书籍中C代码的内容改写,已调试使用无误。

2017-11-19

算法-排序 抽象演示视频

Métodos de Ordenação BUBBLE, INSERTION, SELECTION, SHELL, MERGE E QUICK SORT

2016-08-25

VB排序代码(7种经典排序算法已优化)

VB排序代码---7种经典排序算法已优化---可记录各种排序的时间及循环次数。

2016-08-05

Pokemon go精灵完美度测量表

Pokemon go精灵完美度测量表

2016-08-02

职业生涯规划

职业生涯规划

2016-05-13

空空如也

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

TA关注的人

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