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
多线程高并发
Java
多线程高并发
高级篇ForkJoin框架篇(三)---ForkJoinPool中结果归并Join解密
阅读更多我们接上篇,继续解密ForkJoinPool中的结果归并,其实很简单。结果归并是是在计算任务完成后。我们还以上一篇帖子中的计算为例。二、join()方法解密上一篇最后,这时线程Thread[ForkJoinPool-1-worker-3,5,main]处理的任务【1,125】经过execTask等一系列方法后,调用computer方法,此时达到阈值,调用for循环开始计算结果,最终得到结果
zhaodengfeng1989
·
2018-07-03 15:00
Java
多线程高并发
高级篇(四)--线程池工作流程篇
阅读更多前三篇说了线程池一些核心东西,这一篇,我想就线程池的使用从全流程的角度来说下,线程池是如何工作的。我们以一个调用示例,来逐步深入。一、固定大小线程池调用示例1、我们先创建一个corePoolSize大小为5的线程池,然后提交10个任务。publicclassThreadPoolDemo{publicstaticclassMyTaskimplementsRunnable{@Overridep
zhaodengfeng1989
·
2018-06-27 23:00
Java
多线程高并发
高级篇(三)--线程池核心中拒绝策略解密
阅读更多在ThreadPoolExecutor的核心构造函数中,最后一个参数就是拒绝策略处理器。拒绝策略是等待任务队列已满,并且线程池处理不了任务时候,就需要一套处理机制,去解决这个问题(是抛弃还是怎么的)。publicThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,TimeUnitunit,Block
zhaodengfeng1989
·
2018-06-27 11:00
Java
多线程高并发
高级篇(二)--线程池核心中队列术解密
阅读更多在JDK的并发包java.util.concurrent下,我们可以找找定义的队列有哪些。我们按照字典序排一下:ArrayBlockingQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue。那定义的这些队列是要用在哪?当然是我们上一帖线程池核心构造函数中说的BlockingQueueworkQueue(等待任务存
zhaodengfeng1989
·
2018-06-26 23:00
Java
多线程高并发
高级篇(一)--线程池核心详解
阅读更多在说核心内容之前,需要问一个问题,既然单个线程的创建和销毁都很简单,我们为什么要使用线程池?使用池化技术是为了什么?估计工作过很多年的老鸟们对这些东西都能说出个一二三来,无非就是以下几点:1、线程相对于进程而言,虽然是轻量级的,但是它的创建依然需要占用我们那点宝贵的内存资源。如果无限制的创建线程,对应垃圾回收而言也是很有压力的,毕竟线程也是对象。使用线程池统一进行线程的调度,便于管理和控制
zhaodengfeng1989
·
2018-06-25 23:00
线程池
多线程
线程
Java
多线程高并发
高级篇(一)--线程池核心详解
阅读更多在说核心内容之前,需要问一个问题,既然单个线程的创建和销毁都很简单,我们为什么要使用线程池?使用池化技术是为了什么?估计工作过很多年的老鸟们对这些东西都能说出个一二三来,无非就是以下几点:1、线程相对于进程而言,虽然是轻量级的,但是它的创建依然需要占用我们那点宝贵的内存资源。如果无限制的创建线程,对应垃圾回收而言也是很有压力的,毕竟线程也是对象。使用线程池统一进行线程的调度,便于管理和控制
zhaodengfeng1989
·
2018-06-25 23:00
线程池
多线程
线程
Java
多线程高并发
高级篇(一)--线程池核心详解
阅读更多在说核心内容之前,需要问一个问题,既然单个线程的创建和销毁都很简单,我们为什么要使用线程池?使用池化技术是为了什么?估计工作过很多年的老鸟们对这些东西都能说出个一二三来,无非就是以下几点:1、线程相对于进程而言,虽然是轻量级的,但是它的创建依然需要占用我们那点宝贵的内存资源。如果无限制的创建线程,对应垃圾回收而言也是很有压力的,毕竟线程也是对象。使用线程池统一进行线程的调度,便于管理和控制
zhaodengfeng1989
·
2018-06-25 23:00
线程池
多线程
线程
Java
多线程高并发
高级篇(一)-信号量semaphore
阅读更多
多线程高并发
篇终于到了高级篇。
zhaodengfeng1989
·
2018-04-23 23:00
Java
多线程高并发
基础篇(六)-JMM重排序规则
阅读更多我们知道,重排序的目的是在不改变程序执行结果的前提下,提高编译器和处理器对程序的执行性能。但是,重排序不是任意的,所谓无规矩不成方圆。理解重排序就需要知道重排序必须遵守的规则,总结起来就是我们今天要说的Happens-Before规则。在JSR-133:JavaTMMemoryModelandThreadSpecification中有相关描述,原版英文请见pdf文件,下载了一份供大家学习。
zhaodengfeng1989
·
2018-04-21 22:00
JMM
重排序
高并发
Java
多线程高并发
基础篇(六)-JMM重排序规则
阅读更多我们知道,重排序的目的是在不改变程序执行结果的前提下,提高编译器和处理器对程序的执行性能。但是,重排序不是任意的,所谓无规矩不成方圆。理解重排序就需要知道重排序必须遵守的规则,总结起来就是我们今天要说的Happens-Before规则。在JSR-133:JavaTMMemoryModelandThreadSpecification中有相关描述,原版英文请见pdf文件,下载了一份供大家学习。
zhaodengfeng1989
·
2018-04-21 22:00
JMM
重排序
高并发
Java
多线程高并发
基础篇(五)-Java内存模型(JMM)
阅读更多在虚拟机的规范中,定义了Java的内存模型(JMM),来屏蔽各种硬件和操作系统内存访问的差异。在JDK1.5(实现了JSR-133)发布后,Java内存模型就逐渐的完善起来了。一.并发编程要解决的关键问题我们知道,JMM是围绕着并发过程中如何处理原子性,可见性,有序性这3个特征建立的。1.原子性:有关原子性的内容请参考http://zhaodengfeng1989.iteye.com/bl
zhaodengfeng1989
·
2018-04-18 22:00
JMM
内存模型
高并发
Java
多线程高并发
基础篇(五)-Java内存模型(JMM)
阅读更多在虚拟机的规范中,定义了Java的内存模型(JMM),来屏蔽各种硬件和操作系统内存访问的差异。在JDK1.5(实现了JSR-133)发布后,Java内存模型就逐渐的完善起来了。一.并发编程要解决的关键问题我们知道,JMM是围绕着并发过程中如何处理原子性,可见性,有序性这3个特征建立的。1.原子性:有关原子性的内容请参考http://zhaodengfeng1989.iteye.com/bl
zhaodengfeng1989
·
2018-04-18 22:00
JMM
内存模型
高并发
Java
多线程高并发
进阶篇(三)-原子操作的实现原理
阅读更多要研究原子操作,就必须要对原子操作的来龙去脉有个清晰的认识。我们从原子操作的概念,以及处理器的原子操作和Java中原子操作的实现说起。一.原子操作的概念我们在物理学中知道,原子是一个不可再分的最小粒子。同理,原子操作(atomicoperation)就是指不可被中断的一个或者一系列操作。先来了解几个基本概念。二.处理器中如何实现原子操作在中,我们说到了总线锁和缓存锁的概念。没错,在多处理器
zhaodengfeng1989
·
2018-04-17 00:00
多线程
高并发
CAS
Java
多线程高并发
进阶篇(三)-原子操作的实现原理
阅读更多要研究原子操作,就必须要对原子操作的来龙去脉有个清晰的认识。我们从原子操作的概念,以及处理器的原子操作和Java中原子操作的实现说起。一.原子操作的概念我们在物理学中知道,原子是一个不可再分的最小粒子。同理,原子操作(atomicoperation)就是指不可被中断的一个或者一系列操作。先来了解几个基本概念。二.处理器中如何实现原子操作在中,我们说到了总线锁和缓存锁的概念。没错,在多处理器
zhaodengfeng1989
·
2018-04-17 00:00
多线程
高并发
CAS
Java
多线程高并发
进阶篇(二)-synchronized实现原理剖析
阅读更多在多线程并发编程中,线程安全是关注的重点。一般来说,使用多线程编程是为了获得更高的执行效率,如果连最基本的数据准确性都无法保证,那么谈论并发就没有任何意义。一.为什么说同步锁(synchronized锁)是重量级锁?在谈到高并发多线程编程中,估计大家接触到最多的就是synchronized,它在并发编程中是一个元老级别的角色。我们把synchronized锁(同步锁)称为重量级锁,是因为它
zhaodengfeng1989
·
2018-04-12 23:00
高并发
多线程
monitor
Java
多线程高并发
进阶篇(二)-synchronized实现原理剖析
阅读更多在多线程并发编程中,线程安全是关注的重点。一般来说,使用多线程编程是为了获得更高的执行效率,如果连最基本的数据准确性都无法保证,那么谈论并发就没有任何意义。一.为什么说同步锁(synchronized锁)是重量级锁?在谈到高并发多线程编程中,估计大家接触到最多的就是synchronized,它在并发编程中是一个元老级别的角色。我们把synchronized锁(同步锁)称为重量级锁,是因为它
zhaodengfeng1989
·
2018-04-12 23:00
高并发
多线程
monitor
Java
多线程高并发
进阶篇(一)-volatile实现原理剖析
阅读更多我们知道,在JVM的类加载机制中,是将外围的源码文件编译成字节码文件(.class)后加载到JVM中,然后Java通过执行引擎执行字节码,最终转化为汇编指令由CPU执行.我们说的并发编程机制,当然离不开JVM的实现和CPU的指令集.了解JMM(JavaMemoryModel,Java内存模型)都知道,JMM是围绕着原子性,有序性,可见性展开的.后面我会专门写一篇,阐述Java内存模型以及它
zhaodengfeng1989
·
2018-04-11 23:00
多线程
jvm
JMM
Java
多线程高并发
进阶篇(一)-volatile实现原理剖析
阅读更多我们知道,在JVM的类加载机制中,是将外围的源码文件编译成字节码文件(.class)后加载到JVM中,然后Java通过执行引擎执行字节码,最终转化为汇编指令由CPU执行.我们说的并发编程机制,当然离不开JVM的实现和CPU的指令集.了解JMM(JavaMemoryModel,Java内存模型)都知道,JMM是围绕着原子性,有序性,可见性展开的.后面我会专门写一篇,阐述Java内存模型以及它
zhaodengfeng1989
·
2018-04-11 23:00
多线程
jvm
JMM
Java
多线程高并发
进阶篇(一)-volatile实现原理剖析
阅读更多我们知道,在JVM的类加载机制中,是将外围的源码文件编译成字节码文件(.class)后加载到JVM中,然后Java通过执行引擎执行字节码,最终转化为汇编指令由CPU执行.我们说的并发编程机制,当然离不开JVM的实现和CPU的指令集.了解JMM(JavaMemoryModel,Java内存模型)都知道,JMM是围绕着原子性,有序性,可见性展开的.后面我会专门写一篇,阐述Java内存模型以及它
zhaodengfeng1989
·
2018-04-11 23:00
多线程
jvm
JMM
Java
多线程高并发
基础篇(四)-线程的上下文切换
阅读更多对于后端开发来说,上下文我们常接触.那什么是线程的上下文切换?1.线程的上下文切换在基础篇(一)中,我们讲到了时间片的概念.在单核处理器中,CPU就是通过给每个线程分配时间片执行来实现多线程.时间片是CPU分配给每个线程的执行时间段,这段时间都很短,只有几毫秒(ms),所以CPU必须来回切换各个线程来执行各自的任务,这样,对外看来,是在同时执行多个任务.可能让我们疑惑的是,CPU如何保证下
zhaodengfeng1989
·
2018-04-10 16:00
Java
多线程高并发
基础篇(三)-线程的生命周期及基本操作举例
阅读更多在说线程之前,有必要说下线程与进程之间的关系。附oracle官网链接:https://docs.oracle.com/javase/tutorial/essential/concurrency/procthread.html这里有原版的关于线程和进程的介绍,我们只简单介绍下,作为知识普及。一.进程与线程的关系1.进程:进程一般情况下是程序或者应用程序的同义词,是系统进行资源和调度的基本单位
zhaodengfeng1989
·
2018-04-06 14:00
Java
多线程高并发
基础篇(二)-并发级别
阅读更多由于临界区访问的限制,所以我们需要设置并发的访问控制策略,这就是并发级别.按照并发级别的分类,大致上可以分为阻塞、无饥饿、无障碍、无锁、无等待。Blocking(阻塞)1.Blocking2.Starvation-FreeObstruction-Free(无障碍)3.Obstruction-FreeLock-Free(无锁)4.Lock-Free(LF)Wait-Free(无等待)5.Wa
zhaodengfeng1989
·
2018-03-31 14:00
Java
多线程高并发
基础篇(一)-必须知道的基础概念
阅读更多对于
多线程高并发
,我们必须要知道这里面涉及的基本概念,就像学武功一样,在学习成套招式的时候,你必须要学会扎稳马步.我们先介绍
多线程高并发
中必须知道的几个概念.1.同步和异步同步和异步,通常用来形容一次请求调用
zhaodengfeng1989
·
2018-03-31 10:00
多线程并发下的HashMap
多线程并发下的HashMapHashMap在
多线程高并发
下时线程不安全的,可能会出现cpu占用过高(死循环)的情况。
Dazhu233
·
2018-03-24 21:26
Java
JDK设计篇--不变模式
为了保证临界区资源使用时不受其他线程干扰,使用锁控制可能是必不可少的,而同步锁控制会使系统的性能有所下降,为了尽可能提高并行程序的性能,我们可以使用一种不可改变的对象,依靠对象的不可变性,从而实现去锁操作,可以确保在
多线程高并发
情况下可以保持
zhaodengfeng1989
·
2018-03-13 23:00
设计模式
高并发
JDK设计篇--不变模式
为了保证临界区资源使用时不受其他线程干扰,使用锁控制可能是必不可少的,而同步锁控制会使系统的性能有所下降,为了尽可能提高并行程序的性能,我们可以使用一种不可改变的对象,依靠对象的不可变性,从而实现去锁操作,可以确保在
多线程高并发
情况下可以保持
zhaodengfeng1989
·
2018-03-13 23:00
设计模式
高并发
JDK设计篇--不变模式
为了保证临界区资源使用时不受其他线程干扰,使用锁控制可能是必不可少的,而同步锁控制会使系统的性能有所下降,为了尽可能提高并行程序的性能,我们可以使用一种不可改变的对象,依靠对象的不可变性,从而实现去锁操作,可以确保在
多线程高并发
情况下可以保持
zhaodengfeng1989
·
2018-03-13 23:00
设计模式
高并发
Java
多线程高并发
篇(一)--重入锁
阅读更多重入锁为什么叫重入锁?是因为同一个线程可以重复进入自己获取的锁.1.重入锁的特性1.1重入锁比synchronized更灵活,它能够显式指定何时加锁,何时解锁.(实例方法lock(),unlock())1.2中断响应使用ReentrantLock的实例方法lockInterruptibly()方法(建议使用可以响应中断的锁),可以在线程要求中断的时候进行响应,避免死锁情况下一直等待.pub
zhaodengfeng1989
·
2018-03-07 17:00
高并发
Java
多线程高并发
篇(一)--重入锁
阅读更多重入锁为什么叫重入锁?是因为同一个线程可以重复进入自己获取的锁.1.重入锁的特性1.1重入锁比synchronized更灵活,它能够显式指定何时加锁,何时解锁.(实例方法lock(),unlock())1.2中断响应使用ReentrantLock的实例方法lockInterruptibly()方法(建议使用可以响应中断的锁),可以在线程要求中断的时候进行响应,避免死锁情况下一直等待.pub
zhaodengfeng1989
·
2018-03-07 17:00
高并发
多线程高并发
调优
1.首先理解几个多线程的概念(1)线程安全:保证线程的调度顺序不变,以免引起数据不一致问题(2)线程同步:几个线程协调同步,当几个线程共享同一份资源时,调整执行顺序,当前一个线程完成时,再执行下一个(3)何为高并发:指程序在短时间内集中处理大量操作的情况,现实场景如:秒杀活动,抢票活动2.解决方案(1)负载均衡:负载到多个tomcat上进行缓冲,使用nginx的参数配置:upstreamwww.x
Invocation-man
·
2018-03-05 14:13
Java面试题——
多线程高并发
什么是线程?线程是进程中的一个实体,是被系统独立调度和分派的基本单位,它被包含在进程之中,是进程中的实际运作单位。线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。线程也有就绪、阻塞和运行三种基本状态。我们通过多线程编程,能更高效的提高系统内多个程序间并发执行的
haixwang
·
2018-03-01 21:40
多线程高并发
面试题-java
高并发时,JVM调优
然后使用ParNew+CMS进行垃圾回收,在
多线程高并发
的情况下,表现很好exportCATALINA_OPTS="$CATALINA_OPTS-Xms3000m"//堆初始值exportCATALINA_OPT
xueyepiaoling
·
2018-02-22 10:55
JVM
多线程高并发
下的主键自增策略
AtomicInteger类的理解与使用首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下:publicclassSample1{privatestaticIntegercount=0;synchronizedpublicstaticvoidincrement(){count++;}}以下是AtomicInteger的:publicclassSample2{priv
echo9310
·
2018-01-25 16:17
MySQL--物理文件组成基本配置详解
一、MySQLServer简介什么是MySQLMySQL是由MySQLAB公司(目前已经被SUN公司收归麾下)自主研发的,目前IT行业最流行的开放原代码的数据库管理系统之一,它同时也是一个支持
多线程高并发
多用户的关系型数据库管理系统
薄凉小伙
·
2018-01-22 23:43
数据库服务管理
【
多线程高并发
】java线程池
关键字::Executor框架,newFixedThreadPool,newSingleThreadExecutor,newCacheThreadPool,newScheduledThreadPool,ThreadPoolExecutor详解github地址:https://github.com/zhaikaishun/concurrent_programming本篇文章代码在Multi_005中
翟开顺
·
2017-10-26 23:47
多线程高并发
架构师成长之路
【
多线程高并发
】ThreadLocal,高并发下的单例模式
2.3ThreadLocalThreadLocal概念:线程局部变量,是一种多线程间并发访问变量的解决方案。与其synchronized等加锁方式不同,THreadLocal完全不提供锁,而使用空间换时间的手段,为每个线程提供变量的独立副本,以保障线程安全。在高并发量或者竞争激烈的场景,使用ThreadLocal可以在一定程度上减少锁竞争。当使用ThreadLocal维护变量时,ThreadLoc
翟开顺
·
2017-10-26 22:31
多线程高并发
架构师成长之路
理解高并发(2).我对并发编程的理解
下面是我所总结的一些很多人容易混淆的概念:1.高并发、
多线程高并发
高并发是请求,指的是多个客户端同一时刻向服务端发送请求,它是一种现象。比如,电商网站
毛志荣
·
2017-07-24 00:00
高并发
java
多线程高并发
学习笔记
[size=small]多线程,并发计算[/size]并发在单个资源个体的ing看下怎么样达到最大的利用价值,比如说一个服务器4个CPU*4核,并行是16,而高并发就可能实现160,用到的技术就是多线程[size=small]分布式[/size]当来1万个并发,以前的资源满足不了要求,那就并行的再多开几个资源服务器,而各个服务器之间就叫做分布式,说白了就是,不是一台server能干得了的计算了,多
五木子
·
2017-06-17 08:58
java多线程
java
大数据
MySQL 架构组成--物理文件组成
答:是目前IT行业最流行的开放源代码的数据库管理系统之一,它同时也是一个支持
多线程高并发
多用户的关系型数据库管理系统。特点:简单:安装简单高效:读写性能高,仅次于oracle可靠:运行稳定MySQL
Mr大表哥
·
2017-03-26 17:31
mysql
物理文件
架构组成
Mysql5.7
决定辞职了
sql退化了,
多线程高并发
的没有接触到(一直希望有场景可以去试试),公司核心的业务没有接触到。以前在外包除了写接口,还有部分业务功能代码可以实现,但是,在这儿,我基本上连业务功能
da_fish
·
2017-03-07 21:44
个人求职生涯
MySQL架构组成--物理文件组成
一、MySQL简介MySQL是由MySQLAB公司(已被ORACLE公司收购)自主研发的,目前IT行业最流行的开放源代码的数据库管理系统之一,是一个支持
多线程高并发
多用户的关系型数据库管理系统。
FJCA
·
2017-03-07 15:02
mysql
物理
文件组成
MySql
mysql存储引擎
什么是mysqlmysql有mysqldAB公司自主研发,是最流行的开发源代码的数据库管理系统之一,它同时也是一个支持
多线程高并发
多用户的关系型数据库管理系统mysql数据库以其简单高效可靠的特点。
chengxuyonghu
·
2017-03-05 14:53
mysql存储引擎
mysql架构组成
什么是mysqlmysql有mysqldAB公司自主研发,是最流行的开发源代码的数据库管理系统之一,它同时也是一个支持
多线程高并发
多用户的关系型数据库管理系统mysql数据库以其简单高效可靠的特点。
宏强
·
2017-03-02 21:33
数据库管理
function
procedure
云计算
MySQL 架构组成--物理文件
一、MySQLServer简介什么是MySQLMySQL是由MySQLAB公司(目前已经被ORACLE公司收归麾下)自主研发的,目前IT行业最流行的开放源代码的数据库管理系统之一,它同时也是一个支持
多线程高并发
多用户的关系型数据库管理系统
一盏烛光
·
2017-01-12 20:01
Linux
MySQL
杨文
MySQL
Java
多线程高并发
基础面试题
1.进程和线程有什么不同?(个人理解,不是标准答案)线程是CPU做任务调度的基本单元,但是线程不能独立于进程运行,只能属于某个进程,使用该进程的地址空间。一个进程至少拥有一个线程,进程和线程之间是拥有和被拥有的关系。参考:https://javarevisited.blogspot.com/2015/12/difference-between-thread-and-process.html2.多线
traveler_zero
·
2016-09-19 17:47
技术
Java
MySQL 架构组成--物理文件组成 for mysql6.7.13
.51cto.com/一、MySQLServer简介什么是MySQLMySQL是由MySQLAB公司(目前已经被SUN公司收归麾下)自主研发的,目前IT行业最流行的开放源代码的数据库管理系统之一,它同时也是一个支持
多线程高并发
多用户的关系型数据库管理系统
bpcyh1
·
2016-09-03 13:33
数据库
源代码
blank
数据库
skynet任务调度分析
云风同学开源的skynet,当前规模是8K+C代码和2K+lua代码,实现了一个
多线程高并发
的在线游戏后台服务框架,提供定时器、并发调度、服务扩展框架、异步消息队列、命名服务等基础能力,支持lua脚本。
a809146548
·
2016-01-05 11:00
C++
c
C语言
任务调度
C++11
Java、Scala和Go语言多线程并发对比测试结果和结论
: 综合性能测试和编码难易程度测试结果,本人从做项目的角度得出几点结论:1、 对于Java程序员,如果没有强制性的必要,不需要转到Scala和Go语言,因为Java+AKKA2.0足够好用了,足以应付
多线程高并发
应用
岸芷汀兰
·
2015-10-24 14:00
java
多线程高并发
读写控制 误区
先看一下下面的错误代码,对写加了synchronized控制,保证了写的安全,但是问题在哪里呢? public class testTh7 { private String data; public String read(){ System.out.println(Thread.currentThread().getName() + "read data "
qifeifei
·
2015-05-08 10:00
java thread
多线程高并发
解决办法
1線程間的代碼併做好同步工作,防止鎖的氾濫2用線程池,解决
多线程高并发
3还有使用异步的方法3.1异步就是解决
多线程高并发
的。多个操作可以投递到一个线程或几个线程上完成。
漠河的极光
·
2015-05-03 13:51
高并发
多线程
异步
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
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
其他