- 博客(57)
- 资源 (7)
- 收藏
- 关注

原创 来了阿里终于知道专科如何进大厂
前二天后台收到几个读者留言,有一位说自己工作两年,不知道从什么开始学,公司用的是SSM框架,只是会用。还有一位读者说自己只是专科毕业,觉得可能很难有机会能进大厂了,现在的工作也不是自己很满意的。下面这个是读者的后台留言,我也回复了她,但是事后觉得回复的只能算皮毛,认真思考了以后,决定还是写篇文章回复一下目前在这种情况下的读者。这个话题其实很大,如何你学历不好/背景不好但想进大厂怎么办?建议找机会向大厂投个简历,争取拿到面试机会,不要管能不能过,投就得了,为什么一定这么干。有以下几点原因:从.
2021-03-26 01:40:34
5165
1

原创 一个月拿到阿里字节拼多多美团offer总结
安琪拉的玩家们,我安琪拉回来了,很久都没更新文章了,原因嘛那就是安琪拉刚入职蚂蚁,忙着培训,熟悉业务和项目的技术框架,不过你们嘱咐我写的面经不敢忘记,跳票了好几次,现在趁着周末一波,趁着还能记起一些立刻呈现给大家,也希望这篇文章能对大家求职有帮助,愿天下码农都能如愿加入自己心仪的公司!另外,文末有彩蛋和福利。〇. 战况蚂蚁:一轮笔试 + 五轮技术面(其中二轮跨部门交叉面) + 一轮HR 面 搞定饿了么:三轮技术面 + 一轮HR 面 .
2020-07-12 13:00:50
12240
23

原创 从时间管理聊到技术人如何保持竞争力?
从时间管理聊到技术人如何保持竞争力?最近时间管理这个词很火,想必大家瓜吃的也差不多,安琪拉吃瓜之余,也有所启发,思考总结了一下技术人如何做时间管理?如何在大环境恶劣情况下依然保持竞争力?今天安琪拉和大家探讨如何才能在自己的工作领域做一名时间刺客,成为所谓的高效能人士!前情提要关于时间每个人都有自己的理解和思考,时间是最神奇的存在,时间对每个人是最公平的,因为每个人父母、家境、天赋、身体状...
2020-04-26 04:53:06
11809
36

原创 一个synchronized跟面试官扯了半个小时
这是《安琪拉与面试官二三事》系列文章的第二篇 —《钟馗面试官的Synchronized 钩子》。历史文章(持续更新中):《一个HashMap跟面试官扯了半个小时》前言 话说上回HashMap跟面试官扯了半个小时之后,二面迎来了没有削弱前的钟馗,法师的钩子让安琪拉有点绝望。钟馗穿着有些微微泛黄的格子道袍,站在安琪拉对面,开始发难,其中让安琪拉印象非常深刻的是法师的sync...
2020-03-27 14:50:59
16242
58

