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
深入理解Redis系列
深入理解
计算机硬件存储体系结构
文章目录
深入理解
计算机硬件存储体系结构前言:一、寄存器:计算机的最快存储器二、高速缓存:缓解主存储器和CPU速度不匹配的瓶颈三、主存储器(RAM):临时存储程序和数据四、辅助存储器:永久存储数据的地方五
@forever@
·
2024-01-24 00:03
C++
linux
c语言
计算机硬件体系结构
硬件体系
操作系统
深入理解
SQL正则表达式:高效文本处理与数据提取
引言SQL正则表达式是一种功能强大的工具,能够在文本数据中实现高效的模式匹配和数据提取。不论您是初学者还是有经验的开发者,本文将为您深入阐述SQL正则表达式的基本语法、高级用法以及实际应用场景。通过学习本文,您将能够灵活运用SQL正则表达式处理文本数据,并优化数据库查询任务。让我们一起探索这个有趣且强大的技术!正则表达式概述在SQL中,正则表达式是一种强大的文本匹配工具。它允许我们根据某种模式来查
半夏陌离
·
2024-01-24 00:02
SQL之道
sql
正则表达式
mysql
数据库
深入理解
Rust函数
文章目录一、概述二、函数要点三、函数参数四、函数返回五、Rust中的特殊返回类型5.1、无返回值5.2、永不返回的发散函数 团队博客:汽车电子社区一、概述二、函数要点 1、函数名和变量名使用蛇形命名法(snakecase),例如fnadd_two()->{}。 2、函数的位置可以随便放,Rust不关心我们在哪里定义了函数,只要有定义即可。 3、每个函数参数都需要标注类型。三、函数参数 R
Coder个人博客
·
2024-01-23 18:44
编程语言
#
Rust
rust
开发语言
后端
安全架构
车载系统
深入理解
Rust语句和表达式
文章目录一、概述二、语句三、表达式 团队博客:汽车电子社区一、概述fnadd_with_extra(x:i32,y:i32)->i32{letx=x+1;//语句lety=y+5;//语句x+y//表达式} 语句会执行一些操作但是不会返回一个值,而表达式会在求值后返回一个值,因此在上述函数体的三行代码中,前两行是语句,最后一行是表达式。二、语句leta=8;letb:Vec=Vec::new(
Coder个人博客
·
2024-01-23 18:14
编程语言
#
Rust
rust
开发语言
后端
车载系统
系统架构
系统安全
MySQL索引优化:
深入理解
索引下推原理与实践
随着MySQL的不断发展和升级,每个版本都为数据库性能和查询优化带来了新的特性。在MySQL5.6中,引入了一个重要的优化特性——索引下推(IndexConditionPushdown,简称ICP)。ICP能够在某些查询场景下显著提高查询性能,减少不必要的数据行访问。一、产生背景在MySQL5.6之前,当查询使用到复合索引时,MySQL会先根据索引的最左前缀原则,在索引上查找到满足条件的记录的主键
地瓜伯伯
·
2024-01-23 17:21
DB
mysql
数据库
dba
java
spring
cloud
大数据
spring
进程间通信
进程间通信介绍1.1进程间通信目的1.2进程间通信本质1.3进程间通信分类2.管道2.1什么是管道2.2匿名管道2.2.1什么是匿名管道2.2.2pipe函数:2.3匿名管道的使用2.4站在文件描述符的角度
深入理解
管道
Smile丶凉轩
·
2024-01-23 17:33
Linux系统
数据库
运维
c++
机器学习 |
深入理解
并掌握核心概念
在如今数字化时代的浪潮下,机器学习已经成为人工智能领域的璀璨明星。它像一面魔镜,赋予计算机系统学习和改进的能力,让机器能够从海量数据中提取规律、预测未来,甚至做出智能决策。本专栏将带您踏上机器学习的奇妙之旅,探索其原理、方法和应用。我们将揭开机器学习背后的神秘面纱,解释监督学习、无监督学习、强化学习等不同类型的机器学习算法。目录初识人工智能机器学习概述机器学习算法分类模型评估深度学习概述Jupyt
亦世凡华、
·
2024-01-23 17:42
#
机器学习
机器学习
人工智能
深度学习
基础概念
经验分享
剑指大数据——Flink学习精要(Java版)
本书基于Flink的稳定版本1.13,从Flink数据处理思想开始讲解,带领读者
深入理解
Flink的基本架构。附赠全部源码及39小时配套视频。写在前面对于一家互联网企业,什么是最核心的资产?
小术晓术
·
2024-01-23 16:41
大数据
java
flink
深入理解
Linux中的动态库与静态库
慕斯主页:修仙—别有洞天♈️今日夜电波:IWishMyMindWouldShutUp—Ivoris0:21━━━━━━️────────2:04◀️⏸▶️☰关注点赞收藏您的每一次鼓励都是对我莫大的支持目录动态库与静态库的概念动态库与静态库的制作引入生成静态库生成动态库动态库与静态库的使用静态库的使用在系统中安装这个库拿到上面所提到的库该怎么用动态库的使用方法一:头文件以及库文件安装到系统里方法二:
慕斯( ˘▽˘)っ
·
2024-01-23 15:37
Linux练功
初阶功法
linux
运维
服务器
深入理解
Java 垃圾回收机制
一、垃圾回收机制的意义Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存。ps:内存泄露是指该内存空间使用完毕之后未回收,在不涉及复杂数据结构的一般情
玩大数据的小轩
·
2024-01-23 14:30
dubbo:
深入理解
Apache Dubbo与实战
dubbo核心组件层次名作用Service业务层。包括业务代码的接口与实现,即开发者实现的业务代码config配置层。主要围绕ServiceConfig(暴露的服务配置)和ReferenceConfig(引用的服务配置)两个实现类展开,初始化配置信息。可以理解为该层管理了整个Dubbo的配置proxy服务代理层。在Dubbo中,无论生产者还是消费者,框架都会生成一个代理类,整个过程对上层是透明的。
摸鱼圣手
·
2024-01-23 14:36
dubbo
apache
深入理解
C++ 函数指针
深入理解
C++函数指针在C++中,函数指针是一种强大的工具,允许我们以一种动态和灵活的方式处理函数调用。在本文中,我们将深入了解C++函数指针的基本概念、用法以及一些常见的应用场景。
宁子希
·
2024-01-23 13:49
c++
数据结构
深入理解
C语言(2):字符、字符串与内存函数
文章主题:字符、字符串与内存函数所属专栏:
深入理解
C语言作者简介:更新有关
深入理解
C语言知识的博主一枚,记录分享自己对C语言的深入解读。
[₽]
·
2024-01-23 13:30
深入理解C语言
c语言
开发语言
visual
studio
深入理解
Kubernetes探针和.NET服务健康检查机制
前言随着越来越多的软件采用云原生和微服务架构,我们面临着更多的技术挑战,比如:Kubernetes如何在容器服务异常终止、死锁等情况下,发现并自动重启服务;当服务依赖的关键服务(例如数据库,Redis)无法正常连接时,如何及时发出告警;在需要同时部署有依赖关系的服务时,如何确保它们可以按正确的顺序进行初始化;......我将介绍如何利用.NET框架的健康检查机制以及Kubernetes的探针来确保
郭麻花
·
2024-01-23 11:54
kubernetes
容器
云原生
.net
深入理解
ClassLoader加载机制
ClassLoad类加载器概述ClassLoader的具体作用就是将class文件加载到jvm虚拟机中去,程序就可以正确运行了。jvm启动的时候,并不会一次性加载所有的class文件,而是在程序的运行中动态的去加载。通常Java中的.class文件会在以下两种情况被ClassLoader加载到内存中:调用类构造器调用类中的静态变量或静态方法类的加载指的是将类的.class文件中的二进制数据读入到内
碎念枫子
·
2024-01-23 10:08
深入理解
多线程编程和 JVM 内存模型
目录一、什么是多线程编程二、JVM介绍三、JVM内存模型一、什么是多线程编程多线程编程是一种编程方式,它允许程序在同一时间内执行多个线程或任务。线程是程序执行的最小单位,多线程编程可以将任务拆分为多个线程,每个线程独立执行特定的操作或任务。在传统的单线程编程中,程序按照顺序一步步执行,直到完成所有的操作。而在多线程编程中,可以同时进行多个操作,提高程序的并发性和效率。多线程编程可以用于并行计算、提
揣晓丹
·
2024-01-23 09:47
java
jvm
开发语言
java
spring
boot
java-ee
spring
类变量与类方法(静态变量与静态方法)
类变量性质:什么是类变量:如何定义类变量:访问类变量:(满足访问修饰符的访问权限与范围)什么时候使用类变量:类变量与实例变量区别:类变量细节:类方法:形式:类方法的调用:类方法以及类变量使用注意事项:
深入理解
qq_45981247
·
2024-01-23 09:01
java
eclipse
深入理解
C++中的前置声明和类型定义
深入理解
C++中的前置声明和类型定义在C++编程中,理解前置声明(ForwardDeclaration)和类型定义的相互作用是至关重要的,特别是在处理复杂的代码基和相互依赖的类型时。
金士顿
·
2024-01-23 07:55
c/c++
c++
前置声明
探索设计模式的魅力:一次设计,多次利用,
深入理解
原型模式的设计艺术
原型模式是一种设计模式,属于创建型模式的一种,它用于创建重复的对象,同时又能保持性能。在原型模式中,通过复制现有对象的原型来创建新对象,而不是通过实例化类来创建对象。这样做可以避免耗费过多的资源开销,特别是在对象的创建过程比较复杂或耗时的情况下。在原型模式中,原型对象实现一个克隆方法(Clone)用于复制自身,当需要创建新对象时,就可以通过克隆原型对象来得到一个新的对象副本。原型模式通常包括浅拷贝
danci_
·
2024-01-23 07:09
设计模式
设计模式
原型模式
java
面试
职场发展
程序人生
学习笔记
深入理解
OpenCV 中的二值化:cv2.THRESH_BINARY 与 cv2.THRESH_OTSU 的组合运用
引言在图像处理和计算机视觉中,二值化是一种常见的图像处理技术,用于将图像转换为只有两种可能取值的图像,通常是黑白。OpenCV提供了一种强大的工具来实现图像二值化,即cv2.threshold()函数。本篇博客将深入介绍cv2.THRESH_BINARY和cv2.THRESH_OTSU的组合使用,以及它们对图像二值化的优化效果。1.了解cv2.THRESH_BINARY首先,让我们回顾一下cv2.
AI_dataloads
·
2024-01-23 06:06
opencv
计算机视觉
图像处理
Java - 深入四大限流算法:原理、实现与应用
文章目录Pre概述简单计数器原理实现测试优缺点滑动窗口算法原理实现测试优缺点漏桶算法原理实现测试优缺点令牌桶算法原理实现测试优缺点小结Pre
深入理解
分布式技术-限流并发编程-25高并发处理手段之消息队列思路
小小工匠
·
2024-01-23 02:41
【Spring
Boot2.X】
【Java
-
Java
Base】
java
流控算法
探索中国顶级攻击面管理工具:关键优劣势解析
•顶尖白帽子作品,
深入理解
攻击路径和漏洞。•全面风险覆盖和漏洞扫描能力。•海量复杂场景下的资产识别能力。•融合价值,作为长亭安全防护体系的一部分。劣势:•处于技术萌芽期,市场上真正可用的产品相对
Trc0g
·
2024-01-23 00:36
网络安全
深入理解
归并排序与逆序对计算---剑指offer-JZ51 数组中的逆序对
引言在解决涉及数组排序和逆序对计算的算法题时,归并排序方法是一个极其有效的工具。本文将通过解析一个具体的算法问题来全面理解归并排序及其在计算数组中逆序对数量时的应用。题目链接:数组中的逆序对_牛客题霸_牛客网(nowcoder.com)题解来自官方,本文只是个人对题解的感悟问题描述给定一个数组,我们需要计算这个数组中逆序对的总数。逆序对定义为数组中一对数字,其中前一个数字大于后一个数字。例如,在数
like455
·
2024-01-22 23:05
剑指offer
数据结构与算法分析
算法
排序算法
数据结构
java
笔记
Google V8 引擎工作原理(翻译)
并没有
深入理解
,突然看到这篇文章,翻译之HowdoestheGoogleV8enginework?GoogleV8引擎是如何工作的?
weixin_34292924
·
2024-01-22 23:58
运维
c#
java
【深度视觉】第三章:卷积网络诞生前:卷积、边缘、纹理、图像分类等
五、卷积网络诞生前:卷积、边缘、纹理、图像分类、卷积核的设计等前面第一章里面,已经讲过一点机器视觉的诞生史,但那都太久远,我觉得非常有必要把近期视觉发展的研究成果,也聊清楚,这对
深入理解
卷积网络是如何工作的非常有意义
宝贝儿好
·
2024-01-22 22:29
深度学习
人工智能
计算机视觉
卷积神经网络
python进程间通信——命名管道(Named Pipe、FIFO)
文章目录Python中的命名管道:
深入理解
进程间通信1.命名管道简介2.创建和删除命名管道3.写入命名管道4.读取命名管道5.示例:进程间通信write_to_pipe.pyread_from_pipe.py
Dontla
·
2024-01-22 22:44
Python
linux
python
Kotlin协程基础概念
深入理解
本文需要读者对协程有基础的了解,关于协程的使用,可以参考官方教程:[play.kotlinlang.org/hands-on/In…play.kotlinlang.org/hands-on/In…toCoroutinesandChannels/01_Introduction)协程是什么?协程库是Kotlin语言提供的一个库,用于处理异步和并发场景的框架。"一个协程是一个可挂起计算的对象。在概念上与
我爱田Hebe
·
2024-01-22 20:27
【Xiao.Lei】- Git详解:
深入理解
分布式版本控制
引言在现代软件开发中,版本控制是一个至关重要的方面。Git,作为最流行的分布式版本控制系统之一,为开发者提供了高效、灵活的协作和版本管理工具。本文将深入探讨Git的各个方面,包括基础概念、工作流程、分支管理、团队协作等,并结合详细的命令说明,旨在帮助读者更全面地理解和运用Git。1.Git的起源与发展Git是由LinusTorvalds在2005年创建的,起初是为了更好地管理Linux内核的开发而
Xiao.Lei
·
2024-01-22 18:53
git
GitHub
Linux
git
github
gitlab
[Linux 杂货铺] —— 权限(文件权限和目录配置)
我们学习Linux,就是在和文件目录这些打交道,所以搞懂它们的属性之一——权限就很重要,这篇文章将从不同角度带你
深入理解
权限的概念,如何修改权
代码菌@
·
2024-01-22 13:58
Linux
linux
运维
服务器
学习
【C语言】
深入理解
指针1
✔1.什么是指针?☞(1)内存和地址①内存在讲内存和地址之前,我们想有个⽣活中的案例:假设有⼀栋宿舍楼,把你放在楼⾥,楼上有100个房间,但是房间没有编号,你的⼀个朋友来找你玩,如果想找到你,就得挨个房⼦去找,这样效率很低,但是我们如果根据楼层和楼层的房间的情况,给每个房间编上号,如:⼀楼:101,102,103...⼆楼:201,202,203.......有了房间号,如果你的朋友得到房间号,就
大耳朵土土垚
·
2024-01-22 13:50
C语言笔记
c语言
深入理解
进程控制相关的函数
进程标识每个进程都有一个非负整型表示的唯一进程ID。ID为0的进程通常是调度进程,也被称为系统进程。ID为1的进程通常是init进程,此进程负责在自举内核后启动一个UNIX系统。init进程决不会终止,它虽然不是内核中的系统进程,但是它以超级用户特权运行。ID为2时页守护进程,此进程负责支持虚拟存储器系统。有关进程ID的一些获取函数#includepid_tgetpid(void);//返回值:调
智杰狼
·
2024-01-22 12:32
UNIX笔记专区
数据库
linux
运维
【面试突击】深挖网络 IO 面试实战
深挖网络IO面试实战学前须知:这个模块对网络IO这块进行深挖,
深入理解
了网络IO之后,可以跟面试官聊的有来有回,通过深入讨论,你可以展示你对网络I/O了解的很深入,以及你如何将这些知
11来了
·
2024-01-22 12:50
面试突击
面试
网络
JAVA
netty
零拷贝
高性能
直接内存
深入理解
HTTPS原理:保障通信安全的加密卫士
标题:
深入理解
HTTPS原理:保障通信安全的加密卫士1.引言随着网络的不断发展,数据的安全性越来越受到重视。
一休哥助手
·
2024-01-22 10:00
https
网络协议
http
01-
深入理解
JNI
目录1JNI概述2学习JNI的实例:MediaPlayer2.1加载JNI库2.2JNI层MediaPlayer的分析2.3注册JNI函数2.3.1静态注册2.3.2动态注册1JNI概述JNI是JavaNativeInterface的缩写,中文译为“Java本地调用”。通俗地说,JNI是一种技术,通过这种技术可以做到以下两点:a).Java程序中的函数可以调用Native语言写的函数,Native
Snasph
·
2024-01-22 09:55
深入理解AndroidⅠ和Ⅱ
android
32位AT&T风格汇编语言输出数组中最大值
我的代码是参考了《
深入理解
程序设计使用Linux汇编语言》这本书里边的代码。
zhaoseaside
·
2024-01-22 09:23
汇编语言
汇编
深入理解
java虚拟机第三版怎么样?第三版与第二版对比
https://www.zhihu.com/question/363888117自从《
深入理解
Java虚拟机(第3版)》发行后,我看到了很多人提出了相同的问题:第三版值不值得买?
yygr
·
2024-01-22 09:18
开发工具
#
jvm
java
开发语言
后端
《
深入理解
Java虚拟机:JVM高级特性与最佳实践(第3版) 周志明》 - 第12章代码示例
背景最近在看《
深入理解
Java虚拟机:JVM高级特性与最佳实践(第3版)周志明》这本书,书中有些代码示例是为了让读者理解作者表达的意思,但不是完整的代码示例,所以针对这些不完整的代码,自己动手写出完整的代码示例
太自由
·
2024-01-22 09:45
Java
java
jvm
深入理解Java虚拟机
Java虚拟机
Java虚拟机代码示例
并发编程
高频面试题-请把Java垃圾回收器说清楚!
深入理解
Java虚拟机一书中写到:如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。不同的时代,出现了不同了垃圾收集器,它们被不断的应用在各个版本的Java虚拟机中。
敲代码的程序狗
·
2024-01-22 09:14
Java
jvm
面试
java
面试
JVM
程序员
PTA题目:递增有序顺序表的插入
实验目的:1、掌握线性表的基本知识2、
深入理解
、掌握并灵活运用线性表。3、熟练掌握线性表的存储结构及主要运算的实现已知顺序表L递增有序,将X插入到线性表的适当位置上,保证线性表有序。。
Tajang
·
2024-01-22 08:30
C语言
算法
数据结构
c++
深入理解
与运用Lombok的@Cleanup注解:自动化资源管理利器
前言在Java编程中,正确地管理和释放诸如文件流、数据库连接等资源至关重要。若处理不当,可能会引发内存泄漏或系统资源耗尽等问题。为此,Lombok库提供了一个名为@Cleanup的便捷注解,它允许我们以简洁且安全的方式自动关闭实现了java.io.Closeable或java.lang.AutoCloseable接口的对象。接下来,我们将通过详细解读和示例来探索这个注解的作用、属性以及用法。1.1
李少兄
·
2024-01-22 07:53
Java
自动化
运维
java
intellij-idea
spring
boot
高通平台Android Wi-Fi P2P连接--Go协商分析
如下的流程图清晰地给出了答案(图片取自于
深入理解
Android:WIFI模块):Go协商图如上图可以知道:·
专业开发者
·
2024-01-22 06:29
WIFI
android
p2p
wifi
DMA/DMA2D概念
STM32】DMA原理,步骤超细详解,一文看懂DMA_Z小旋的博客-CSDN博客_dmastm32对DMA请求如何产生的理解_pangyinglong的博客-CSDN博客_dma请求【STM32】STM32之
深入理解
Yuule
·
2024-01-22 06:27
外设驱动
单片机
stm32
嵌入式硬件
深入理解
@PostConstruct注解
一、概述@PostConstruct注解很多人以为是Spring提供的。其实是Java自己的注解。Java中该注解的说明:@PostConstruct该注解被用来修饰一个非静态的void()方法。被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次。PostConstruct在构造函数之后执行,init()方法之前执行。通常我们会是在Spring
善思者_tin
·
2024-01-22 05:27
深入理解
JavaScript箭头函数
个人主页:《爱蹦跶的大A阿》当前正在更新专栏:《VUE》、《JavaScript保姆级教程》、《krpano》、《krpano中文文档》✨前言函数是JavaScript中非常重要的一个组成部分,可以封装代码逻辑,提高代码的复用性和模块化。自ES6开始,JavaScript新增了箭头函数,提供了一个更简洁的函数定义语法。箭头函数作为一种新的函数定义方式,有哪些特点和使用场景呢?本文将详细地剖析箭头
爱蹦跶的大A阿
·
2024-01-22 01:59
JavaScript保姆级教程
javascript
开发语言
ecmascript
前端
[AIGC]
深入理解
Java并发编程:从入门到进阶
深入理解
Java并发编程:从入门到进阶引言在计算机领域中,针对多核处理器的高并发需求,Java并发编程成为了一项重要的技能。
程序员三木
·
2024-01-22 01:57
AI
java
AIGC
开发语言
深入理解
linux内核-内存管理-内存管理
RAM的某些部分永久分配给内核,来存放内核代码及静态内核数据结构。RAM的其余部分称为动态内存,这不仅是进程所需的宝贵资源,也是内核本身所需的宝贵资源。页框管理Intel的Pentinum处理器可采用两种不同的页框大小:4KB,4MB(如PAE被激活,则为2MB)。Linux采用4KB页框大小作为标准的内存分配单元。(1).由分页单元引发的缺页异常很容易得到解释,或由于请求的页存在但不允许进程对其
raindayinrain
·
2024-01-21 21:47
3.4.系统-Linux实现
内存管理
伙伴系统
slab
线性区划分
《月亮与六便士》读书随笔
今日打卡《月亮与六便士》,看完之后意犹未尽,就赶紧看了更直观的书评去再
深入理解
故事背景和用意。
赛_fd97
·
2024-01-21 19:19
MySQL索引优化:
深入理解
索引合并
在数据库查询优化中,索引的作用不言而喻。它们可以极大地提高数据检索速度,减少服务器的负载。但当查询条件变得复杂,单个索引可能无法满足我们的需求,这时MySQL的“索引合并”策略就显得尤为重要;IndexMergeOptimization是MySQL查询优化器在处理复杂查询时使用的一种高级技术。当查询的WHERE子句中有多个独立的条件,且每个条件都可以使用不同的索引时,MySQL会尝试将这些索引合并
地瓜伯伯
·
2024-01-21 18:47
DB
mysql
数据库
java
微服务
spring
cloud
dba
算法
数据结构教程实验一顺序表基本操作的实现
2.
深入理解
和灵活掌握顺序表的插入、删除等操作。二、实验环境1.硬件:每个学生需配备计算机一台。2.软件:Windows操作系统+VisualC++。
小孙同学1024
·
2024-01-21 17:24
数据结构实验报告
数据结构
深入理解
java 虚拟机(全章节完整)
走近JavaJDK、JRE与JVM之间的关系:内存溢出的问题及解决jvm可视化监控工具Java的发展java技术体系Java虚拟机SunClassicVMExactVMHotSpotVMKVMJRockitJ9DavikMicrosoftJVMAzulVMLiquidVMTaobaoVMJava虚拟机的内存管理程序计数器虚拟机栈本地方法栈Java堆方法区运行时常量池对象的创建如何在堆中给对象分配内
zhengaoly
·
2024-01-21 17:46
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他