韩国梯子游戏有规律吗下载;如何对其模型进行参数调优?

更多频道内容在这里查看
爱奇艺用户将能永久保存播放记录
过滤短视频
暂无长视频(电视剧、纪录片、动漫、综艺、电影)播放记录,
按住视频可进行拖动
&正在加载...
请选择打赏金额:
收藏成功,可进入
查看所有收藏列表
当前浏览器仅支持手动复制代码
视频地址:
flash地址:
html代码:
通用代码:
通用代码可同时支持电脑和移动设备的分享播放
用爱奇艺APP或微信扫一扫,在手机上继续观看
当前播放时间:
一键下载至手机
限爱奇艺安卓6.0以上版本
使用微信扫一扫,扫描左侧二维码,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:
设备搜寻中...
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
连接失败!
请确保您要连接的设备(仅限安卓)登录了同一爱奇艺账号 且安装并开启不低于V6.0以上版本的爱奇艺客户端
部安卓(Android)设备,请点击进行选择
请您在手机端下载爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
其他安装方式:手机浏览器输入短链接http://71.am/udn
下载安装包到本机:
爱奇艺云推送
请您在手机端登录爱奇艺移动APP(仅支持安卓客户端)
使用微信扫一扫,下载爱奇艺移动APP
180秒后更新
打开爱奇艺移动APP,点击“我的-扫一扫”,扫描左侧二维码进行登录
没有安装爱奇艺视频最新客户端?
, 可在设置中重新打开噢!
30秒后自动关闭
【梯子云教程】8.宝贝属性优化">【梯子云教程】8.宝贝属性优化
播放量数据:快去看看谁在和你一起看视频吧~
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制
安装爱奇艺视频客户端,
马上开始为您下载本片
5秒后自动消失
&li data-elem="tabtitle" data-seq="{{seq}}"& &a href="javascript:void(0);"& &span>{{start}}-{{end}}&/span& &/a& &/li&
&li data-downloadSelect-elem="item" data-downloadSelect-selected="false" data-downloadSelect-tvid="{{tvid}}"& &a href="javascript:void(0);"&{{pd}}&/a&
选择您要下载的《
色情低俗内容
血腥暴力内容
广告或欺诈内容
侵犯了我的权力
还可以输入
您使用浏览器不支持直接复制的功能,建议您使用Ctrl+C或右键全选进行地址复制
本奖品由提供
红包雨下完了,下次早点来噢~成为Java GC专家(5)—Java性能调优原则 - ImportNew
| 分类: ,
| 标签: ,
这是“”系列的第五篇文章。在第一篇中,我们已经学习了不同的GC算法流程、GC的工作原理、新生代(Young Generation)和老年代(Old Generation)的概念。你应该了解了JDK7中5种GC类型以及各种类型对应用程序的影响。
在第二篇中,阐述了是怎样实际执行垃圾回收的,我们怎样去监控GC以及哪些工具能让这个过程更高效。
第三篇中展示了一些基于真实案例的最佳实践。同时讲解了怎样尽量少地将对象放入老年代空间(Old Area),避免频繁地执行完全垃圾回收(Full GC)。还说明了如何设置GC的类型和内存大小。
在第四篇中,解释了MaxClients参数的重要性以及它在垃圾回收过程中对整个系统性能的显著影响。
第五篇文章将讲解Java程序性能调优的原则,尤其是在这个过程中必要的知识以及判断你的程序是否需要调优。还会介绍调优过程中你可能遇到的问题。本文最后会给出一些建议,依据这些你能在对Java程序调优时做出更好的决策。
并不是每个程序都需要调优。如果一个程序性能表现和预期一样,你不必付出额外的精力去提高它的性能。然而,在程序调试完成之后,很难马上就满足它的性能需求,于是就有了调优这项工作。无论哪种编程语言,对应用程序进行调优都需要丰富的技术知识并且注意力高度集中。另外,你也不应该用相同的方式对两个程序调优,因为每个程序都有它自己独特的运作方式和不同的资源使用方式。正因如此,调优比写程序需要更多基础知识。例如,你需要熟悉虚拟机、操作系统和计算机架构。而当你面对在这些知识基础上编写的程序时,就能成功地对它进行调优。
有时调优Java程序只需要修改JVM参数,比如GC的参数。但也有些时候需要修改程序代码。无论那种方法,你首先都需要监控执行Java程序的进程。因此本文会讲解下面几个问题:
怎样监控Java程序?
应该给JVM设置怎样的参数?
如何确定是否需要修改代码?
对Java程序进行调优的必要知识
Java程序在Java虚拟机中运行。因此为了进行调优,你需要理解JVM的工作流程。我之前有一篇博文,将让你对JVM有深入的了解。
本文中有关JVM运作过程的知识主要关于GC和Hotspot。尽管只有这两方面的知识可能无法对所有的Java程序进行调优,但是这两个因素在大多数情况下都影响着Java程序的性能。
值得注意的是,从操作系统的角度来看,JVM也是一个应用程序进程。为了给JVM创造良好的运行环境,你还需要对操作系统分配资源的过程有所了解。这意味着,想要调优Java程序,除了JVM你也应该理解操作系统或者硬件的工作方式。
需要具有的知识还有Java这门语言本身。另外理解锁和并发、类加载和对象创建都是非常重要的。
当开始调优Java程序时,你应该整合以上各方面的知识来完成工作。
Java程序性能调优的过程
图1是一张Java程序性能调优的流程图,摘自由Charlie Hunt和Binu John所著的Java Performance。
图1:Java程序性能调优的过程
JVM分布式模型
JVM分布式模型用于决定是在一个JVM还是多个JVM上执行Java程序。你可以根据其有效性、响应能力和可维护性来进行选择。当在多台服务器上运行JVM时,你也可以选择将多个JVM运行于一台服务器或者每台服务器运行一个JVM。例如,对于每台服务器,你可以运行一个使用8GB堆内存的JVM,也可以运行4个使用2GB的JVM。你理应根据处理器内核的个数还有程序的特性来决定这个数量。当优先考虑响应能力时, 使用2GB的堆内存会优于8GB的,原因是这样能在更短的时间内完成Full GC。当然,8GB的堆内存可以降低Full GC的频率。如果你的程序使用了内部缓存,还可以通过增加缓存命中率来提高响应能力。综上所述,选择合适的模型需要考虑应用程序的特性,然后在各种模型中 选定一个能够扬长避短的。
选择JVM其实就是决定使用32位还是64位的JVM。在相同的条件下,你最好用32位的。因为32位的JVM比64位性能更好。然而,32位 JVM最大支持的堆内存是4GB(无论在32位操作系统还是64位的上,实际可分配的大小都只有2-3GB)。如果需要更大的堆内存,还是用64位的 JVM比较合适。
表1:性能比较()
时间(秒)
Java 64-bit
Java 32-bit
Java 32-bit GC*
Java 32-bit SPEC GC*
Scala low-level*
Scala low-level GC*
下一步就是运行程序来测试它的性能。这个过程包括GC调优、改变操作系统设置和修改代码。对于这些工作,你可以使用系统监视工具或者性能分析工具。
注意:针对响应能力的调优和针对吞吐量的调优可能使用不同的方法。如果经常性地发生(串行GC暂时中断程序执行),程序的响应能力就会被降低。比如在高吞吐量时执行Full GC。不要忘记,在调优时往往有得有失。这样需要折衷处理的事情不仅发生在响应能力和吞吐量之间。例如使用更多的CPU资源来降低内存的使用,或者不得不忍受响应能力和吞吐量其中一个性能指标的下降。相反的情况同样可能发生,实际的调优应该根据各指标的优先级来执行。
上面图1中的流程展示了几乎可用于所有Java程序的性能调优过程,包括Swing应用。然而,对于我们公司用于提供网络服务的服务器端程序来说,这个方法多少有些不合适。下面图2中的流程是根据图1修改而来,它更简单,也更适合NHN。
图2:对HNH的Java程序的调优过程
其中,Select JVM表示尽可能使用32位的JVM,除非你需要用64位的JVM来维护一个数GB的缓存。
现在,跟随图2中的流程,你会了解到每一步具体的工作。
我会主要讲解如何为Web服务端程序设置合适的JVM参数。尽管不一定适合所有的案例,但是最好的GC算法是(CMS垃圾回收),特别是对于Web服务端程序。因为低延迟是非常重要的。当然,在使用CMS时,由于新生代空间(New Area)的分配,可能发生较长时间的stop-the-world现象,不过调整新生代空间的大小或者它和整个堆空间的比例可能解决这个问题。
指定新生代空间的大小和指定整个对堆内存的大小同样重要。你最好使用–XX:NewRatio来指定新生代和整个堆的大小比例,或者直接用–XX:NewSize来指定所需的新生代空间。这个配置是非常必要的,因为大部分对象都不会存活很久。在Web程序中,除了缓存数据,其他多数对象都只在HttpRequest到HttpResponse期间创建。这个时间几乎不会超过1秒,表示这些对象的存活时间也不会超过1秒。如果新生代空间不够大,对象会被转移到老年代空间,以便腾出地方给新对象使用。老年代空间(Old Area)垃圾回收的代价是比新生代空间大的多的,因此很需要设置一个充足的新生代空间。
然而,当新生代空间的大小超过一个特定的水平,程序的响应能力会被降低。因为新生代空间的垃圾回收过程,基本上是将数据从一个Survivor Area复制到另外一个(From Space和To Space)。另外,stop-the-world的现象在新生代空间和老年代空间执行垃圾回收时都会发生。如果新生代空间变大,那么Survivor Area的空间也会更大,于是每次复制的数据就更多。基于这样一种特性,我们应该通过指定不同操作系统中HotSpot JVM的NewRatio参数来分配合适大小的新生代空间。
表2:不同操作系统和配置下NewRatio的默认值
操作系统及参数
默认-XX:NewRatio
Sparc -server
Sparc -client
x86 -server
x86 -client
如果设置了NewRatio,那么整个堆空间的1/(NewRatio +1)就是新生代空间的大小。上表可以看出Sparc -server的NewRatio默认值很小,因为相比x86的操作系统,Sparc以前更多用于高端应用,这个值就是为它们设置的。但现在x86操作系统的性能有很大提升,使用它们作为服务器已经很普遍了。因此指定NewRatio为2或者3是更好的选择,就和Sparc -server上的配置一样。
另外,你还可以通过指定NewSize和MaxNewSize来代替NewRatio。那么新生代空间创建时的大小就是指定的NewSize,随后可以一直增长到MaxNewSize的值。Eden(新创建对象存放的区域)和Survivor Area两个区域会随比例增加。就和你为-Xms(译者注:原文是-Xs,应该是笔误)和-Xmx设置相同的值一样,将MaxSize和 MaxNewSize设置为相同的也是一个好选择。
如果同时指定了NewRatio和NewSize,你应该使用更大的那个。于是,当堆空间被创建时,你可以用过下面的表达式计算初始新生代空间的大小:
min(MaxNewSize, max(NewSize, heap/(NewRatio+1)))
无论如何,仅通过一次尝试就找到合适的堆空间和新生代空间大小是不可能的。根据我在NHN运行Web服务器的经验,建议使用下面的JVM参数来运行Java程序。监控在这些参数的条件下程序的性能表现之后,你就能够选择更合适的GC算法或者配置。
表3:推荐的JVM参数
整个堆内存大小
为-Xms和-Xmx设置相同的值。
新生代空间大小
-XX:NewRatio: 2到4. -XX:NewSize=? –XX:MaxNewSize=?. 使用NewSize代替NewRatio也是可以的。
持久代空间大小
-XX:PermSize=256m -XX:MaxPermSize=256m. 设置一个在运行中不会出现问题的值即可,这个参数不影响性能。
-Xloggc:$CATALINA_BASE/logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps. 记录GC日志并不会特别地影响Java程序性能,推荐你尽可能记录日志。
-XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75. 一般来说推荐使用这些配置,但是根据程序不同的特性,其他的也有可能更好。
发生OOM时创建堆内存转储文件
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_BASE/logs
发生OOM后的操作
-XX:OnOutOfMemoryError=$CATALINA_HOME/bin/stop.sh 或 -XX:OnOutOfMemoryError=$CATALINA_HOME/bin/restart.sh. 记录内存转储文件后,为了管理的需要执行一个合适的操作。
测定程序的性能
为了得到程序的性能表现,需要以下这些信息:
系统吞吐量(TPS、OPS):从整体概念上理解程序的性能。
每秒请求数(Request Per Second – RPS):严格来说,RPS和单纯的响应能力是不同的,但是你可以把它理解为响应能力。通过这个指标,你能够了解到用户需要多长时间才能得到请求的结果。
RPS的标准差:如果可能的话,还有必要包括事件的RPS。一旦出现了偏差,你应该检查GC或者网络系统。
为了得到更准确的性能表现,你应该等到程序彻底启动完成后再进行测量,因为字节码随后会被HotSpot JIT编译为本地机器码。总体来说,需要在程序加载完指定功能后,用等工具测试至少10分钟。
切实地调优
如果nGrinder测试的结果满足了预期,那么你不需要对程序进行性能调优。如果没有达到预期结果,你就应该执行调优来解决问题。接下来会通过实例讲解方法。
stop-the-world耗时过长
stop-the-world耗时过长可能是由于GC参数不合理或者代码实现不正确。你可以通过分析工具或堆内存转储文件(Heap dump)来定位问题,比如检查堆内存中对象的类型和数量。如果在其中找到了很多不必要的对象,那么最好去改进代码。如果没有发现创建对象的过程中有特别的问题,那么最好单纯地修改GC参数。
为了适当地调整GC参数,你需要获取一段足够长时间的GC日志,还必须知道哪些情况会导致长时间的stop-the-world。想了解更多关于如何选择合适的GC参数,可以阅读我同事的一篇博文:。
CPU使用率过低
当系统发生阻塞,吞吐量和CPU使用率都会降低。这可能是由于网络系统或者并发的问题。为了解决这个问题,你可以分析线程转储信息(Thread dump)或者使用分析工具。阅读这篇文章可以获得更多关于线程转储分析的知识:。
你可以使用商业的分析工具对线程锁进行精确的分析,不过大部分时候,只需使用JVisualVM中的CPU分析器,就能获得足够的信息。
CPU使用率过高
如果吞吐量很低但是CPU使用率却很高,很可能是低效率代码导致的。这种情况下,你应该使用分析工具定位代码中性能的瓶颈。可使用的工具有:JVisualVM、Eclipse TPTP或者JProbe。
建议你使用如下方法对程序进行调优。
首先,检查性能调优是否必要。测量性能不是一件简单的工作,你也不能保证每次都获得满意的结果。因此如果程序已经满足预期性能需求,不必在调优上增加额外的投入了。
问题只出在一个地方,你要做的就是去解决掉它。二八定律()对性能调优同样适用。这不是说某个模块的低性能一定只源于一个问题,而是强调我们应该在调优时把注意力放在影响最大的那个问题上。在处理好了最重要的之后,你才应该去解决剩下其他的。也就是建议一次只对一个问题进行修复。
另外需要考虑到气球效应(),有得必有失。你可以通过使用缓存来提高响应能力,但是当缓存逐渐增大,执行一次Full GC的时间也会更长。一般而言,如果你希望内存使用率比较低,那么吞吐量和响应能力可能都会恶化。因此,要知道什么对自己程序来说最重要的,而哪些又是次要的。
到此为止,你应该已经了解了如何对Java程序进行性能调优。为了介绍性能测定的具体过程,我不得不省略其中一些细节,不过我认为这些也足够应对大多数Java Web服务端程序了。
最后祝调优好运!
原文链接:
- 译文链接: [ 转载请保留原文出处、译者和译文链接。]
关于作者:
Coding for love, coding for fun.
(新浪微博:)
Hi,请到伯乐在线的小组发帖提问,支持微信登录。链接是: http://group.jobbole....
关于ImportNew
ImportNew 专注于 Java 技术分享。于日 11:11正式上线。是的,这是一个很特别的时刻 :)
ImportNew 由两个 Java 关键字 import 和 new 组成,意指:Java 开发者学习新知识的网站。 import 可认为是学习和吸收, new 则可认为是新知识、新技术圈子和新朋友……
新浪微博:
推荐微信号
反馈建议:@
广告与商务合作QQ:
– 好的话题、有启发的回复、值得信赖的圈子
– 写了文章?看干货?去头条!
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 活跃 & 专业的翻译小组
– 国内外的精选博客文章
– UI,网页,交互和用户体验
– JavaScript, HTML5, CSS
– 专注Android技术分享
– 专注iOS技术分享
– 专注Java技术分享
– 专注Python技术分享
& 2017 ImportNew崩坏3圣痕齐格飞上值得抽吗_游戏百科_书展百科求学网
崩坏3圣痕齐格飞上值得抽吗
&&&来源:用户发布&&&发布时间:&&&查看次数:38
崩坏3圣痕齐格飞上值得抽吗,非常感谢!
该问题暂无回答。
游戏百科相关
更多相关内容
本站内容来自网友发布,本站无法保证其部分内容的正确性,请用户一定仔细辨别。
[] &&[联系QQ:885&971&98] &
沪ICP备号&股票/基金&
浅谈程序化参数优化与选择
作者:徽商期货 刘伟峰
  本文主要探讨了在建立程序化交易系统时,如何进行模型参数优化和选择,提出了进行参数优化的必要前提―交易系统的合理性、逻辑性,然后以趋势策略为例,对参数优化结果进行了分析,合理的最优参数应该在附近都有较好的效果,最后分析了过度拟合参数。通过参数优化改进模型,让模型更好地匹配价格波动的模式,提高投资收益;另一方面,我们又要防止对参数的过度优化,导致模型的行情适用性大大降低。
  近年来,程序化交易在国内发展迅速,采用程序化作为交易手段的投资者越来越多,国内对程序化交易的研究也越来越深入,开发一个优秀的程序化交易系统,走上稳健获利的投资道路,成为众多交易者追求的目标。在构建程序化交易模型时,不可避免地要进行参数优化,而如何选择合理的模型参数成为投资者重点关注的问题,本文针对模型参数优化进行了分析与讨论。
  一、 程序化交易系统构成
  看似复杂的公式,让读者看起来一头雾水,实际上笔者在开头部分想提出这个公式来说明优秀的程序化交易系统,它的总收益F取决于他的历史平均收益,系统的外在因子对其的影响应该是比较小的,更加通俗的来说,程序化系统模型的好坏,应该是由核心的内在逻辑决定,即模型的本身的思想合理性,系统参数的优化只是可以起到锦上添花的作用,而不是决定性的。借用笔者从网络上看到的一句话可以更加直观的表达,“现代数学对金融市场的数据分析表明,时间价格序列包括两个部分:第一部分是确定项,可以从中找出一定的规律;第二部分是随机项,没有确定性的规律可言,出现某一现象只是概率性的。当我们从市场历史行情中提取交易规则时,需要分析规则的逻辑性和规律性,交易规则需要能够反映市场的规律性,具有一定的合理性。”
  通过上面阐述,读者应该明白,无论是趋势模型还是震荡模型,都应该有核心逻辑在其中,而不是简单的代码堆砌。如果模型本身是信手拈来的代码,无根可循,那么无论做何种参数优化,效果如何完善,系统的本身应该是存在问题的。
  二、程序化模型参数优化
  在拥有一个内在逻辑比较合理的程序化模型之后,我们会希望程序化交易系统能够尽量高的达到历史测试收益,以期达到尽量准确的对未来价格进行预测,不可避免地要涉及对模型参数的正确设置。
  通常我们在选取参数时多会碰到两个难点:一是如何选择合适的指标来评价不同参数下模型的表现;二是如何通过参数设置提升模型对未来的适用性。现在借助计算机强大的计算能力,我们可以迅速得出模型在不同参数下历史行情中的表现,通过历史回测效果,可以快速地观察到不同因子对于系统模型的影响,以下笔者通过实例介绍模型参数调优过程中的认识。
  在交易开拓者平台,选取螺纹钢指数30min合约上市以来的数据,长度约5年,加载拥有 三个参数的趋势策略,收益率曲线如图1所示。
  从图2、3、4中可以发现,参数在一定取值范围内均有较好的表现,必然是其吻合了品种价格波动的某些特性,因此笔者可以大胆认为在该取值范围内的参数可以使得模型优异的表现在未来具有可复制性。
  上述例子考虑的是单一参数条件下通过使用模型回测来选取合适的参数,而通常一个模型往往会使用多个参数,加大了参数调优的难度,一个较为可行的办法是采用三维视角来评估对比。为了进一步分析多因子对于系统收益的影响,同时优化参数X和Y,三维分析效果如图5所示。
  从图5的三维效果图中可以更加直观的观察到,在坐标 附近区域,系统的收益率均表现较好,而在较远区域,收益率表现不是很理想。
  参数优化在一定程度上可以很好的改善交易系统的历史回测效果,甚至有时候我们发现通过参数优化后得出了一条完美的收益曲线,这时候笔者认为不要高兴太早,做一做笔者上述工作,很有可能你碰到了过度拟合的问题,下面笔者来阐述这个问题。
  三、过度拟合  在实际工作过程中,对于程序化稍微了解的朋友,在咨询了解程序化模型时,开始就会问到模型有了几个参数,一般来说,4个以上会被认为已经过度拟合,不可能被接受。笔者认为这种方法太过武断,不可否认参数过多会拟合行情,但是更多的我们应该让数据说话,多做一做观察。图6中阐述参数过度拟合的二维分析效果,分别在数值35和63出现了收益率突增状态。
  一般来说,如果附近参数系统的性能远差于最优参数的性能,那这个最优参数有可能是一个过度拟和的结果,在数学上可以认为是奇点解,而不是我们寻找的极大值解。从数学角度来说,奇点是不稳定的,在未来的不确定行情中,一旦市场特征发生变化,最优参数可能变为最差参数。过度拟合是与选取的样本有关系,选取的样本不能代表市场总体走向,只为测试结果为正期望值而调整参数,这叫过度拟合的无效参数。
  过度拟合与参数优化的主要矛盾在于,我们优化得到的最优参数只是在我们选取的历史数据样本上成立的,但未来行情却是无法预料的,我们可以找到历史上表现最好的参数,但是这个参数未必在未来是最好的,更有甚者可能历史上最好的参数在未来随着行情波动变化可能就是一组很糟糕的参数。比如一个参数的设置刚好让你抓住了一波大行情,在参数优化取到这样的值时很有可能对未来没有任何帮助。当然有些参数优化仅仅是改善了系统的平均亏损率,对整体效果没有太大影响,这种参数优化可能对未来会有一定意义,但也不是绝对的,因为行情的发展有其不可预知的一方面。
  那么还有读者会提到,既然这样,那最好的方法就是交易系统不设置参数,全部固定为经验值,我对这个观点持有不同的看法,我认为市场总是在变化的,而我们使用程序化交易模型就是为了抓住这种变化中的确定性规律,然而这种规律也是时变的,模型参数调整只是为了更好适用行情变化。
  四、总结
  现在借助计算机强大的计算能力,我们可以迅速得出模型在不同参数下历史行情中的表现,但是问题在于,我们判定参数的好坏是基于已经发生过的历史行情数据,而未来的行情是动态变化的,与历史行情相比既有相似性,也有变异性。这种变异性,可能使基于历史行情选出的最优的参数在未来行情中并不适用,甚至带来大幅亏损。在构建程序化模型时,一方面,我们可以通过参数优化改进模型,让模型更好地匹配价格波动的模式,提高投资收益;另一方面,我们又要防止对参数的过度优化,导致模型的行情适用性大大降低。因此,模型参数调优是我们构建交易系统过程中的一项技术性与艺术性并重的工作。
  【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
(责任编辑:HF047)
01/22 14:18
期货精品推荐
每日要闻推荐
社区精华推荐
精彩策划推荐
  【独家稿件声明】凡注明“和讯”来源之作品(文字、图片、图表),未经和讯网授权,任何媒体和个人不得全部或者部分转载。如需转载,请与010-联系;经许可后转载务必请注明出处,并添加源链接,违者本网将依法追究责任。}

我要回帖

更多关于 韩国梯子游戏铺助软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信