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线程池
:ThreadPoolExecutor源码分析
用过java线程的同学都应该大致了解,在java中,为了合理使用线程以合理利用资源、提高吞吐率以及加快响应时间,通常会使用
java线程池
,因为线程池架构设计合理,比起自己创建线程可能花销巨大来讲,线程池是一个很好的选择
Death_Eric
·
2018-06-11 19:15
Java
Java线程池
:ThreadPoolExecutor详解
用过java线程的同学都应该大致了解,在java中,为了合理使用线程以合理利用资源、提高吞吐率以及加快响应时间,通常会使用
java线程池
,因为线程池架构设计合理,比起自己创建线程可能花销巨大来讲,线程池是一个很好的选择
Ericsteves
·
2018-06-11 19:32
Java线程池
-自定义拒绝策略
Q:什么时候需要使用拒绝策略呢?A:当任务数量超过系统实际承载能力的时候就要用到拒绝策略了,可以说它是系统超负荷运行的补救措施。简言之,就是线程用完,队列已满,无法为新任务服务,则需一套机制来合理的处理这些问题。JDK提供了四种内置拒绝策略,我们要理解并记住,有如下的四种:1、DiscardPolicy:默默丢弃无法处理的任务,不予任何处理2、DiscardOldestPolicy:丢弃队列中最老
zhengqiangtan
·
2018-06-11 17:31
Java多线程
Java 线程池详解及实例代码
转载自
Java线程池
详解及实例代码这篇文章主要介绍了
Java线程池
的相关资料,并符实例代码,帮助大家学习参考,需要的朋友可以参考下线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源
茅坤宝骏氹
·
2018-06-08 07:07
java
线程池
Java线程池
的实现--Executor、ThreadPoolTaskExecutor、@Async的使用
一、为什么要使用线程池当我们需要的并发执行线程数量很多时,且每个线程执行很短的时间就结束了,这样,我们频繁的创建、销毁线程就大大降低了工作效率(创建和销毁线程需要时间、资源)。java中的线程池可以达到这样的效果:一个线程执行完任务之后,继续去执行下一个任务,不被销毁,这样线程利用率提高了。二、Jdk1.5后线程池//【固定的线程池】定义进程池并指定其大小ExecutorServicethread
hoaven
·
2018-06-05 17:21
J2SE
Java线程池
大小的设置
一般说来,大家认为线程池的大小经验值应该这样设置:(其中N为CPU的个数)如果是CPU密集型应用,则线程池大小设置为N+1如果是IO密集型应用,则线程池大小设置为2N+1如果一台服务器上只部署这一个应用并且只有这一个线程池,那么这种估算或许合理,具体还需自行测试验证。但是,IO优化中,这样的估算公式可能更适合:最佳线程数目=((线程等待时间+线程CPU时间)/线程CPU时间)*CPU数目因为很显然
点点滴滴的记录
·
2018-05-31 16:48
Java多线程
Java开发中的问题分析
限制
java线程池
运行线程以及等待线程数量的策略
对于java.util.concurrent.Executors所提供的FixedThreadPool,可以保证可以在内存中有固定数量的线程数运行。但是由于FixedThreadPool绑定的是LinkedBlockingQueue。队列的上限没有限制(默认上限为Integer.MAX_VALUE),不断的提交新的线程,会造成任务在内存中长时间的堆积。我们有可能面临如下的场景,主线程不断地提交任务
wxd_1024
·
2018-05-30 15:26
多线程
深入浅出
Java线程池
原理分析与使用
在我们的开发中“池”的概念并不罕见,有数据库连接池、线程池、对象池、常量池等等。下面我们主要针对线程池来一步一步揭开线程池的面纱。使用线程池的好处1、降低资源消耗可以重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度当任务到达时,任务可以不需要等到线程创建就能立即执行。3、提高线程的可管理性线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进
Alukar
·
2018-05-29 22:59
深入浅出
Java线程池
原理分析与使用
原文链接:https://juejin.im/post/5b0d5f566fb9a00a28498423在我们的开发中“池”的概念并不罕见,有数据库连接池、线程池、对象池、常量池等等。下面我们主要针对线程池来一步一步揭开线程池的面纱。使用线程池的好处1、降低资源消耗可以重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度当任务到达时,任务可以不需要等到线程创建就能立即执行。3、提高线
weixin_34390105
·
2018-05-29 14:47
阿里大牛带你深入浅出
Java线程池
原理分析与使用
在我们的开发中“池”的概念并不罕见,有数据库连接池、线程池、对象池、常量池等等。下面我们主要针对线程池来一步一步揭开线程池的面纱。使用线程池的好处1、降低资源消耗可以重复利用已创建的线程降低线程创建和销毁造成的消耗。2、提高响应速度当任务到达时,任务可以不需要等到线程创建就能立即执行。3、提高线程的可管理性线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进
小红牛
·
2018-05-22 17:08
JAVA线程池
原理以及几种线程池类型介绍
转自http://xtu-xiaoxin.iteye.com/blog/647580在什么情况下使用线程池?1.单个任务处理的时间比较短2.将需处理的任务的数量大使用线程池的好处:1.减少在创建和销毁线程上所花的时间以及系统资源的开销2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。线程池工作原理:http://www.ibm.com/developerworks
Angry_greens
·
2018-05-22 15:58
线程池
框架基础
Java线程池
实现原理之自定义线程池(一)
1.队列的概念谈到多线程先讲下队列的概念,之后的多线程学习会用到此类知识。队列分为:阻塞式队列(有界)、非阻塞式队列(无界),遵循着先进先出、后进后出的原则。阻塞队列与非阻塞队列区别:1.非阻塞式队列超出队列总数会丢失。2.阻塞式队列超出总数会进入等待(等待时间=设置超时时间)。3.获取队列方面:非阻塞式队列,如果为空返回null。阻塞式队列,如果为空也会进入等待。非阻塞式队列Concurrent
一抹微笑~
·
2018-05-16 11:00
前谷歌高级Java架构师分享工作8年经验(如何成为一名架构师)
HTTP协议TCP协议一致性Hash算法JVM如何加载字节码文件类加载器如何卸载字节码IO和NIO的区别,NIO优点
Java线程池
的实现原理,keepAliveTime等参数
qq_38306423
·
2018-05-14 19:52
springboot之多任务并行+线程池处理
我们的项目使用到了方式二,即Future的方案
Java线程池
Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,
Mi_Chong
·
2018-05-14 16:34
Java
Spring
Java线程池
拒绝策略
线程池拒绝策略的类图:大致有七种左右具体看下每个类的源码:AbortPolicy(直接抛异常)publicstaticclassAbortPolicyimplementsRejectedExecutionHandler{publicAbortPolicy(){}publicvoidrejectedExecution(Runnabler,ThreadPoolExecutore){thrownewRe
HappyBoyLi
·
2018-05-13 11:13
线程池
拒绝
策略
如何优雅的关闭
Java线程池
面试中经常会问到,创建一个线程池需要哪些参数啊,线程池的工作原理啊,却很少会问到线程池如何安全关闭的。也正是因为大家不是很关注这块,即便是工作三四年的人,也会有因为线程池关闭不合理,导致应用无法正常stop的情况,还有出现一些报错的问题。本篇就以ThreadPoolExecutor为例,来介绍下如何优雅的关闭线程池。01线程中断在介绍线程池关闭之前,先介绍下Thread的interrupt。在程序
清泉^_^
·
2018-05-10 11:00
Java线程池
异常处理
起因在Java默认的线程池中执行的程序,如果程序产生异常导致线程池里面的线程死掉,完全没有任何信息抛出来,这个是个很可怕的事情,程序静默,从日志看不到任何有用信息。解决办法线程池一般有两种提交办法:通过execute和submit两种方式往线程池提交我们的任务。如果是execute这种可以通过继承线程池,然后处理:importjava.util.concurrent.BlockingQueue;i
明翼
·
2018-05-09 18:00
如何优雅的关闭
Java线程池
面试中经常会问到,创建一个线程池需要哪些参数啊,线程池的工作原理啊,却很少会问到线程池如何安全关闭的。也正是因为大家不是很关注这块,即便是工作三四年的人,也会有因为线程池关闭不合理,导致应用无法正常stop的情况,还有出现一些报错的问题。本篇就以ThreadPoolExecutor为例,来介绍下如何优雅的关闭线程池。01线程中断在介绍线程池关闭之前,先介绍下Thread的interrupt。在程序
昵称4
·
2018-05-09 10:00
手写精简版的
java线程池
一、谈谈池化技术简单点来说,就是预先保存好大量的资源,这些是可复用的资源,你需要的时候给你。对于线程,内存,oracle的连接对象等等,这些都是资源,程序中当你创建一个线程或者在堆上申请一块内存时,都涉及到很多系统调用,也是非常消耗CPU的,如果你的程序需要很多类似的工作线程或者需要频繁的申请释放小块内存,如果没有在这方面进行优化,那很有可能这部分代码将会成为影响你整个程序性能的瓶颈。池化技术主要
愤怒的苹果ext
·
2018-05-06 14:20
java
教你如何监控 Java 线程池运行状态
转载自干货|教你如何监控
Java线程池
运行状态之前写过一篇
Java线程池
的使用介绍文章《线程池全面解析》,全面介绍了什么是线程池、线程池核心类、线程池工作流程、线程池分类、拒绝策略、及如何提交与关闭线程池等
茅坤宝骏氹
·
2018-05-06 14:05
java
多线程
JAVA线程池
ThreadPoolExecutor学习笔记
ThreadPoolExecutorpublicThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,TimeUnitunit,BlockingQueueworkQueue,ThreadFactorythreadFactory,RejectedExecutionHandlerhandler);corePool
luoyoub
·
2018-05-03 09:58
JAVA线程池
原理剖析
一般情况下,我们经常会创建大量的线程为我们完成分配的工作,但是有时候频繁的创建销毁线程也会给系统带来很大的损耗,因此,为了避免带给系统不必要的损耗和重复造轮子,我们引入了线程池的概念。本篇文章主要讲解线程的实现原理。请尊重劳动成果,转载标明原文地址:不清不慎的博客所谓线程池,就是一次性创建出多个线程,当一个任务到来的时候可以直接从线程池中获取一个线程来执行任务,不需要去创建;当任务执行完毕,直接将
不清不慎
·
2018-05-02 22:09
Java多线程
java Future 源码详解
缘起
java线程池
提供了几种执行线程的方式,其中Future是可以获取到线程的返回值的,那么他是怎么做到的呢?获取线程的返回值又有什么应用场景呢?本文带你走进Future,探究获取线程返回值的奥秘。
诺浅
·
2018-05-02 20:32
java基础到深入专栏
JAVA线程池
的实现原理
为了阅读方便,部分代码有所简化创建了解源码最主要的就是找入口,入口找到了,就可以一步步往下面看了。那么线程池的入口在哪里呢?当然是从创建线程池的地方开始。publicThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTime,TimeUnitunit,BlockingQueueworkQueue,RejectedE
诺浅
·
2018-05-02 20:16
java
java线程池
java线程池原理
java线程池源码
java基础到深入专栏
Java线程池
(一):ThreadPoolExecutor构造函数参数解析
Java:线程池学习(一):最近才写完毕业论文的初稿,现在终于有些时间来写一下博客了。那就来看看线程池的知识点吧。这篇文章只讲一下常用的一些线程池的构造方法吧。其他方面后面再写写(突然发现以前的博客写的都不太好,以后格式会注意写好一些)。先来看看我们常用的:看一下我们平常可能会用得比较多的Executors类中的四个静态方法:publicstaticExecutorServicenewCached
Adrian_Dai
·
2018-05-02 11:15
Java
线程池
前谷歌高级Java架构师分享工作8年经验(如何成为一名架构师)
HTTP协议TCP协议一致性Hash算法JVM如何加载字节码文件类加载器如何卸载字节码IO和NIO的区别,NIO优点
Java线程池
的实现原理,keepAliveTime等参数
JAVA葵花宝典
·
2018-04-26 00:00
Java知识点之二
1.
java线程池
1.java通过Executors提供四种线程池newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。
a20140724
·
2018-04-25 22:35
java学习
深入理解
Java线程池
:ScheduledThreadPoolExecutor
介绍自JDK1.5开始,JDK提供了ScheduledThreadPoolExecutor类来支持周期性任务的调度。在这之前的实现需要依靠Timer和TimerTask或者其它第三方工具来完成。但Timer有不少的缺陷:Timer是单线程模式;如果在执行任务期间某个TimerTask耗时较久,那么就会影响其它任务的调度;Timer的任务调度是基于绝对时间的,对系统时间敏感;Timer不会捕获执行T
chang_ge
·
2018-04-25 15:23
java
多线程
Java线程池
使用说明
前言既然此篇文章提到了线程的问题,那博主就送大家一套学习视频“java线程高并发实战教程”在公众号内回复“线程”即可获取一、简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们
互扯程序
·
2018-04-19 00:00
互联网开发
必须要理清的
Java线程池
(原创)
本文已独家授权鸿洋(hongyangAndroid)公众号发布!前言:本篇文章主要介绍的是Java(Javaee和Android开发都会涉及)中的线程池。线程池不仅是Java多线程编程的重要基础,而且也是Android面试和Javaee面试中,面试官心血来潮突然向你发难的一道面试题(可能他自己也说不清楚道不明白线程池的概念和应用场景,但他们就是想见你一脸尴尬的表情以此作为压低你工资的筹码)。说到线
骑小猪看流星
·
2018-04-18 18:04
java线程池
实现原理
出处:https://blog.csdn.net/hzw19920329/article/details/52372348问题一:线程池存在哪些状态,这些状态之间是如何进行切换的呢?查看ThreadPoolExecutor源码便知晓:[java]viewplaincopy//runStateisstoredinthehigh-orderbitsprivatestaticfinalintRUNNIN
毛毛虫91
·
2018-04-18 14:09
JAVA线程池
ThreadPoolExecutor与阻塞队列BlockingQueue
从Java5开始,Java提供了自己的线程池。每次只执行指定数量的线程,java.util.concurrent.ThreadPoolExecutor就是这样的线程池。以下是我的学习过程。首先是构造函数签名如下:[java]viewplaincopypublicThreadPoolExecutor(intcorePoolSize,intmaximumPoolSize,longkeepAliveTi
chang_ge
·
2018-04-17 10:30
java
多线程
Java线程池
中BlockingQueue的作用
关于线程池中BlockingQueue的疑问对于
Java线程池
,相信大家都或多或少使用过。关于其用法和原理介绍,网上已经有很多非常精彩的文章,珠玉在前,我就不献丑了。不了解的,可以参考这篇文章。
imxishang
·
2018-04-16 20:09
Java编程
Java线程池
的四种实现方法及实现原理及分析。
在阅读了《Android开发进阶,从小工到专家》的3.2.4.0~3.2.2.0内容后启发很大,所以写了一篇博客总结一下关于线程池的部分内容。0.首先什么是线程池?线程池就是创建多个线程并且进行管理的容器。(线程池是个容器,可以创建线程和管理线程,并且给线程分配任务)1.为什么要用线程池呢?我们都知道,在Java中创建一个线程其实是一个很简单的事情,只要newThread就可以了,但是这样做并不是
Nixo
·
2018-04-15 18:23
Java
Android
线程池
JAVA线程池
中队列与池大小的关系
JAVA线程池
中队列与池大小的关系转载自:http://blog.51cto.com/20150523/1654425JAVA线程中对于线程池(ThreadPoolExecutor)中队列,池大小,核心线程的关系写出自己的理解
魔杰座JackyZhou
·
2018-04-11 10:19
Java
java线程池
01-ThreadPoolExecutor构造方法参数的使用规则
为了更好的使用多线程,JDK提供了线程池供开发人员使用,目的在于减少线程的创建和销毁次数,以此达到线程的重复利用。其中ThreadPoolExecutor是线程池中最核心的一个类,我们先简单看一下这个类的继承关系。其中Executor是线程池的顶级接口,接口中只定义了一个方法voidexecute(Runnablecommand);线程池的操作方法都是定义子在ExecutorService子接口中
你是风儿
·
2018-04-10 15:00
深入剖析
Java线程池
与Executor框架(一) : 任务的抽象
摘要:在《Java并发:并发背景》一文中,从操作系统演进的角度解释了进程与线程出现的背景与原因。简单地说,进程实现了操作系统级别的并发,线程实现了进程级别的并发。通过使用多个线程来执行任务,不仅可以极大提高资源的利用率,而且可以满足很多场景下的实时性要求,实现任务并发、异步执行的效果。事实上,线程扮演的是Worker的角色,是Task的执行者。从Java的角度来看,Thread实现了Worker的
书呆子Rico
·
2018-04-07 23:41
Java
ABC
Java-并发编程
从源码讲解
java线程池
ThreadPoolExecuter的实现原理
线程池基本在每个应用中都会用到,而线程池涉及到的细节非常多,要想用好它,仅仅是了解它的api调用是不行的,而且如果你经常分析java线程堆栈,不了解线程池,那么涉及到线程池堆栈的代码也很难看懂,所以作为java程序员,应该好好研究下线程池的实现!类结构图示例publicclassThreadPoolTest{//固定大小的线程池://初始化一个指定线程数的线程池,其中corePoolSize==m
colie_li
·
2018-04-05 21:54
java线程
JAVA线程池
详解
Executor框架的两级调度模型在HotSpotVM的模型中,JAVA线程被一对一映射为本地操作系统线程。JAVA线程启动时会创建一个本地操作系统线程,当JAVA线程终止时,对应的操作系统线程也被销毁回收,而操作系统会调度所有线程并将它们分配给可用的CPU。在上层,JAVA程序会将应用分解为多个任务,然后使用应用级的调度器(Executor)将这些任务映射成固定数量的线程;在底层,操作系统内核将
hnwsqy
·
2018-04-03 15:08
Java
Java线程池
实现原理与源码解析(jdk1.8)
为什么需要线程池?线程池能够对线程进行统一分配,调优和监控:-降低资源消耗(线程无限制地创建,然后使用完毕后销毁)-提高响应速度(无须创建线程)-提高线程的可管理性Java是如何实现和管理线程池的?从JDK5开始,把工作单元与执行机制分离开来,工作单元包括Runnable和Callable,而执行机制有Executor框架提供。ScheduledThreadPool初始化的线程池可以在指定的时间内
猪杂汤饭
·
2018-04-03 10:49
个人总结
Java
Java线程池
ThreadPoolExecutor 参数的设置
转载自:https://blog.csdn.net/it666dhw/article/details/78832066JDK1.5中引入了强大的concurrent包,其中最常用的莫过了线程池的实现ThreadPoolExecutor,它给我们带来了极大的方便,但同时,对于该线程池不恰当的设置也可能使其效率并不能达到预期的效果,甚至仅相当于或低于单线程的效率。ThreadPoolExecutor类
习惯了沉默012
·
2018-03-30 08:04
Java
Java线程池
使用说明
一简介线程的使用在java中占有极其重要的地位,在jdk1.4极其之前的jdk版本中,关于线程池的使用是极其简陋的。在jdk1.5之后这一情况有了很大的改观。Jdk1.5之后加入了java.util.concurrent包,这个包中主要介绍java中线程以及线程池的使用。为我们在开发中处理线程的问题提供了非常大的帮助。二:线程池线程池的作用:线程池作用就是限制系统中执行线程的数量。根据系统的环境情
习惯了沉默012
·
2018-03-30 08:35
Java
java线程池
的核心线程数与最大的线程数的区别,饱和策略
1、当提交一个新任务到线程池时首先线程池判断基本线程池(corePoolSize)是否已满?没满,创建一个工作线程来执行任务。满了,则进入下个流程;其次线程池判断工作队列(workQueue)是否已满?没满,则将新提交的任务存储在工作队列里。满了,则进入下个流程;最后线程池判断整个线程池(maximumPoolSize)是否已满?没满,则创建一个新的工作线程来执行任务,满了,则交给饱和策略来处理这
qq_19006739
·
2018-03-25 17:58
java基础
Java线程池
Executor使用
引言合理利用线程池能够带来三个好处。第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:减少系统对于,外部服务的响应时间的等待。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,那么系统内存就会消耗完,所以就用引用到线程池的概念。线程池主要就了解一个方法就可以了了解几个参数corePoolSize(线程池的基本大小):当提交一个任务到线程池时,线程池会创建一个
黄村教父
·
2018-03-23 17:06
Java
并发编程
JAVA线程池
源码解析,之听爸爸的话
以前我都不会去写这一类的文章,因为不知道能给我带来什么好处,不过据说唠叨可以预防老年痴呆。我现在每天有时间都会阅读阅读源码,阅读源码的好处,可以提升架构能力,看大神是如何抽象接口的,可以完善思维,看大神把每种情况想得多全面,可以学习优化性能,看大神是用什么方式优化性能的,多看源码可以少踩坑,如果你觉得这都不是你想要的,那你可以当成英文短文看了,经常阅读源码,可以提升语感,看外国电影会发现听力好了很
北方教主
·
2018-03-23 01:58
java线程池
详解
阅读更多1、什么是线程池:java.util.concurrent.Executors提供了一个java.util.concurrent.Executor接口的实现用于创建线程池多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。假设一个服务器完成一项任务所需时间为:T1创建线程时间,T2在线程中执行任务的时间,T3销毁线程时间。如果:T
Breakout_Alex
·
2018-03-18 22:00
java
多线程
工作
java线程池
详解
阅读更多1、什么是线程池:java.util.concurrent.Executors提供了一个java.util.concurrent.Executor接口的实现用于创建线程池多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。假设一个服务器完成一项任务所需时间为:T1创建线程时间,T2在线程中执行任务的时间,T3销毁线程时间。如果:T
Breakout_Alex
·
2018-03-18 22:00
java
多线程
工作
java 创建线程池的4中方式
Java线程池
使用说明线程池的作用:线程池作用就是限制系统中执行线程的数量。根据系统的环境情况,可以自动或手动设置线程数量,达到运行的最佳效果;少了浪费了系统资源,多了造成系统拥挤效率不高。
奔跑吧爽爽
·
2018-03-17 13:36
java
创建
线程池
多线程
Java线程池
实现原理详解
文章目录原理概述线程池的几个主要参数的作用任务提交后的流程分析源码解析1.提交任务相关源码2.Worker的结构3.添加Callable任务的实现源码4.shutdown和shutdownNow方法的实现总结原理概述其实
java
疯狂哈丘
·
2018-03-16 21:32
Java技术
Java线程池
中的核心线程是如何被重复利用的?
Java线程池
中的核心线程是如何被重复利用的?
MingHuang1024
·
2018-03-15 17:07
android开发
上一页
33
34
35
36
37
38
39
40
下一页
按字母分类:
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
其他