精华内容
下载资源
问答
  • java工资多少 程序员薪资很高吗?

    万次阅读 2018-09-27 21:53:57
    北京程序员平均工资是12715 元,和此...程序员的薪资都很高么,java程序员的薪资是多少呢?java新手工资一般多少? 程序猿在世人眼里已经成为高薪、为人忠诚的代名。然而,达内小编要说的是,不是所有的程序员工...

    北京程序员平均工资是12715 元,和此相差无几的是上海、深圳。达内是专业做精英程序员人才招聘的。据调查可知:在工作年限上,3-5年的工程师平均薪酬是20K上下。而 5年以后的工程师薪酬有了明显的上升,30K上下也是必须的。

    程序员的薪资都很高么,java程序员的薪资是多少呢?java新手工资一般多少?

    程序猿在世人眼里已经成为高薪、为人忠诚的代名词。然而,达内小编要说的是,不是所有的程序员工资都是一样的。世人所不知的是同为程序猿,薪资的差别还是很大的。

    众所周知,目前互联网行业是众多行业中薪资待遇最好的,包括程序员、运营、新媒体和这个行业周边的商务、销售等人员的工资,都是其他行业所不能比拟的。

    程序员问科比:你为什么这么成功?

    科比:你知道洛杉矶凌晨 4 点的样子吗?

    程序员:不知道,不过我知道凌晨 4 点的北京,一般那时候我还没睡,怎么了?

    科比:没,没什么......

    上面的段子说明了程序员加班的程度,有的人看到这一点就明了了。但这不是唯一的原因。

    所以,想成功就必须得付出努力

    就深圳来讲,Java程序员薪资水平一般如下:

    应届生:普通5K左右,能力强6K左右;

    1年工作经验:普通6K,能力强7K;

    2年工作经验:普通7-8K,能力强8-9K;

    3年工作经验:普通9-10K,能力强10-12K;

    3-5年:普通10-12K,能力强12-18K。

    5年以上:15K+,5年以上的开发,普通的18-30K,能力强的基本上能做架构师,那就是另一个薪资水平了。下面是达内为大家整理的首份关于程序员的技术与薪酬报告:

    1、5年工作经验的工程师最抢手

    北京程序员平均工资是12715 元,和此相差无几的是上海、深圳。达内是专业做精英程序员人才招聘的。据调查可知:在工作年限上,3-5年的工程师平均薪酬是20K上下。而 5年以后的工程师薪酬有了明显的上升,30K上下也是必须的。

    0

    2、大数据工程师最值钱

    大数据工程师和后端开发工程师及移动开发工程师是薪酬榜的前三名。居于榜首是大数据工程师。当然,优势才是王道,做擅长的事比做赚钱的事重要。

    3、运维工程师在细分工种薪酬最低

    运维工程师最悲催,无论在哪个城市工资都低。薪酬是平均薪酬的三分之二;测试工程师和游戏工程师薪酬表现也比较疲软。当然从未来往前看,现在给的薪水一定是廉价的,还要综合平台、资源、人脉、能力增值这些无形的东西做综合判断。

    4、融资到 B 轮和 D 轮的公司最豪爽

    融资到哪轮的公司,给工程师的薪资最高?D轮以绝对优势胜出,比较好理解在于一般融资到D轮的公司已经成为行业翘楚,高速发展。但是融资到B轮的公司给的薪酬也很高,这可能反映出国内创业公司的特点:终于拿到B轮了,逃过了A轮死,庆幸之余又有钱任性。

    5、程序员会8种语言刚刚好

    世人都对程序员有一个误区:会的语言越多,工资越高。实际上,达内专门做过调查,超过8种语言的,不一定能比得上那种4到5种语言的普通程序员。

    java工资多少,程序员薪资很高吗,你知道了吗?

    喜欢这篇文章的请关注我哦 多评论点喜欢 让跟多人看到哦 感谢配合

     

    展开全文
  • Redis是目前广为人知的一个内存数据库,在各个场景中都有着非常丰富的应用,...所以,在Redis 6.0 推出之后,我想去了解下为什么采用多线程,现在采用的多线程和以前版本什么区别?为什么这么晚才使用多线程? Redis

    Redis是目前广为人知的一个内存数据库,在各个场景中都有着非常丰富的应用,前段时间Redis推出了6.0的版本,在新版本中采用了多线程模型。

    因为我们公司使用的内存数据库是自研的,按理说我对Redis的关注其实并不算多,但是因为Redis用的比较广泛,所以我需要了解一下这样方便我进行面试。

    总不能候选人用过Redis,但是我非要问人家阿里的Tair是怎么回事吧。

    所以,在Redis 6.0 推出之后,我想去了解下为什么采用多线程,现在采用的多线程和以前版本有什么区别?为什么这么晚才使用多线程?

    Redis不是已经采用了多路复用技术吗?不是号称很高的性能了吗?为啥还要采用多线程模型呢?

    本文就来分析下这些问题以及背后的思考。

    Redis为什么最开始被设计成单线程的?

    Redis作为一个成熟的分布式缓存框架,它由很多个模块组成,如网络请求模块、索引模块、存储模块、高可用集群支撑模块、数据操作模块等。

    很多人说Redis是单线程的,就认为Redis中所有模块的操作都是单线程的,其实这是不对的。

    我们所说的Redis单线程,指的是"其网络IO和键值对读写是由一个线程完成的",也就是说,Redis中只有网络请求模块和数据操作模块是单线程的。而其他的如持久化存储模块、集群支撑模块等是多线程的。

    所以说,Redis中并不是没有多线程模型的,早在Redis 4.0的时候就已经针对部分命令做了多线程化。

    那么,为什么网络操作模块和数据存储模块最初并没有使用多线程呢?

    这个问题的答案比较简单!因为:"没必要!"

    为什么没必要呢?我们先来说一下,什么情况下要使用多线程?

    多线程适用场景

    一个计算机程序在执行的过程中,主要需要进行两种操作分别是读写操作和计算操作。

    其中读写操作主要是涉及到的就是I/O操作,其中包括网络I/O和磁盘I/O。计算操作主要涉及到CPU。

    而多线程的目的,就是通过并发的方式来提升I/O的利用率和CPU的利用率。

    那么,Redis需不需要通过多线程的方式来提升提升I/O的利用率和CPU的利用率呢?

    首先,我们可以肯定的说,Redis不需要提升CPU利用率,因为Redis的操作基本都是基于内存的,CPU资源根本就不是Redis的性能瓶颈。

    所以,通过多线程技术来提升Redis的CPU利用率这一点是完全没必要的。

    那么,使用多线程技术来提升Redis的I/O利用率呢?是不是有必要呢?

    Redis确实是一个I/O操作密集的框架,他的数据操作过程中,会有大量的网络I/O和磁盘I/O的发生。要想提升Redis的性能,是一定要提升Redis的I/O利用率的,这一点毋庸置疑。

    但是,提升I/O利用率,并不是只有采用多线程技术这一条路可以走!

    多线程的弊端

    我们在很多文章中介绍过一些Java中的多线程技术,如内存模型、锁、CAS等,这些都是Java中提供的一些在多线程情况下保证线程安全的技术。

    线程安全:是编程中的术语,指某个函数、函数库在并发环境中被调用时,能够正确地处理多个线程之间的共享变量,使程序功能正确完成。

    和Java类似,所有支持多线程的编程语言或者框架,都不得不面对的一个问题,那就是如何解决多线程编程模式带来的共享资源的并发控制问题。

    虽然,采用多线程可以帮助我们提升CPU和I/O的利用率,但是多线程带来的并发问题也给这些语言和框架带来了更多的复杂性。而且,多线程模型中,多个线程的互相切换也会带来一定的性能开销。

    所以,在提升I/O利用率这个方面上,Redis并没有采用多线程技术,而是选择了多路复用 I/O技术。

    小结

    Redis并没有在网络请求模块和数据操作模块中使用多线程模型,主要是基于以下四个原因:

    • 1、Redis 操作基于内存,绝大多数操作的性能瓶颈不在 CPU
    • 2、使用单线程模型,可维护性更高,开发,调试和维护的成本更低
    • 3、单线程模型,避免了线程间切换带来的性能开销
    • 4、在单线程中使用多路复用 I/O技术也能提升Redis的I/O利用率

    还是要记住:Redis并不是完全单线程的,只是有关键的网络IO和键值对读写是由一个线程完成的。

    Redis的多路复用

    多路复用这个词,相信很多人都不陌生。我之前的很多文章中也够提到过这个词。

    其中在介绍Linux IO模型的时候我们提到过它、在介绍HTTP/2的原理的时候,我们也提到过他。

    那么,Redis的多路复用技术和我们之前介绍的又有什么区别呢?

    这里先讲讲Linux多路复用技术,就是多个进程的IO可以注册到同一个管道上,这个管道会统一和内核进行交互。当管道中的某一个请求需要的数据准备好之后,进程再把对应的数据拷贝到用户空间中。

    多看一遍上面这张图和上面那句话,后面可能还会用得到。

    也就是说,通过一个线程来处理多个IO流。

    IO多路复用在Linux下包括了三种,select、poll、epoll,抽象来看,他们功能是类似的,但具体细节各有不同。

    其实,Redis的IO多路复用程序的所有功能都是通过包装操作系统的IO多路复用函数库来实现的。每个IO多路复用函数库在Redis源码中都有对应的一个单独的文件。

    在Redis 中,每当一个套接字准备好执行连接应答、写入、读取、关闭等操作时,就会产生一个文件事件。因为一个服务器通常会连接多个套接字,所以多个文件事件有可能会并发地出现。

    一旦有请求到达,就会交给 Redis 线程处理,这就实现了一个 Redis 线程处理多个 IO 流的效果。

    所以,Redis选择使用多路复用IO技术来提升I/O利用率。

    而之所以Redis能够有这么高的性能,不仅仅和采用多路复用技术和单线程有关,此外还有以下几个原因:

    • 1、完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。

    • 2、数据结构简单,对数据操作也简单,如哈希表、跳表都有很高的性能。

    • 3、采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU

    • 4、使用多路I/O复用模型

    为什么Redis 6.0 引入多线程

    2020年5月份,Redis正式推出了6.0版本,这个版本中有很多重要的新特性,其中多线程特性引起了广泛关注。

    但是,需要提醒大家的是,Redis 6.0中的多线程,也只是针对处理网络请求过程采用了多线程,而数据的读写命令,仍然是单线程处理的。

    但是,不知道会不会有人有这样的疑问:

    Redis不是号称单线程也有很高的性能么?

    不是说多路复用技术已经大大的提升了IO利用率了么,为啥还需要多线程?

    主要是因为我们对Redis有着更高的要求。

    根据测算,Redis 将所有数据放在内存中,内存的响应时长大约为 100 纳秒,对于小数据包,Redis 服务器可以处理 80,000 到 100,000 QPS,这么高的对于 80% 的公司来说,单线程的 Redis 已经足够使用了。

    但随着越来越复杂的业务场景,有些公司动不动就上亿的交易量,因此需要更大的 QPS。

    为了提升QPS,很多公司的做法是部署Redis集群,并且尽可能提升Redis机器数。但是这种做法的资源消耗是巨大的。

    而经过分析,限制Redis的性能的主要瓶颈出现在网络IO的处理上,虽然之前采用了多路复用技术。但是我们前面也提到过,多路复用的IO模型本质上仍然是同步阻塞型IO模型

    下面是多路复用IO中select函数的处理过程:

    从上图我们可以看到,在多路复用的IO模型中,在处理网络请求时,调用 select (其他函数同理)的过程是阻塞的,也就是说这个过程会阻塞线程,如果并发量很高,此处可能会成为瓶颈。

    虽然现在很多服务器都是多个CPU核的,但是对于Redis来说,因为使用了单线程,在一次数据操作的过程中,有大量的CPU时间片是耗费在了网络IO的同步处理上的,并没有充分的发挥出多核的优势。

    如果能采用多线程,使得网络处理的请求并发进行,就可以大大的提升性能。多线程除了可以减少由于网络 I/O 等待造成的影响,还可以充分利用 CPU 的多核优势。

    所以,Redis 6.0采用多个IO线程来处理网络请求,网络请求的解析可以由其他线程完成,然后把解析后的请求交由主线程进行实际的内存读写。提升网络请求处理的并行度,进而提升整体性能。

    但是,Redis 的多 IO 线程只是用来处理网络请求的,对于读写命令,Redis 仍然使用单线程来处理。

    那么,在引入多线程之后,如何解决并发带来的线程安全问题呢?

    这就是为什么我们前面多次提到的"Redis 6.0的多线程只用来处理网络请求,而数据的读写还是单线程"的原因。

    Redis 6.0 只有在网络请求的接收和解析,以及请求后的数据通过网络返回给时,使用了多线程。而数据读写操作还是由单线程来完成的,所以,这样就不会出现并发问题了。

    参考资料:

    https://www.cnblogs.com/Zzbj/p/13531622.html https://xie.infoq.cn/article/b3816e9fe3ac77684b4f29348 https://jishuin.proginn.com/p/763bfbd2a1c2 《极客时间:Redis核心技术与实战》

    展开全文
  • 为何“迷你本”退货率很高

    千次阅读 2009-06-02 02:31:00
    ,导致用户发生误解,退货率很高的甚至高达 30 %,简直是一场灾难。言下之意是什么呢?    Sean Maloney 当场(在讲演台上)拿主流笔记本电脑和“迷你本”进行两者的性能比较,播放...

    <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } -->

         5 12 日, Intel 全球市场负责人 Sean Maloney Intel 投资者大会上强调:去年,在 6 7 8 月期间,某些渠道零售商把“迷你本”当作笔记本电脑销售, ...... ,导致用户发生误解,退货率很高,有的甚至高达 30 %,简直是一场灾难。言下之意是什么呢?

     

         Sean Maloney 当场(在讲演台上)拿主流笔记本电脑和“迷你本”进行两者的性能比较,播放 NBA 篮球对抗比赛的高清影片,基于 Atom 处理器的“迷你本”发生犯卡( jerky )和画面丢失现象,而基于双核处理器的主流笔记本电脑却播放流畅。十分明显, Sean Maloney 在这里所要强调的要点是,在完成某些任务时,“迷你本”不如主流笔记本电脑,而不管采用什么样的操作系统。 Intel 认为,“迷你本”与笔记本电脑的性能差异是实际存在的。

     

            由此可见,在去年 6 7 8 XP“ 迷你本”销售很火的时期,发生“迷你本”退货率很高的现象,原因在于某些厂商的宣传不到位,把“迷你本”混同于笔记本电脑,使客户产生不切实际的期望,以致发生用户在购买之后要求退货的现象。这本是很正常的事情,不料有人却借此攻击 Linux“ 迷你本”,说 Linux 的坏话,非常没有道理。今年 5 20 日, Intel Moblin 2.0 Beta )发布之后,使 Linux“ 迷你本”的品质有了极大的提高。 Ubuntu Remix 9.04“ 迷你本”版本的发布,使众多“迷你本”如虎添翼,光彩非凡。今天台北 Computex 大展,多款新型 Linux“ 迷你本”闪亮登场,简直要把 Windows 7“ 迷你本”逼到墙角里面去了。

     

           谷歌的 Android Intel Moblin Ubuntu Remix 都是 GNU/Linux 发行版,它们专门为“迷你本”量身定制,低功耗,高性能,用户界面非常漂亮,简直美极了,帅呆了。 ARM 处理器的“迷你本”,定价才 150 美元一台,待机时间又长,物美价廉,人见人爱。微软把“迷你本”叫做“小笔记本电脑”,就怕“ mini” 这个词。“迷你本”本来就不是小笔记本电脑, Windows 7 根本使不上劲。

     

           现在的重要问题是,微软为了从“迷你本”上收取 Windows 7 的全球统一许可费,必须把“迷你本”宣传为“小笔记本电脑”,而 Intel 却认为,这样做不行,一定会导致用户因失望而退货。另一方面, Intel Moblin“ 迷你本”的横空出世,给用户以全新体验,给“迷你本”以新的生命。总之一句话, small-notebook 不是 mini-notebook ,一字之差,相差万里。 Vista 的惨痛失败是内部因素造成的, Windows 7 的严重问题却是因外部因素( Linux 空前壮大)而产生的。将来,“迷你本”的退货现象还会出现,如果是因为用户失望而退货,那必定是 Windows 7 惹出来的。在今天召开的台北 Computex 大展上,人们一定会感受到那句成语:风雨欲来,风满楼。让 Linux 的暴风雨来得更猛烈吧!

     

           (说明:有人叫我闭嘴,说我不懂 Linux 。昨天下午,我找出那本把 2000 2 月出版的“精通 Linux” 680 页,定价 69 元,又重新翻阅一遍,觉得很亲切,其中没有什么东西不能理解。我接受批评,继续努力学习 Linux 。)

    展开全文
  • "自省"这个,我一直都不太理解,好像高深的样子.不过看了IBM上的《Python 自省指南》发现原来并不复杂.自省就是对对象作运行时检查,得到一些特别的信息而已.现在OO的多概念都不明白,真不知道要搞个这么难解的...

    "自省"这个词,我一直都不太理解,好像很高深的样子.不过看了IBM上的Python 自省指南发现原来并不复杂.自省就是对对象作运行时检查,得到一些特别的信息而已.现在OO的很多概念都不明白,真不知道要搞个这么难解的名字干什么.不过自省是很有用的功能.

    展开全文
  • 有哪些网站用爬虫爬取能得到很有价值的数据?

    万次阅读 多人点赞 2019-05-05 17:47:07
    回顾2016年,我用爬虫做了多事情。 1、微信好友的爬虫,了解一下你的好友全国分布,男女比例,听起来似乎是一个不错的想法,当然你还可以识别一下你的好友多少人是用自己照片作为头像的,详细的内容可以点击...
  • 原标题《弘辽科技:新品上架的选技巧有哪些?对“定终身”!》 商家在新品准备期内,在测完款,看完市场数据后,就要确定新品核心了,选选对了,那么新品就成功了一半,反之,没选对,那么款基本就难做...
  • FastText是Facebook开发的一款快速文本分类器,提供简单而高效的文本分类和表征学习的方法,不过这个项目其实是两部分组成的,一部分是这篇文章介绍的 fastText 文本分类(paper:A. Joulin, E. Grave, P. ...
  • 如果说FastText的向量在表达句子时候在行的话,GloVe在多义方面表现出色,那么wordRank在相似寻找方面表现地不错。 其是通过Robust Ranking来进行向量定义。 相关paper:WordRank: Learning Word ...
  • 网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都很高的要求,已经不是原来...
  • 哪些诗词适合取名

    千次阅读 2016-07-01 12:54:09
    这个名字的适配度很高,和多种姓氏都可完美融合,尤其是配树木类姓氏有着绝佳的效果,这个名字也禁忌,只要是带看字的,都不宜配与动物谐音的姓氏,效果大家自自行脑补。 到源 :别致而得体的名字,辨识度...
  • 处理并发性能队列-Disruptor

    万次阅读 2015-09-10 17:24:16
    已经不记得最早接触到 Disruptor 是... 最近正在进行一项对性能有很高要求的产品项目的研究,自然想起了闪电般的 Disruptor ,这必它的用武之地,于是进行了一番探查,将成果和体会记录在案。 一、什么是 Disrupto
  • 如何处理并发

    万次阅读 多人点赞 2018-05-18 22:38:48
    一个小型的网站,比如个人网站,可以...已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都很高的要求,已经不是...
  • Web服务器有哪些(转)

    万次阅读 2019-04-30 16:15:34
    文章目录1、什么是web服务器1.1 Web Service架构和云1.2 Web Service的优势1.3 Web service的发展趋势1.3 本地服务的缺陷2、web服务器有哪些2.1 Apache2.2 IIS2.3 Nginx2.4 Tomcat2.5 Lighttpd2.6 Zeus 1、什么是web...
  • 如何解决并发问题

    万次阅读 2018-11-05 11:14:40
    一个小型的网站,比如个人网站,可以...已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都很高的要求,已经不是...
  • 感谢阅读腾讯AI Lab第45篇文章。本文将介绍大规模质量的中文向量数据的开源情况。今日,腾讯AI Lab 宣布开源大规模、质量的中文向量数据。该数据包含800多...
  • 香港青少年香港机场快闪演出 全程高燃 (指挥德仪棒)
  • 我认为不至于,因为薪资的贴出来了,薪资不的没有贴出来,所以才是榜单啊,很有可能学员拿到 4k 的,甚至找不到工作的。 但一定薪资的,因为有些 985、211 的同学,在大学里没有好好学,
  • 互联网应用系统开发肯定经常会看到并发和性能这两个,可谓是耳熟能详,而具体的含义和关系真的如你所想的,真正的理解了吗? 先来看一个例子: 一个蓄水池,是1m*1m*1m=1立方米大小,一个出水口,出水口每...
  • 这代表着系统能够容纳更的负载、更大的数据集,并且系统是可维护的。扩展和语言、某项具体的技术都是无关的。扩展可以分为两种:1. 垂直扩展(stade up),通俗的说就是将某台单一的机器的性能提升的更,如添加...
  • java并发和负载均衡

    万次阅读 2018-01-02 11:07:10
    一个小型的网站,比如个人网站,可以...已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都很高的要求,已经不是
  • web并发量的处理方案

    万次阅读 2018-07-16 21:46:30
    网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都很高的要求,已经不是原来...
  • 有很多改进版的word2vec,但是目前还是word2vec最流行,但是Glove也有很多在提及,笔者在自己实验的时候,发现Glove也还是有很多优点以及可以深入研究对比的地方的,所以对其进行了一定的学习。 部分学习内容来源...
  • java并发解决方案

    万次阅读 2012-12-31 09:46:55
    一个小型的网站,比如个人网站,可以...已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都很高的要求,已经不是
  • 编程语言高低之分吗

    万次阅读 热门讨论 2009-12-23 09:25:00
    高低这两个比较单纯容易记忆,而且从小就被灌输要不要低的价值观。因此,那时候自己就要学高级语言,不学低级语言的简单朴素的想法,仿佛学习高级语言自己就会高级起来一样。没想到今天这个话题依
  • 如何处理并发(详细)

    千次阅读 2017-08-02 14:59:56
    一个小型的网站,比如个人网站,可以...已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都很高的要求,已经不是
  • 对于Top Query大家已经分析了多了,现在更多的是研究长尾Query的关键词推荐方法。 一种Query中不重要的识别非常重要。作者提出一种非常好的识别方法,其过程一点类似拼写纠错。 如果用户输入q1,但是没有...
  • 关于相似性以及文档特征、特征太多种说法。弄得好乱,而且没有一个清晰逻辑与归类,包括一些经典书籍里面也分得概念模糊,所以擅自分一分。 ————————————————————————————...
  • 程序员必须掌握的核心技能有哪些

    万次阅读 多人点赞 2020-03-22 08:20:45
    私下里,经常一些读者问我:“二哥,作为一名软件开发者,我应该掌握哪些技能,才能被领导赏识呢?”说实话,我心目中多选项,不少于 20 个,但我斟酌再三,只挑选了其中最能让你受益的 8 个,不仅能让领导赏识...
  • javaweb并发量网站解决方案

    千次阅读 2015-07-06 15:17:40
    网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都很高的要求,已经不是原来...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 383,004
精华内容 153,201
关键字:

很高很高的词有哪些