原创 一个HashMap跟面试官扯了半个小时
一个HashMap能跟面试官扯上半个小时关注 安琪拉的博客 1.回复面试领取面试资料 2.回复书籍领取技术电子书 3.回复交流领取技术电子书前言HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。开场面试官: 你先自我介绍一下吧!安琪拉: 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不对,串场了,我是**,目...
2020-03-15 23:37:16
136277
272
原创 5分钟入门大模型,就5分钟
大模型为什么叫大模型,其中一个大的体现就是参数非常大,刚才我们看判断瓜是否熟的模型参数只有三个,一般大模型的参数都是十亿起步,比如GPT3 的参数规模是175B,1B(1 Billion)等于10亿(即(10^9)),所以GPT3 有1750 亿个参数,属于千亿级的参数,GPT4 参数更夸张,是1.8万亿参数,训练一次就得 6300万美元!爽和丧都是模型产出的词,每个词都有对应被选中的概率,大模型在选择下一个词的时候就是根据括号里面的概率来定的,那这个词和概率是怎么来的呢?
2024-06-06 20:37:04
859
原创 ConcurrentLinkedQueue.offer插入元素错误引出IDEA的bug
读者的一个问题让我发现了IDEA的一个bug。前天下午有读者在国服并发群问了个问题:我来大致说下这位读者所说的问题:他写了这么一段代码:public class ConcurrentLinkedQueueTest { public static void main(String[] args) { ConcurrentLinkedQueue concurrentLinkedQueue = new ConcurrentLinkedQueue(); con
2021-11-03 23:46:08
738
1
原创 支撑支付宝双11的核心架构
现在还依稀记得去年双11在支付宝作战室,接近0点的时候,所有人都盯着值班室的秒级监控大盘,当交易峰值曲线慢慢爬升,最后变得无比陡峭,值班室的同学都很激动,欢呼声伴随着爬升的曲线达到了顶峰,58.3万笔/秒,也是新的交易峰值记录,但相比往年动辄翻一倍,涨30%~40%,增长率还是小了很多。2010年双11的支付峰值是2万笔/分钟,到2017双11时变为了25.6万笔/秒,再到去年的58.3万笔/秒,是09年第一次双11的一千多倍。要抗住这么大的支付TPS,蚂蚁做了很多顶层架构的设计和底层实现的优化,其中最
2021-08-11 23:48:45
1166
1
原创 《并发与高并发系列第一集-基础与概念》
面试官:看你简历上写,最近正在写并发编程方面的博客,是吧?安琪拉:闲来无事,看看闲书,写写段子,承蒙读者厚爱,有此打算。面试官:少跟我这拽文,“闲来无事”?阿里不用996吗?安琪拉:修福报,你知道吗?..... 技术人的日常,能算996吗?面试官:算了算了,还是聊正题,你先跟我讲讲什么是并发?安琪拉:并发就是存在两个或多个线程,这些线程同时操作相同的物理机中的资源。面试官:那并发跟并行有什么区别呢?安琪拉:举个生活中的例子就懂了:你在打王者荣耀,这个时候女朋友找你视频,你一直打完王者荣耀才接,说明你不支持并
2021-06-17 23:54:57
743
1
原创 做了个决定
有些读者跟我讲,希望我能提供一套完整的Java学习手册,我计划用一年时间写套Java相关的后端学习指南,目录大致如下:公众号很多历史文章也在上面这个系列中,为了让整个知识体系化,历史文章我都会回炉重造,为了方便大家快速查找,弄个汇总文章的目录。那重点来了,上面这些板块,从哪一个开始呢?打算把决定权交给你们,你最希望最快看到什么,就投票选它: scrolling="no" frameborder="0" class="vote_iframe js_editor_vote_card" data-display-
2021-06-17 23:48:19
879
2
原创 并发与高并发系列第一集-基础与概念
面试官:看你简历上写,最近正在写并发编程方面的博客,是吧?安琪拉:闲来无事,看看闲书,写写段子,承蒙读者厚爱,有此打算。面试官:少跟我这拽文,“闲来无事”?阿里不用996吗?安琪拉:修福报,你知道吗?..... 技术人的日常,能算996吗?面试官:算了算了,还是聊正题,你先跟我讲讲什么是并发?安琪拉:并发就是存在两个或多个线程,这些线程同时操作相同的物理机中的资源。面试官:那并发跟并行有什么区别呢?安琪拉:举个生活中的例子就懂了:你在打王者荣耀,这个时候女朋友找你视频,你一直打完王者荣耀才接,说明你不支持并
2021-06-13 20:51:07
511
1
原创 【阿里二面】面试官问为什么新生代不用标记清除算法
杭州某写字楼,安琪拉穿着新买的19.9的皮鞋走进玻璃隔间办公室,准备迎接一场新的表演。面试官 :看你简历上有些熟悉JVM,是吧?安琪拉:是的面试官 :那你跟我讲讲堆内存的分区。安琪拉:[心想]:这很easy嘛,来,算是回顾一下JVM的基础知识。我们知道堆分为新生代和老年代,新生代就是我们说的Yong Generation,老年代是 Old Generation。面试官 :然后呢?安琪拉:然后什么?面试官 :讲完啦?下面没有啦?新生代呢?安琪拉:你想听你可以跟我说嘛,你不说我怎么知道你想听。新生代又分为Ede
2021-05-11 21:51:24
3348
22
原创 面试官突然的关心-日志篇
当面试官问到,你们用的什么日志框架,log4j 和logback吗?和slf4j什么区别?吓尿了,日志系统也关心,学起来!前言日志重要吗?程序猿排查问题,数据统计分析、故障定位都依赖日志,甚至有的公司直接用日志的输出,经过统计做业务系统的输入。所以日志实在太重要了,大家几乎每天都在用日志,那都知道用的是什么日志框架,以及实现的原理吗?开胃菜说Log4j 和 Logback 之前,不得不提SLF4J。简单说,SLF4J相当于定义了接口,Log4j 和 Logback是具体实现。SLF4J就是典型的门面模式,什
2021-04-23 02:12:45
828
3
原创 双12压测引出的线上Full GC排查
这个Full GC问题是去年双12压测的时候触发的,中间排查的过程和踩的坑给大家借鉴一下。线上问题双12之前压测的时候起了很小的量,直接触发了Full GC,吓尿了,因为马上双12大促预热就要开始了,这搞不好妥妥的3.25啦。赶紧拉群,把相关同学拉在一起排查问题。第一时间查看GC日志:可以看到原因是超过了Metadata GC的阈值,触发了Full GC,Metaspace从243M 回收到231M,基本没怎么回收掉,所以稍微再来点量,很容易再次触发Metaspace 的回收。知识储备GC问题排查需要很多储
2021-04-13 03:20:59
788
原创 最近粉了一位有趣的技术博主
有一次在优快云 上闲逛的时候,看到一篇讲HashMap原理的文章,用面试者的视觉,把深入的技术知识缓缓展开,把HashMap 这个常用的Java 集合类从使用到原理,再到源码作者的设计意图,复杂的技术用直白的语言和图画解释的容易懂很多了。用他自己文章说的解释,如果博客只是一堆技术名词的堆砌,书本上的迁移,那是整理,不是创造。用对话的方式讲技术,一方面会让读者以第一视角投入其中,会带着问题去看技术原理,而且也会站在设计者的角度考虑,这个技术的出现当初是为了解决什么问题,这样理解就深刻了,而且也容易记得住。后
2021-04-06 22:14:24
916
2
原创 JVM日志参数十全大补丸
快吃下这颗JVM十全大补丸,妈妈再也不担心JVM日志看不懂了!本文需要一些JVM的储备知识,如果对JVM内存区域还不熟悉,可以看看基础知识部分,在JVM群里提问,评论区留言都可以,安琪拉玩家都很热心,社区很随意。实践JVM日志我们先打印点GC日志实践一下,再开始讲后面的理论。首先在IDEA 中设置打印GC的参数,比如我设置的参数如下,堆、新生代老年代都设置的比较小,这样比如容易出GC日志。-Xms56m -Xmx56m -Xmn21m -Xss512k -XX:Met
2021-04-05 00:27:06
736
3
原创 阿里巴巴Java开发手册(泰山版)
放假了,又可以学起来了,送给大家一份阿里巴巴最新的《Java开发者手册—泰山版》。阿里算是国内互联网Java 相关技术栈使用范围最大的公司,使用Java时间也有二十多年了,前辈们在项目实践中踩了很多坑,他们把项目中认为最合适的规则提炼成通用编码规范-《Java 开发手册》,这个也是经历了多次大规模一线实战的检验及不断完善,是阿里内部的最佳实践。安琪拉知道很多公司都会直接用《Java 开发手册》 作为内部的开发规范,这份开发手册基本定义了Java 项目开发中涉及的各方面注意事项,哪些是强制需要遵守的,那些是推
2021-04-05 00:19:30
3348
7
原创 IDEA快捷键显示当前类的所有方法
这个快捷键很有用,我一般是用Ctrl + m(Mac上是⌘+m),m代表method的意思。在idea keymap(快捷中,输入File Structure)另外二个非常好用的快捷键,我们经常类调用层次很深,看代码的时候需要来回切,可以设置这个快捷键,我喜欢用Ctrl + ←(Mac是⌘+ ←)切到下一个函数,Ctrl + ←(Mac是⌘+ ←)返回上一个掉少快捷键能提升效率...
2021-03-30 21:06:28
2997
原创 MySQL高频面试题
MySQL 索引使用什么数据结构?为什么用 B+做索引?使用B+树。这个问题,你可以在脑子里面先思考一下,如果让你来设计数据库的索引,你会怎么设计?我们还是用Why?What? How?三步法来看这个问题。为什么会需要索引?索引是什么?索引怎么用的?再思考为什么需要B+树?B+树是什么? B+树怎么用?答:大部分程序主要的功能都是对数据的处理,写入、查询、转化、输出。最形象的比喻就是树和内容和目录的关系,目录就是索引,我们根据目录能快速拿到想要内容的页码。为什么是B+树,有这个几个理..
2021-03-30 00:12:34
1254
原创 还没35岁的我已经快秃了
周末就不发技术相关的,聊一聊敏感话题。事情是这样的,昨晚洗漱的时候,陡然发现我发际线高了很多。这可怎么办?还没当上CTO,未富先秃了。然后我就去网上搜防脱发的方法,不搜不知道,一搜吓一跳,关于互联网人脱发,网上的讨论非常热烈。另外我查资料的时候,才知道特斯拉的掌门人马斯克也做了植发手术。脱发数据大盘跟我想的不太一样,原来以为脱发最严重的应该是60,70后,但从阿里(阿里健康)发布的《拯救脱发趣味白皮书》显示,在零售平台购买植发、护发产品的消费者中,“90后”占比非常高,脱发群体年龄正在下沉.
2021-03-29 22:21:40
16969
36
原创 阿里二面被问怎么排查线上问题的?
不知道你们经历过这种问题没有,比如问你遇到过线上性能问题没有,GC频繁,CPU飙高,任务队列积压,线程池任务拒绝等等,对于看重项目经验的面试官,这种问题基本是标配,问线上问题处理的经过,问题定位,排查的思路,怎么做的业务快速止血。一方面考察候选人项目的真实性,一般遇到线上问题大部分时候是系统主要负责人着手处理的,所以如果你处理过线上问题,也从侧面反映你的重要性。另外还能知道面试者是不是真的从原理上掌握了问题的根本原因,对技术的热忱等。另外建议大家处理完线上问题,排查了原因之后不要停,把排查过程和问题原因记.
2021-03-19 01:56:55
1271
1
原创 Java高频面试题题解-持续更新中
上一篇文章我发布了Java后端的100道高频面试题(实际是90道)。大家如果看过这90道题,会发现一般常规的面试问题可以说都覆盖到了,看完应该还有一个感觉,每一道题都不是一二句话能简单讲完的,如果能把这些面试题以及关联的知识都掌握,相信对Java 的掌握程度也会更深刻一些。后台的消息很多,完整的更新完毕,微信后台回复“Java面试题”可获取PDF。还有读者说等着我这个去面试,今天学习群里一个读者说已经拿到6个offer了,希望我的读者都能offer爆炸。。最近真是太累了,更新的慢一些,也是忙了大半.
2021-03-09 01:19:40
1681
原创 Java集合之Stack(出自Java知识体系)
安琪拉正在梳理Java知识体系,这篇讲Java集合的Stack。如果希望获取完整的《安琪拉Java知识体系》整理中, 完成后公众号回复“知识体系” 即可获取。完整的Java集合如下图所示:这次讲Stack。Stack翻译过来是栈,栈最大的特点就是先进后出,Stack继承自Vector,因此和Vector一样,底层数据结构也是数组,除了Vector 提供的方法,Stack 提供了栈需要的一些方法。如下:构造方法: public Stack() { } // 空的,没有预先.
2021-03-06 22:17:20
759
原创 100道Java高频面试题(阿里面试官整理)
我分享文章的时候,有个读者回复说他去年就关注了我的微信公众号,打算看完我的所有文章,然后去面试,结果我后来很长时间不更新了。。。所以为了弥补一直等我的娃儿们,给大家的金三银四准备了100道花时间准备的高频Java面试题,大家不要太感动,记得点赞评论就行。这次只放出九十道,剩下10道准备找认识的几位面试官去要,希望不会被拒绝。这些题我认为认真思考还是很有价值的,答案整理中,全部整理好,我会做出PDF,整理好后大家公众号后台回复“Java面试题”领取。Java高频面试题自我介绍一下项目中用到的.
2021-02-25 01:02:04
7440
48
原创 DO、DTO、BO、VO、POJO区别
不知道大家在自己的系统中发现很多类都是以VO、DTO、DO结尾的类,这些存储数据的简单类,有什么作用呢?我理解有二个作用:一般稍大的系统都是分层设计的,最底层是数据存储层,数据库,最上层是对外提供接口调用的应用层,那每一层都有关联的数据对象,所以需要做相应的区分。让类语义更明确,很容易知道类的含义。定义先来看看阿里巴巴开发规约的定义:POJO(Plain Ordinary Java Object):在本规约中,POJO专指只有setter/getter/toString的简单类,包括DO.
2021-02-16 17:28:48
1912
1
原创 聊聊我那些在快手的朋友们
最近在互联网圈子最热闹的事件莫过于快手的上市,截止到我写这篇文章,快手从115港元/股涨到了300港元/股,上涨了160%,总市值1.23万亿。我一共有三位大学同班同学在快手,其中一位离开了。上市前我找二位聊了聊,表达一下祝贺,顺便打探了一下隐私,咳咳。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HI4W6DSN-1612750121173)(/Users/jiulong/Library/Application Support/typora-user-images/.
2021-02-08 10:09:15
744
原创 放弃优快云可惜不可惜?!!
20年开始把自己日常写的一些文字发到优快云 上,去年看了下文章的数据,觉得还是可以的,下面是阅读量的截图。最开始愿意写下去的动力也是优快云 对原创的支持,愿意支持原创,给新手体验还是不错的。有些文章阅读量不算高,但也还可以。比如下面这些文章。但是等到2021 年,我崩溃了,写的文章质量我个人认为是还可以的,很多都是我在阿里做的技术的一些沉淀的总结,在掘金、公众号上阅读量和反馈都不错,但是到了优快云,阅读简直惨不忍睹,要知道每次写一篇文章少则4,5个小时,多则一整天,技术梳理,排版,校验,但是平
2021-02-05 22:36:42
647
5
原创 面试被问线程池,真香
这篇是并发编程系列文章第五篇了,说到并发编程,怎么少的了线程池,在阿里线程池使用场景非常多,用好线程池这个利器也算是日常开发必须掌握的了,下面讲讲2019年的那一夜,就线程池和某位面试官鏖战了半个小时。面试官 : 看你简历上写了对系统性能做了优化,能简单给我介绍一下吗? 都有哪些优化,你是怎么衡量优化效果的?我 : 巴拉巴拉。。。例如我们系统之前要查询用户的个人身份信息、联系人信息、订单状态信息、积分信息,之前系统是单线程串行处理的,我用线程池对四个任务并行处理,然后对处理结果合并。面试官 .
2021-02-05 22:14:22
1014
4
原创 阿里面试官问我Java线程和操作系统线程什么关系
这个问题是安琪拉之前面试被问到的一个问题,正好顺着上一篇文章介绍完线程调用时的用户态和内核态的切换,后续把Java 并发的都一起讲了。面试官:听前一个面试官说你Java并发这块掌握的不错,我们深入的交流一下;我: 看了看面试官头部稀疏的结缔组织,已然觉得这场面试不简单,不过好在事前把安琪拉的博客看了个遍,有所准备,我回答说:咳咳,掌握的还算可以。面试官:Java线程用过的吧?我:用过。面试官:那你给我讲讲Java线程和操作系统的?我:啊!!!剧情不应该这样的啊,开场不应该先是 sync.
2021-01-17 11:00:06
2325
2
原创 用户空间和内核空间的区别
用户空间和内核空间最近在重新梳理Java 并发的知识,这篇文章是为了后面讲ReentrantLock做准备的,先热个身,随着研究的深入,就来到了这里,要把一件事情讲清楚,可以无限下钻,就像物体->原子->分子->夸克,直到超出自己能理解的知识范畴。前言我们知道操作系统采用的是虚拟地址空间,以32位操作系统举例,它的寻址空间为4G(2的32次方),这里解释二个概念:寻址: 是指操作系统能找到的地址范围,32位指的是地址总线的位数,你就想象32位的二进制数,每一位可以是0,可以是
2021-01-12 03:09:38
8574
原创 离职结婚面试买房蚂蚁上市—过山车般魔幻的2020
想了半天,我也不知道用什么标题,索性就直白点,告诉你们我这一年都经历了些啥?开局2020开局不利,所有人的心都被一个叫新冠肺炎的家伙牵绊着,疫情席卷全球,大家提心吊胆,所有人的目光都聚焦在武汉这座历史上从来不缺关注的名城。每天都关注着武汉的动态,从华南海鲜市场,到钟南山说的人传人,再到抗疫自愿者奔赴前行,病毒牵绊着全国人民的心。那时候每天都要关注下面这张图。那时候正好不巧,有天早上起床发现喉咙隐隐作痛,一直想咽口水,第一反应是我也中招了,当时醒来的一瞬间,脑海中像放幻灯片一样,把自己的这一生过.
2021-01-04 21:49:27
825
原创 聊聊最新收到的一些简历
非常重要:蚂蚁金服年底海量hc,关键竞争压力小,部门核心,千万DAU,6位数QPS,有意向找我内推,可做适当面试指导,机会难得。前言最近部门在招人,机会是真的难得,希望自己读者,对阿里感兴趣的,能抓住这次机会进来。周末大概从脉脉收了有十份简历,公众号加我收到的也有十来份,整体看了简历,有很多还不错的候选人,开心????。也给二位读者做了面试指导,一位读者做了模拟面试,有些总结分享给读者们。希望我的读者们都能如愿以偿,找到自己心仪的公司。简历篇收了很多简历,发现大部分简历有几个共同的问题。
2020-12-27 22:43:24
641
3
原创 你不得不知道的反射(非常重要)
非常重要: 蚂蚁金服年底海量hc,关键竞争压力小,部门核心,千万DAU,6位数QPS,有意向找我内推,可做适当面试指导,机会难得。刚开始学Java 一般不太会关注到反射,但是如果看很多框架的源码,发现反射无处不在。最近一个业务需求中用了反射,感觉非常丝滑。前言鲁班: 什么是反射?安琪拉: 反射是Java 中提供的运行期获取对象信息的能力。先记住二个关键词:运行期、对象信息。鲁班: 那为什么Java 需要反射呢? 需要在运行期获取对象信息呢?安琪拉: 比如你希望调用某个对象的方法,例如
2020-12-25 23:41:31
936
2
原创 安琪拉教鲁班玩Java反射-业务场景篇
安琪拉教鲁班玩Java反射-业务场景篇Java 语言中有很多特性,其中有一项很重要的特性就是反射,我们在很多框架类的代码中可能会看到反射的身影,那实际在业务逻辑层是否可以用反射特性做些事情呢? 安琪拉在完成最近的一个业务需求时就用了反射,这里记录一下使用历程。前言声明: 本系列文章分为三部分,此篇是开头第一篇《反射的业务使用场景》反射的业务使用场景反射的原理通用服务能力模型设计为了给日常的curd 增加一些难度,或者说为了让工作更好玩,鲁班开始折腾起自己手上的工具,某天小鲁班发现自己的
2020-12-24 00:33:51
873
3
原创 真实的阿里《破冰》
想到写这篇文章是读者群里,很多玩家们都在问我阿里生活怎么样,阿里味是什么味,996适不适应,其中尤其以破冰最为感兴趣,大家把从网上看到的各种传闻都发出来了,看的我虎躯一震,躲草丛阴人都没这么刺激,想想作为局内人写篇文章和大家聊一聊阿里的一些文化吧。1. 起因群里大家问我,阿里生活怎么样,然后虎哥起了个头,问“破冰”了没?群里一下子热闹起来了,虎哥开始用他丰富的职场阅历,开始给大家科普什么是“破冰”,所谓见多识广,素材非常详尽,直到后面发的越来越玄乎,直让大家。简直一言不合就开车啊,只能感慨作为群.
2020-10-16 01:50:09
39146
3
原创 一个生产网络问题Broken Pipe引发的思考
本文是以安琪拉在项目中解决的一个网络异常(Broken Pipe)为出发点写的,我想玩家们应该多少遇到过项目中的网络问题,这篇文章也提供了一种解决网络问题的思路,玩家们遇到其他网络问题时可以借鉴这个思路。为了尽量讲的清晰明了,以下面这个流程进行:背景:安琪拉遇到网络异常小试牛刀:在Wireshark数据包中看三次握手预备知识:回顾网络分层、三次握手、四次挥手等网络基础知识异常定位:Wireshark 分析定位Broken Pipe 异常原因代码修复:调整客户端代码扩展阅读:其他网络知识及.
2020-05-28 11:12:23
10668
6
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人