E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
pythonyield详解
java多线程
详解
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。简单理解为:引用软件中相互独立,可以同时允许的功能进程是程序的基本执行实体并发:在同一时刻,有多个指令在单个CPU上交替执行并行:在同一时刻,有多个指令在多个CPU上同时执行多线程的实现方式继承Thread类的方式进行实现实现Runnable接口进行实现利用Callable接口和Future接口的方式实现方式一:
༺❀ൢ望༒月❀ൢ❀
·
2024-01-27 06:13
java
java
开发语言
C#使用RabbitMQ-2_
详解
工作队列模式
简介RabbitMQ中的工作队列模式是指将任务分配给多个消费者并行处理。在工作队列模式中,生产者将任务发送到RabbitMQ交换器,然后交换器将任务路由到一个或多个队列。消费者从队列中获取任务并进行处理。处理完成后,消费者可以向RabbitMQ发送一个确认消息,表示任务已完成。优点:工作队列模式的主要优点是能够实现负载均衡和并行处理。通过将任务分配给多个消费者,可以提高系统的处理能力和吞吐量。此外
爱吃香蕉的阿豪
·
2024-01-27 06:10
RabbitMQ
rabbitmq
分布式
c#
消息队列
CDN 技术
详解
--读书笔记-完
第三章内容缓存工作原理及实现3.3.3HTTP中的Cookie和SessionCookieSession服务器将SessionID返回给浏览器两种方法。一种是Cookie方法一种是URL重写方法应用场景Cookie是Rememberme服务SessionID是想登陆信息与关键信息放入一个有sessionID关联的数据库或者文件。-安全性Session>Cookie-性能Session
HenryTien
·
2024-01-27 05:30
cdn
python 学习之 re库的基本使用(正则匹配)上
6、split函数一、基本用法首先我们需要引入re库代码基本框架使用两行代码实现测试代码:importreret=re.match('.','test123')print(ret.group())代码
详解
Myon⁶
·
2024-01-27 05:10
Python
学习
python
正则表达式
pycharm
2023淘宝双十一攻略 2021淘宝双11攻略活动规则
详解
活动规则
详解
【高省】APP(高佣金领导者)是一个自用省钱佣金高,分享推广赚钱多的平台,百度有几百万篇报道,运行三年,稳定可靠。高
测评君高省
·
2024-01-27 04:42
Websocket协议
详解
前言本文主要介绍Websocket是什么以及其协议内容。WebSocket协议实现在受控环境中运行不受信任代码的一个客户端到一个从该代码已经选择加入通信的远程主机之间的全双工通信。该协议包括一个打开阶段握手规定以及通信时基本消息帧的定义。其基于TCP之上。此技术的目标是为基于浏览器的应用程序提供一种机制,这些应用程序需要与服务器进行双向通信,而不依赖于打开多个HTTP连接(例如,使用XMLHttp
Qayrup
·
2024-01-27 04:01
JavaScript随想
websocket
网络协议
网络
MySql索引优化explain参数
详解
explain概述explain关键字可以模拟优化器执行SQL语句,分析查询语句或是结构的性能瓶颈在select语句之前增加explain关键字,MySQL会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL查询语句from中包含子查询,仍会执行该子查询,将结果放入临时表中explain中的列参数列参数idselect_typetabletypepossible_keykey
别丢了one
·
2024-01-27 04:28
mysql
全文检索
java retry(重试) spring retry, guava retrying
详解
系列说明javaretry的一步步实现机制。java-retry源码地址情景导入简单的需求产品经理:实现一个按条件,查询用户信息的服务。小明:好的。没问题。代码UserService.javapublicinterfaceUserService{/***根据条件查询用户信息*@paramcondition条件*@returnUser信息*/UserqueryUser(QueryUserCondit
老马啸西风
·
2024-01-27 04:54
Java
retry
java
apt-mark
详解
文章目录1、简介2、apt-markautopackagename3、apt-markmanual4、apt-markhold5、apt-markunhold6、apt-markshowauto7、apt-markshowmanual8、apt-markshowhold1、简介apt-mark常用于标记一个包是否是自动安装的。2、apt-markautopackagename标记一个包为自动安装,
husterlichf
·
2024-01-27 04:24
#
ubuntu
linux
服务器
运维
ubuntu
apt-mark
linux-ubuntu-apt 2--各种配置文件
详解
1、/etc/apt/sources.listAPT仓库url存放的文件2、/etc/apt/sources.list.d/APT仓库url存放的文件路径3、/etc/apt/apt.confapt命令的配置文件4、/etc/apt/apt.conf.d/apt命令的配置文件目录5、/var/lib/apt/lists/APT包的索引文件路径‘6、/var/lib/apt/lists/partia
husterlichf
·
2024-01-27 04:53
#
ubuntu
linux
ubuntu
服务器
apt
SpringBoot事件发布及订阅
详解
含代码示例(值得珍藏)
点击下载《SpringBoot事件发布及订阅
详解
含代码示例(值得珍藏)》1.简介1.1ApplicationEventApplicationEvent是Spring框架中的一个重要概念,它是基于观察者模式的事件
孤蓬&听雨
·
2024-01-27 04:52
知识库
spring
boot
后端
java
事件
订阅发布
Spring Retry 和 Guava Retrying重试机制的使用
详解
点击下载《SpringRetry和GuavaRetrying重试机制的使用
详解
》1.Spring-Retry优雅地实现重试机制在现代的分布式系统中,由于网络不稳定、服务短暂不可用或资源争用等原因,调用远程服务时偶尔会遇到失败
孤蓬&听雨
·
2024-01-27 04:50
知识库
spring
guava
java
spring
retry
k8s----集群优化
目录一、节点配额和内核参数调整二、内核参数优化2.1内核参数
详解
2.2其他的内核参数三、Etcd性能优化3.1磁盘3.2、etcd进程设置优先级3.3、增大etcd的存储限制3.4、提高etcd对于对等网络流量优先级
醉凡尘¢ World1y
·
2024-01-27 04:15
运维
kubernetes
容器
linux文件系统
详解
#######linux文件系统管理##########文件系统文件系统这个名词大家都很陌生,不过如果说成分区,大家就比较容易理解了。原先每个分区只能格式化为一个文件系统,所以我们可以认为文件系统就是指分区。不过随着技术的进步,现在一个文件系统可以由几个分区组成,或者一个分区可以格式化为几个不同的文件系统,所以我们已经不能把文件系统和分区等同对待了。文件系统是创建在硬盘上,所以先聊聊硬盘##硬盘#
weixin_30352645
·
2024-01-27 03:05
操作系统
数据库
python
JWT(JSON Web Token)
详解
1.JWT是什么?JSONWebToken(JWT)是一个开放标准(RFC7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。2.什么时候用JSONWebToken下列场景中使用JWT是很有用的:Authorization(授权):这是使用JWT的最常见场景。一旦用户登录,后续每个请求都将包含JWT,允许用户访问该
IamaMartian
·
2024-01-27 03:05
json
java
jwt
java list 先进先出_java中List集合及其遍历
详解
1.首先List集合继承与Collection,是一个接口。①Collection(集合框架是JDK1.2版本出现的)②list:是有序的,元素可以重复,以为该集合体系有索引。经常用到的是实现该接口的ArrayList和LinkedList类③Arraylist:底层的数据结构使用的是数组结构,特点:查询速度很快,但是增删稍慢。线程不同步LinkedList:底层使用的是链表数据结构。特点:增删速
薛二少
·
2024-01-27 02:12
java
list
先进先出
STL
详解
(六)—— list的模拟实现
文章目录本次所需实现的三个类及其成员函数接口总览结点类的模拟实现构造函数迭代器类的模拟实现迭代器类存在的意义迭代器类的模板参数说明构造函数++运算符的重载--运算符的重载==运算符的重载!=运算符的重载*运算符的重载->运算符的重载list的模拟实现默认成员函数构造函数拷贝构造函数赋值运算符重载函数析构函数迭代器相关函数begin和end访问容器相关函数front和back插入、删除函数inser
2021dragon
·
2024-01-27 02:11
C++
c++
链表
多维度
详解
俄罗斯对乌克兰动武事件
多维度
详解
俄罗斯对乌克兰动武事件原创作者:三公新解\sangong30002022年2月24日,俄罗斯对乌克兰的动武事件,可能是今年最大的国际事件(危机)了,下面,本人就从多维度,独特视角表达下看法,进行分析
三公新解
·
2024-01-27 02:52
指针---C语言
指针
详解
目录1.指针定义1.1指针变量1.2理解要点1.3补充理解2.指针的类型2.1指针+-整数2.2指针的解引用2.2.1同样大小字节的指针解引用3.野指针3.1野指针成因3.1.1指针未初始化3.1.2
木子.李347
·
2024-01-27 02:37
C语言
c语言
开发语言
详解
!
this.$set实现什么功能,为什么要用它?当我们给对象加了一个属性,在控制台能打印出来,但是却没有更新到视图上时,也许这个时候就需要用到调用方法:this.$set(target,key,value)target:要更改的数据源(可以是对象或者数组)key:要更改的具体数据value:重新赋的值{{obj}}{{arr}}exportdefault{data(){return{obj:{a:"
大大。
·
2024-01-27 01:46
js
javascript
前端
vue.js
LocalDate类:JAVA中的日期
详解
目录用法一:获取当前日期的一些信息:1.获取当前日期2.获取当前的年份、月份、天等基础信息3.获取星期几,获取日期在年份中的第几天,获取日期所在月份的天数,获取日期所在年份的天数以及检查日期所在年份是否为闰年用法二:创建特定的日期用法三:LocalDate的日期运算(增加或者减少指定年月日周)1.增加或减少指定年数。2.增加或减少指定月数。3.增加或减少指定周数。4.增加或减少指定天数。5.除了对
加洛斯
·
2024-01-27 01:00
JAVA
java
开发语言
Python3 pickle模块的使用
详解
pickle模块序列化pickle模块特点1、只能在python中使用,只支持python的基本数据类型。2、可以处理复杂的序列化语法。(例如自定义的类的方法,游戏的存档等)3、序列化的时候,只是序列化了整个序列对象,而不是内存地址。pickle:用于python特有的类型和python的数据类型间进行转换,pickle提供四个功能:dumps,dump,loads,loadpickle可以存储什
蒸熟的土豆
·
2024-01-27 01:28
Dockerfile命令
详解
之 ADD
许多同学不知道Dockerfile应该如何写,不清楚Dockerfile中的指令分别有什么意义,能达到什么样的目的,接下来我将在容器化专栏中详细的为大家解释每一个指令的含义以及用法。专栏订阅传送门https://blog.csdn.net/qq_38220908/category_11989778.html指令不区分大小写。但是,按照惯例,它们应该是大写的,以便更容易地将它们与参数区分开来。(引用
清风怎不知意
·
2024-01-27 00:25
容器化
java
服务器
运维
docker
容器
PTA 7-36 复数四则运算(
详解
)
前言:本期是关于复数四则运算的具体解法,今天你c了吗?题目:本题要求编写程序,计算2个复数的和、差、积、商。输入格式:输入在一行中按照a1b1a2b2的格式给出2个复数C1=a1+b1i和C2=a2+b2i的实部和虚部。题目保证C2不为0。输出格式:分别在4行中按照(a1+b1i)运算符(a2+b2i)=结果的格式顺序输出2个复数的和、差、积、商,数字精确到小数点后1位。如果结果的实部或者虚部为0
Artiel
·
2024-01-27 00:52
PTA
c语言
超全的测试类型
详解
,再也不怕面试答不出来了!
测试类型
详解
黑盒测试软件对于测试员来说就是一个黑色的盒子,测试不知道里面的代码
明月与玄武
·
2024-01-27 00:50
测试类型详解
Linux系统配置本地yum源
详解
1.挂载镜像mount/dev/cdrom/mnt设置开机自动挂载vim/etc/fstab在fstab文件中添加如何代码,开机自启/dev/cdrom/mntiso9660defaults002.进入以下目录cd/etc/yum.repos.d创建centos7.repo文件注:文件名可以随意,文件后缀repo不能变。vimcentos7.repo写入以下参数[centos7] #yum软件
wzfc
·
2024-01-27 00:15
linux
服务器
运维
Resilience4j-CircuitBreaker
详解
CircuitBreakerCircuitBreaker主要由以下几个部分组成:配置、注册器、熔断器、度量指标、事件发布及熔断器的工作原理。接下来会逐一介绍。CircuitBreaker配置基本配置首先是CircuitBreaker的一些可配置项,在CircuitBreakerConfig中:CircuitBreaker这是一个独立的类,里面包含熔断器的可配置项,提供了一个内部类Builder来构
I讨厌鬼I
·
2024-01-27 00:54
幻兽帕鲁新手开服教程(Windows)
文章目录前言一、配置PalServer运行环境二、下载SteamCMD三、更新SteamCMD四、启动PalServer生成存档五、修改服务端配置文件六、放行端口七、配置文件
详解
前言幻兽帕鲁处于初始阶段
可爱的徐同学哟
·
2024-01-27 00:38
windows
游戏
建堆的时间复杂度
详解
接上之前堆的博客,里面我曾提过建堆的时间复杂度是O(N),那么是为什么呢?下面进行推导按照最坏情况,该堆是满二叉树,如上图又依据公式:黑色框圈住的代表的是每层有的节点的个数第一层有2^(1-1)个,第二层又2^(2-1)个,第h-1层有2^(h-1-1)个,第h层又2^(h-1)个红色框圈住的代表的是每一层的字树最多需要向下调整的次数我们假设这个二叉树有四层,第一层需要向下调整的次数是3次,第二层
cls-evd
·
2024-01-27 00:32
数据结构
链表
数据结构
堆排序
算法
八、
详解
CAS无锁
AtomicStampedReferenceAtomicReferenceFieldUpdaterCAS底层原理LongAdder(无锁+分段)基本用法缓存行源码Unsafe原理手写AtomicInteger在之前的文章中,我们详细讲过了Synchronized三、
详解
每天都得进步
·
2024-01-27 00:59
并发编程
java
jvm
开发语言
十、
详解
ReentrantReadWriteLock读写锁
写在前面之前我们讲过可重入锁五、
详解
ReentrantLock-CSDN博客从这篇博文中我们可以了解到,基于lock的锁底层都是利用aqs这个抽象类的。
每天都得进步
·
2024-01-27 00:59
并发编程
java
开发语言
三、
详解
Synchronized
目录临界区(CriticalSection)java对象布局MarkWordKlassPointer锁升级轻量级锁重量级锁重量级加锁重量级解锁自旋优化偏向锁如何进行cas?可偏向与真正偏向加锁之后禁用偏向锁撤销偏向批量重偏向锁消除临界区(CriticalSection)临界区是多线程编程中的一个术语,指的是一个访问共享资源的代码区域,这个区域不能被多个线程同时执行。也就是说,在同一时刻,只能有一个
每天都得进步
·
2024-01-27 00:29
并发编程
java
五、
详解
ReentrantLock
目录死锁ReentrantLock与Synchronized对比源码分析Lock接口lock()实现NonfairSynctryAcquire()addWaiter()acquireQueued()FairSynctryAcquire()NonfairSync和FairSync的本质区别tryLock()实现unlock()实现Condition实现await()signal()和signalAl
每天都得进步
·
2024-01-27 00:29
并发编程
java
开发语言
三、
详解
Redis分布式锁&Redisson分布式锁
在传统的java进程中,我们常常用Synchronized三、
详解
Synchronized-CSDN博客或者ReentrantLock五、
详解
ReentrantLock-CSDN博客来对临界区进行加锁,
每天都得进步
·
2024-01-27 00:58
redis
redis
分布式
数据库
ArcGIS实验教程——实验四十三:ArcGIS栅格重分类(Reclass)案例
详解
文章目录一、重分类1.新值替代2.将值组合到一起3.按相同等级对一组栅格的值进行重分类4.将特定值设置为NoData或者为NoData像元设置某个值二、查找表三、分割四、使用表重分类五、使用ASCI文件重分类重分类就是对原有栅格像元值重新分类从而得到一组新值并输出。重分类工具有多种方法将像元值重新分类或更改为替代值。一次对一个值或成组的值进行重分类的方法是:使用替代字段;基于某条件,如指定的间隔(
刘一哥GIS
·
2024-01-26 23:27
ArcGIS
栅格
重分类
Reclassify
空间分析
ubuntu update-alternatives命令
详解
2019独角兽企业重金招聘Python工程师标准>>>这个命令相当于windows下的选择文件的打开方式(或者叫关联文件类型),比如要编辑一个文件,可以用notepad也可以用notepad++,editplus等等,那么ubuntu下是用update-alternatives来管理的,他的原理是在/etc/alternatives目录下为每个管理的程序建立一个软连接,man他可以找到为什么要这么
weixin_34273479
·
2024-01-26 23:25
java
开发工具
python
返利公众号
详解
:智能助手为你省钱购物
氧惠APP是一种非常实用的工具,可以帮助我们在购物时省下不少钱。通过氧惠APP,我们可以获得购物返还的优惠,同时还可以享受更多的折扣和特权。以下是关于氧惠APP的详细介绍:领购物大额优惠券、赚返利佣金用氧惠~氧惠APP(带货领导者)——是与以往完全不同的抖客+淘客app!2023全新模式,我的直推也会放到你下面。主打:带货高补贴,深受各位带货团队长喜爱(每天出单带货几十万单)。注册即可享受高补贴+
氧惠购物达人
·
2024-01-26 23:58
java lamdba表达式
详解
20200301
1.lamdba表达式概述lamdba表达式是基于函数式编程思想,在jdk8中出现的新特性,与面向对象及面向函数编程的scala语言来说,可以说只是其中一部分。下面我们来看看java中的lamdba表达式什么是函数式接口1.是java中的一个普通接口2.是只包含了一个抽象方法的特殊接口3.语义化检测注解@funcationalInterface如果提供了别的抽象方法语义化检测就会报错但是其中可以出
四月一对鸟
·
2024-01-26 22:02
javaweb
java
Lamdba表达式
详解
(一篇解决lamdba表达式)
文章目录Lamdba表达式前言一、Lamdba表达式的标准格式二、Lamdba表达式的三种写法1、单个参数的2、多个参数3、要写参数类型的三、Lamdba栗子:1、方式1:定义一个类MyRunnable实现Runnable接口,重写run()方法2、方式2:匿名内部类的方式改进3、方式3:Lamdba表达式的方式改进4、三种方式实现需求的优缺点函数接口一、基本应用二、其他函数接口1、UnaryOp
识时务者J
·
2024-01-26 22:30
java学习
java
开发语言
[Java高级](五)【Java8新特性】lambda表达式与函数式接口
lambda表达式
详解
Java8新特性lambda表达式对接口的要求基本语法语法简化常用示例示例1:方法引用示例2:构造方法的引用示例3:lambda表达式创建线程示例4:遍历集合示例5:删除集合中的某个元素示例
徐俊生
·
2024-01-26 22:56
Java基础
《深入浅出Spring》Spring中国际化
详解
Spring中国际化spring中国际化是通过MessageSource这个接口来支持的org.springframework.context.MessageSource内部有3个常用的方法用来获取国际化信息,来看一下publicinterfaceMessageSource{/***获取国际化信息*@paramcode表示国际化资源中的属性名;*@paramargs用于传递格式化串占位符所用的运行
猿一一
·
2024-01-26 22:52
Spring
spring
java
前端
Spring5深入浅出篇:Spring对象属性注入
详解
Spring5深入浅出篇:Spring对象属性注入
详解
首先需要了解什么是注入?
全干程序员demo
·
2024-01-26 22:21
spring
java
后端
STP生成树协议
详解
目录1.STP1.1背景1.2STP(生成树协议)802.1d1.2.1生成树形结构的过程1.2.1.1生成树树形结构形成过程:1.2.1.2根桥的选举规则1.2.1.3端口角色选举规则1.2.1.4临时环路1.2.2端口状态1.2.2.1STP的标准接口状态:避免临时环路隐患1.2.2.2华为的接口状态1.2.3BPDU1.2.3.1配置BPDU报文字段1.2.4STP网络拓扑变化分析1.2.4
清枫cc
·
2024-01-26 22:16
交换机
网络
stp
mstp
rstp
一文
详解
!
作者|小枣君来源|鲜枣课堂随着3GPPR17版本的不断推进,一个新的名词逐渐开始热门起来,那就是RedCap。究竟什么是RedCap?为什么要引入它?它和现在的5G有什么区别?且看本文的深入解析……█什么是RedCapRedCap,全名是ReducedCapability,中文意思是“降低能力”。它是3GPP在5GR17阶段,专门立项研究的一种新技术标准。对于RedCap这个名字,大家可能觉得比较
CSDN云计算
·
2024-01-26 21:49
芯片
人工智能
物联网
大数据
社交网络
Autodesk Maya 2024 升级功能
详解
AutodeskMaya2024中的一些新功能,有助于艺术家和开发者更轻松地创建高质量的3D动画和视觉效果。1蒙皮绑定工具改进:Maya2024中的蒙皮绑定工具得到了改进,可以更轻松地绑定模型和骨骼。2MASH插件改进:MASH插件现在已更新,包括更好的插件集成、新的MASH节点类型和更好的工作流程。3插件更新:Maya2024包括更新的插件,如Arnold渲染器、Bifrost插件和Motion
asunmiss
·
2024-01-26 21:37
快递CPS小程序项目核心功能
详解
今天要给大家聊的快递CPS,必然会成为新的行业爆点!快递CPS是最近兴起的一个赚钱项目,和之前外卖CPS的项目模式差不多。关于快递大家再熟悉不过了,不管你我是什么职业,每个月收几个快递都是家常便饭了,因为快递的需求是一直在的,不管是网购还是自己平时给别人寄东西,都会有这个需求,跟点外卖吃饭差不多,是生活中的刚需。寄快递的运费都是原价,所以广大用户必然是需要一个寄快递打折的服务,就像叫外卖会找红包优
weixin_lynhgworld
·
2024-01-26 21:46
小程序
短剧小程序发展前景以及开发流程
详解
低成本、低门槛、高回报,以小搏大,这些“诱人”的特点,让短剧似乎成为了继网络大电影之后的又一“超吸金行业”,短剧一大批取材于小说的题材,狗血剧情及颠覆观众的认知,以及跌宕起伏的剧情1分钟转8次弯各种包袱笑料层出不穷,俘获了各个年龄段的用户,也成为了当下短剧圈的主流题材。目前,短剧商业模式大致可以划分为分账、平台定制、广告植入、直播变现以及付费点映等五大方面。其中,分账与平台定制是长视频平台上短剧变
weixin_lynhgworld
·
2024-01-26 21:46
小程序
深入理解stress/stress-ng
文章目录一、概述二、安装2.1、源码编译安装2.2、命令行安装2.3、安装确认三、重要参数
详解
3.1、查询支持的参数3.2、重要参数说明四、实例4.1、压测CPU4.2、压测内存4.3、压测IO4.4、
Coder个人博客
·
2024-01-26 21:57
系统性能优化
性能优化
车载系统
系统安全
鸿蒙系统
深入理解sysbench工具
文章目录一、概述二、安装2.1、源码编译安装2.2、命令行安装2.3、安装确认三、重要参数
详解
3.1、查询支持的参数3.2、重要参数说明四、实例4.1、CPU性能测试4.2、内存性能测试4.3、IO性能测试
Coder个人博客
·
2024-01-26 21:54
系统性能优化
性能优化
安全性测试
车载系统
系统架构
系统安全
鸿蒙系统
C/C++中extern关键字
详解
1基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。也就是说extern有两个作用,第一个,当它与"C"一起连用时,如:extern"C"voidfun(inta,intb);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而不是C++的,C++的规则在翻译
洛的俠
·
2024-01-26 20:13
上一页
86
87
88
89
90
91
92
93
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他