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多线程】
java多线程
有哪些实际的应用场景?
多线程使用的主要目的在于:1、吞吐量:你做WEB,容器帮你做了多线程,但是他只能帮你做请求层面的。简单的说,可能就是一个请求一个线程。或多个请求一个线程。如果是单线程,那同时只能处理一个用户的请求。2、伸缩性:也就是说,你可以通过增加CPU核数来提升性能。如果是单线程,那程序执行到死也就利用了单核,肯定没办法通过增加CPU核数来提升性能。鉴于你是做WEB的,第1点可能你几乎不涉及。那这里我就讲第二
梨涡妈妈
·
2023-07-31 07:45
java
博客笔记大汇总
2019独角兽企业重金招聘Python工程师标准>>>关于我的博客大汇总整理目录介绍Java博客大汇总01.Java基础02.面向对象03.数据结构04.IO流知识05.
Java多线程
06.网络编程07
weixin_33923148
·
2023-07-30 05:12
人工智能
面试
json
python多线程
C.总结应用场景三.
java多线程
,以及和python多线程区别A.
java多线程
实现1.使用Thread类:2.使用Runnable接口:3.使用线程池:B.
java多线程
和python多线程区别一.
默o。
·
2023-07-29 21:43
java
开发语言
python
多线程
pycharm
matplotlib
Java多线程
(一)
目录一、认识线程1.1线程是什么1.2为什么要有线程1.3进程和线程的区别1.4Java的线程和操作系统的关系二、进程调度的基本过程2.1pcb关于进程调度的属性2.2进程调度一、认识线程1.1线程是什么一个线程就是一个"执行流",每个线程之间都可以按照顺讯执行自己的代码,多个线程之间"同时"执行着多份代码。例如:一家公司要去银行办理业务,既要进行财务转账,又要进行福利发放,还得进行缴社保。如果只
Endeavor945
·
2023-07-29 21:21
Java多线程
java
后端
Java 多线程开发
转载请注明出处http://blog.csdn.net/evankaka写在前面的话:此文只能说是
java多线程
的一个入门,其实Java里头线程完全可以写一本书了,但是如果最基本的你都学掌握好,又怎么能更上一个台阶呢
jiayifang1
·
2023-07-29 01:18
探索Java API学习路线:从基础到高级的全面指南
学习Java基础第二阶段:熟悉常用的JavaAPI1.Java标准库2.JavaAPI文档第三阶段:深入学习特定领域的JavaAPI1.JavaGUIAPI2.Java数据库连接(JDBC)API3.
Java
IT·陈寒
·
2023-07-29 01:35
Java学习路线
java
学习
开发语言
【
Java多线程
】锁
文章目录类型分类悲观锁、乐观锁共享锁、独占锁公平锁、非公平锁可重入锁、不可重入锁可中断锁、不可中断锁自旋锁、非自旋锁轻量级锁、重量级锁偏向锁,非偏向锁Java共的锁synchronizedLock相关ReentrantLockReentrantReadWriteLock类型分类悲观锁、乐观锁悲观锁:线程获取不到锁资源时,会再次调度CPU重新尝试获取锁资源。synchronizedLock接口相关的
在学习的小陈程序猿
·
2023-07-28 18:10
Java多线程
java
开发语言
【
Java多线程
】实现线程按顺序执行
文章目录Thread.join()方法使用Object.wait()方法使用可重入锁Condition的await方法使用Executors.newSingleThreadExecutor()创建一个单线程的线程池使用CountDownLatch使用CyclicBarrier(回环栅栏)使用Semaphore(信号量)Thread.join()方法编码实现:/***@Authorchenwenli
在学习的小陈程序猿
·
2023-07-28 18:40
Java多线程
java
python
开发语言
【
Java多线程
】并发容器
ConcurrentHashMapCopyOnWriteArrayListCopyOnWriteArraySetConcurrentLinkedQueueoncurrentLinkedDueueConcurrentSkipListMapConcurrentSkipListSetArrayBlockingQueueLinkedBlockingQueueLinkedBlockingDueuePrior
在学习的小陈程序猿
·
2023-07-28 18:40
Java多线程
java
开发语言
Java多线程
文章目录方式1:继承Thread类方式2:实现Runnable接口变形写法对比两种方式方式1:继承Thread类Java通过继承Thread类来创建并启动多线程的步骤如下:定义Thread类的子类,并重写该类的run()方法,该run()方法的方法体就代表了线程需要完成的任务创建Thread子类的实例,即创建了线程对象调用线程对象的start()方法来启动该线程代码如下://自定义线程类publi
我是小水水啊
·
2023-07-28 10:42
Java
java
python
开发语言
python的多进程/多线程及其返回值的获取,类比
Java多线程
文章目录一、不考虑返回值时可直接使用threading/multiprocessing,类似的Java的Thread及Runable也无法获取返回值(Callable可以)二、使用ThreadPoolExecutor/ProcessPoolExecutor,同Java的ThreadPoolExecutor一样从Future获取子线程/进程的返回值会阻塞三、使用asyncio协程实现“多线程”返回值
jwolf2
·
2023-07-28 07:17
python
java
开发语言
java多线程
(线程)
进程与线程进程程序执行过程中,进程是动态的,放在磁盘中的文件并不是进程,只有在运行状态的才可以称之为进程;持有资源和线程。进程是资源和线程的载体。线程线程是系统中的最小执行单元;同一进程中可以有多个线程;线程共享进程的资源。线程的交互:多个线程需要正确的通信才能进行工作。交互方式有互斥和同步两种。区别1、操作系统引入线程机制后,进程是资源分配和调度的单位,线程是处理机调度和分配的单位,资源分配给进
lgcgkCQ
·
2023-07-28 06:29
Java
JUC
java
java多线程
与高并发(四)Atomic类和线程同步新机制
1.Atomic类和线程同步新机制这章我们来继续将Amotic的问题,然后将除了synchronized之外的锁。事实上,无锁化操作比synchronized效率更高。下面写个程序分别说明synchronize和longAdder,Amoticpackagecom.learn.thread.three;importjava.util.concurrent.atomic.AtomicLong;imp
小偷阿辉
·
2023-07-27 21:09
Java多线程
之Lock使用深入理解
1Lock原理深入理解Java中已经有了synchronized重量级锁,那么为什么还得有Lock,之所以引入Lock,得先了解synchronized原理,继而就会发现其缺陷1.1synchronized的缺陷synchronized是java中的一个关键字,也就是说是Java语言内置的特性。那么为什么会出现Lock呢?如果一个代码块被synchronized修饰了,当一个线程获取了对应的锁,并
懒鸟一枚
·
2023-07-27 16:02
#
线程
java基础
java
Java 锁机制 - 说说线程安全问题
在
Java多线程
编程当中,提供了多种实现Java线程安全的方式:最简单的方式,使用Synchronization关键字使用java.util.concurrent.atomic包中的原子类,例如AtomicInteger
撸帝
·
2023-07-27 16:42
由浅深入理解
java多线程
,java并发,synchronized实现原理及线程锁机制
由浅深入理解
java多线程
,java并发,synchronized实现原理及线程锁机制[TOC]多进程是指操作系统能同时运行多个任务(程序)。多线程是指在同一程序中有多个顺序流在执行。
lgx211
·
2023-07-27 09:47
【Java】
Java多线程
编程基础
文章目录1.进程与线程1.1进程与线程的基本认识1.1.1进程(Process)1.1.2线程(Thread)1.2为什么会有线程1.2.1以看视频为例2.多线程实现2.1Thread类实现多线程2.2Runnable接口实现多线程2.3Callable接口实现多线程2.3多线程运行状态2.3.1创建状态2.3.2就绪状态2.3.3运行状态2.3.4阻塞状态2.3.5终止状态3.多线程常用操作方法
逆流°只是风景-bjhxcc
·
2023-07-27 07:36
#
并发编程
Java程序员进阶之路
java
python
开发语言
Java的第十三篇文章——
JAVA多线程
目录学习目标1.线程的基本概念1.1进程1.2线程2.Java实现线程程序2.1java.lang.Thread类2.2线程的内存图2.3Thread类的方法3.Java实现线程程序3.1java.lang.Runnable接口3.2实现接口的好处4.线程安全4.1售票例子4.2同步代码块4.3同步方法5.死锁6.JDK5新特性Lock锁7.生产者与消费者例题7.1安全问题产生7.2线程方法sle
木子斤欠木同
·
2023-07-27 01:59
后端开放(JavaSE)
java
开发语言
java 线程的创建、查看、杀死、运行原理
上一节
java多线程
与高并发(一):进程与线程,并行与并发,同步与异步,单核与多核下一节创建和运行线程方法1:直接使用Thread把【线程】和【任务】合并了//创建线程对象Threadt=newThread
丨康有为丨
·
2023-07-26 16:44
java多线程&高并发
java
开发语言
【
Java多线程
学习2】线程的生命周期,线程上下文切换,什么是死锁及如何预防死锁等
一、线程的生命周期和状态1、New:创建状态、初始状态。线程被创建出来但是没有被调用start()。2、Runnable:就绪状态。当新建的线程被启动后(新建的线程被调用了start()方法),就进如了就绪状态,等待系统分配CPU资源。3、Running:运行状态。就绪的线程获得了CPU时间片(timeslice)后就处于Running运行状态。4、Blocked:阻塞状态。线程在等待获取锁、等待
时间_wys
·
2023-07-26 08:27
java
学习
Java多线程
总结
1)并发和并行2)进程和线程3)线程调度分时调度抢占调度(java)4)主线程主线程:执行主(main)方法线程5)创建多线程java程序6)多线程原理publicclassMythredextendsThread{@Overridepublicvoidrun(){for(inti=0;i<10;i++){System.out.println("run"+1);}}}7)多线程原理:随机性打印8)
小崔的技术博客
·
2023-07-25 21:33
Java精进
java
thread
并发编程
[2023] 深入理解
java多线程
并发篇(1)
1、线程线程的状态java中六种线程状态-java划分方式NEW:新建RUNNABLE:可运行—-会被CPU执行BLOCKED:阻塞WAITLNG:等待TIMED_WAITING:等待(有时限)TERMINATED:终结操作系统层面的五种状态新建分到CPU时间的:运行可以分到CPU时间的:就绪分不到CPU时间的:阻塞终结线程池对象—ThreadPoolExecutor()corePoolSize:
方渐鸿
·
2023-07-25 19:58
java
开发语言
jvm
11.Netty源码之线程模型
需要具备其他的额外技能:要熟悉
Java多线程
编程,因为NIO编程涉及到Reactor模式,你必须对多线程和网络编程非常熟悉,才能编写出高质量的NIO程序。开发工作量和难度都非常
然而,然而
·
2023-07-25 17:13
java学习(一):多线程
系列文章目录提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、
java多线程
1.学习视频2.参考网址3.学习总结前言多线程基础,还有很多高级用法要继续学习一、
java
xyy_496
·
2023-07-25 14:29
java
java
Java多线程
基础复习
文章目录多线程1.进程进程属性并发和并行虚拟地址空间2.线程概念线程的创建方式3.Thread类常见构造方法和属性线程的状态优先级后台线程线程是否存活start和run4.线程的一些基本操作线程中断(interrupted)线程等待joincurrentThread(获取当前线程引用)线程休眠sleep多线程1.进程进程是操作系统中非常核心的一个概念,进程也叫做“任务”,一个运行起来的程序就称为进
爱敲代码的三毛
·
2023-07-25 03:20
多线程
java
进程
多线程
java多线程
的实现方式
1:继承Thread并重写run方法,并调用start方法/***Java实现多线程*继承Thread类,重写run方法*/classMyThreadextendsThread{@Overridepublicvoidrun(){//此处为thread执行的任务内容System.out.println(Thread.currentThread().getName());}}publicclassDe
analanxingde
·
2023-07-24 20:29
解锁
Java多线程
安全的秘密武器:探索ThreadLocal的神奇力量!
关于作者:CSDN内容合伙人、技术专家,从零开始做日活千万级APP。专注于分享各领域原创系列文章,擅长java后端、移动开发、人工智能等,希望大家多多支持。目录一、导读二、概览三、使用场景3.1使用3.2缺点四、原理解析4.1为每个线程创建变量副本4.2源码五、推荐阅读一、导读我们继续总结学习Java基础知识,温故知新。二、概览背景:当多线程访问共享可变数据时,涉及到线程间同步的问题,并不是所有时
Android西红柿
·
2023-07-24 14:09
java学习之路
java
安全
android
Java多线程
的使用详解
1线程的基本概念1.1进程进程的概念:应用程序运行的时候进入到内存,程序在内存中占用的内存空间(进程)。1.2线程(Thread)在内存和CPU之间,建立一条连接通路,CPU可以到内存中取出数据进行计算,这个连接的通路,就是线程。一个内存资源:一个独立的进程,进程中可以开启多个线程(多条通路)。并发:同一个时刻多个线程同时操作了同一个数据并行:同一个时刻多个线程同时执行不同的程序多线程与多进程的区
Alfred_XiaJL
·
2023-07-24 03:19
Java
java
开发语言
后端
多线程
Java多线程
(详细)
1.进程与线程的关系由于进程与线程有很浓厚的关系,所以推荐先看Java多进程(详细)对于多线程的编程推荐看多线程代码实现进程是操作系统进行资源分配的基本单位,线程是操作系统进行调度执行的基本单位操作系统创建线程时会先创建进程,给进程分配好资源,再在进程中创建线程(进程与线程之间的关系可以认为是进程包含了线程)线程直接复用进程这里分配到的资源一个进程至少要包含一个线程,最初创建出的一个线程,可以视为
小林想被监督学习
·
2023-07-24 02:53
java
开发语言
Java多线程
处理List
项目场景:项目场景:调用第三方提供的接口去获取List中用户的组信息。问题描述需要拿用户的id去调用第三方接口,成功调用一次需要0.3s左右,当有1000个用户时,就需要花费0.3*1000s=5min,页面就会一直加载那么久。之前是通过for循环list去调用接口的,代码如下://当list长度为1000时,则需要循环1000次for(Useruser:list){loadUserGroups(
JonTang
·
2023-07-24 01:47
Java
java
面试之JVM的储存空间
1、程序计数器是一块较小的内存空间2、是当前线程所指向的字节码的行号指数器3、
java多线程
执行时,每条线程都有一个独立的程序计数器,各条线程之间计数器互不影响。
刷帅耍帅
·
2023-07-23 11:17
面试
职场和发展
java多线程
并发之旅-28-Executor CompletionService ExecutorCompletionService 详解
CompletionService接口定义了一系列的方法的接口。publicinterfaceCompletionService{Futuresubmit(Callabletask);Futuresubmit(Runnabletask,Vresult);Futuretake()throwsInterruptedException;Futurepoll();Futurepoll(longtimeou
老马啸西风
·
2023-07-22 17:29
thread
【
Java多线程
-4】CompletionService详解
CompletionService详解1CompletionService解析1.1构造方法1.2方法2CompletionService使用示例3完整源码我们知道,通过Future和FutureTask可以获得线程任务的执行结果,但它们有一定的缺陷:Future:多个线程任务的执行结果,我们可以通过轮询的方式去获取,但普通轮询会有被阻塞的可能,升级轮询会非常消耗cpu。FutureTask:虽然
云深i不知处
·
2023-07-22 17:57
#
吃透线程
并发编程
多线程
Completion
异步编程
Java多线程
简介
多线程在Java中无处不在,在上一篇(Java线程概念理解)中我们看到就算是一个最简单的Java类中也涉及到了多线程,大家可能会疑惑,为什么一个这么简单的Java类中,却启动了那么多“无关”的线程,Java是不是将简单的问题搞复杂了呢?答案当然是否定了,这是因为正确的使用多线程能够将耗时的处理大大的缩减时间,能够让用户的体验更加友好。使用多线程的主要原因有以下几点:更多的处理器核心现代处理器的核数
Java技术天地
·
2023-07-22 16:42
面试题汇总——
Java多线程
现在有三个线程:T1、T2和T3。如何确保T2在T1完成后执行,T3在T2完成后执行?join()方法t1.start();t1.join();t2.start();t2.join();t3.start();t3.join();join方法需要捕获异常try{t1.join();}catch(InterruptedExceptione){//异常捕捉处理}参考:
weightOneMillion
·
2023-07-22 14:32
面试题总结大全——更新中
java
开发语言
互联网大厂裁员30%,仍靠第3版
Java多线程
编程笔记成功逆袭大厂
互联网大厂裁员30%-50%据了解,从2021年的7月份,一直到今年的3月15日,国内的互联网大厂们在9个月的时间里,累计裁撤了21.68万人,互联网大厂再遇冷冬,完成目标后火速被开除;也就是说,在这9个月的时间内,中国凭空多出了21.68万个失业员工。参与这大规模裁员活动的,除了腾讯、阿里和美团等企业,还有网易、京东、微博和拼多多。可以说中国有实力的互联网企业都在裁员。可能有人不理解,为什么中国
C_bb56
·
2023-07-21 21:41
java多线程
面试之手写阻塞队列,实现生产者和消费者模式。
什么是阻塞队列首先,阻塞队列是一个队列,满足队列的基本数据结构,先进先出。其次,当队列满时,队列会阻塞插入元素的线程,直到队列不满;当队列空时,获取元素的线程会等待队列变为非空。阻塞队列常用于生产者和消费者的场景,生产者是向队列里添加元素的线程,消费者是从队列里取元素的线程。如何写一个阻塞队列手写阻塞队列是多线程面试中常见的问题,能考察面试者对多线程和锁的基础知识。通过synchronized关键
MaYuKang
·
2023-07-21 17:54
多线程
阻塞队列
多线程
生产者消费者
Java多线程
——生命周期、并发、临界资源问题
目录进程是什么?线程是什么?那这样做(同时运行)有什么优点呢?(为什么要有多线程?)那什么时候需要使用多线程?那线程和进程的关系是什么?那线程和进程之间有什么区别?线程的生命周期有哪些?实战演练:方法一:继承Thread,重写run()方法start()和run()的区别?方法二:使用Runnable接口线程的常用方法——线程命名、优先级、礼让1、线程命名2、线程优先级3、线程礼让4、线程睡眠sl
吃豆子的恐龙
·
2023-07-21 10:20
java
线程
并发
Java多线程
Balking模式不需要就算了
Balking模式如果现在不适合执行这个操作,或者没有必要执行这个操作,就停止处理,直接返回,这就是Balking模式。示例程序Data表示可以修改并保持数据的类SaverThread定期保持数据内容的类ChangerThread修改并保存数据内容的类Main测试程序行为的类Data类importjava.io.IOException;importjava.io.FileWriter;import
aimountain
·
2023-07-21 09:54
JAVA多线程
多线程基本概念程序是计算机指令的集合,它以文件形式存储在磁盘上进程是一个程序在其自身的地址空间的一次执行活动进程是资源申请、调度和独立运行的单位线程是进程中的一个单一的连续控制流程。一个进程可以拥有多个线程线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度,区别在于线程没有独立的存储空间,而是和所属进程中的其它线程共享一个存储空间,这使得线程间的通信远较进程简单为什么要使用多
beyond_champion
·
2023-07-21 07:28
Java
java
jvm
开发语言
Java岗开发者福利!Github热度飙升的多线程学习手册,已获31k+star
小编在浏览完市面上
Java多线程
相关的资料后,感觉很多技术点讲解的都很模糊,于是在Github社区内展开了对多线程原理的讨论。
欧子说Java
·
2023-07-20 23:22
java
jvm
面试
Java多线程
并发实战详解,最详细
这里写目录标题一、简介二、线程的状态1、New(新建)和运行2、start()和run()的区别3、线程的方法4、守护线程三、多线程的信息共享四、消费者-生产者案例五、
Java多线程
锁1、锁状态2、死锁
码农_小庄
·
2023-07-20 18:27
Java进阶篇
java
多线程
并发
Java多线程
与并发编程终极宝典
阅读本文需要了解的概念原语所谓原语,一般是指由若干条指令组成的程序段,用来实现某个特定功能,在执行过程中不可被中断。在操作系统中,某些被进程调用的操作,如队列操作、对信号量的操作、检查启动外设操作等,一旦开始执行,就不能被中断,否则就会出现操作错误,造成系统混乱。所以,这些操作都要用原语来实现原语是操作系统核心(不是由进程,而是由一组程序模块组成)的一个组成部分,并且常驻内存,通常在管态下执行。原
思想永无止境
·
2023-07-20 17:56
JavaSE
java
synchronized
lock
线程锁
线程安全
【
Java多线程
】线程安全、线程同步、互斥锁、Lock锁
文章目录一、互斥锁二、同步方法三、同步代码块四、线程死锁五、释放锁六、Lock锁七、线程间通信等待唤醒机制各个线程是通过竞争CPU时间而获得运行机会的,什么时候得到CPU,占用多久,是不可预测的,一个正在运行的线程在什么地方被暂停是不确定的,所以,要解决多线程并发访问一个资源的安全性问题,Java中提供了同步机制(synchronized)来解决。在某个线程修改共享资源的时候,其他线程不能修改该资
南有乔木i
·
2023-07-19 23:56
JavaSE
java
多线程
互斥锁
Lock锁
同步
JAVA多线程
(基础知识笔记)
一、线程基础1.1线程的实现方法(1)继承Thread类(2)实现Runnable接口:Threadt1=newThread(newRunnable(){重写run方法})。或者也可以Threadt1=newThread(t2)(3)实现Callable接口,使用futureTask获得返回值。自定义线程类中的成员变量针对其他的线程可以分为共享和不共享,多线程之间的交互是很重要的技术点。共享的成员
黑色叉腰魔头
·
2023-07-19 18:34
Java架构师面试前先了解自己是什么水准
能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池…:;java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;
java
java梦梦
·
2023-07-19 00:45
java
学习
开发语言
spring
架构
java多线程
之线程的生命周期
1.生命周期一个事物从出生的那一刻开始到最终死亡中间的整个过程.在事物的漫长的生命周期过程中,总会经历不同的状态(婴儿状态/青少年状态/中年状态/老年状态...).线程也是有生命周期的,也是存在不同的状态的,状态相互之间的转换.线程对象的状态存放在Thread类的内部类(State)中:注意:Thread.State类其实是一个枚举类.因为线程对象的状态是固定的,只有6种,此时使用枚举来表示是2.
西门吹雪叶孤城
·
2023-07-18 18:10
java多线程
Java基础
线程的生命周期
多线程的生命周期
多线程的运行状态
多线程的阻塞状态
Java多线程的生命周期
Java多线程
&并发知识细节(二)
在上一章节中,我们分析了线程和任务的基本概念,并总结了线程安全问题的三个特性已经相应的解决方案。针对线程安全问题,除了volatile和CAS之外,还可以通过加锁来解决。一:synchronized这个关键字大家很熟悉,也是使用频率最高的同步锁。这是个Java关键字,使用的是Jvm的内置实现。synchronized依赖于某个对象,原理是在Jvm眼里,每个对象都可以理解为有一个相对应的monito
TimeString
·
2023-07-18 15:38
Java多线程
(超详解)
目录1.线程简介1.1程序1.2进程1.3线程1.4多线程1.5普通方法调用和多线程2.线程创建2.1继承Thread类2.2实现Runnable接口2.3实现Callable接口(了解)2.4网图下载2.4.1通过继承Thread类实现网图下载2.4.2通过实现Runnable接口实现网图下载2.4.3通过实现Callable接口实现网图下载3.Lambda表达式4.线程状态4.1线程的状态4.
疯狂的小鸡仔
·
2023-07-18 14:34
java
servlet
jvm
1024程序员节
Java多线程
:使用多线程的几种方式以及对比
前言
Java多线程
的使用有三种方法:继承Thread类、实现Runnable接口和使用Callable和Future创建线程,本文将对这三种方法一一进行介绍。
Lemonrel
·
2023-07-18 09:49
上一页
17
18
19
20
21
22
23
24
下一页
按字母分类:
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
其他