Java极客技术_社区达人页
产品
解决方案
文档与社区
权益中心
定价
云市场
合作伙伴
支持与服务
了解阿里云
AI 助理
备案
控制台
开发者社区
首页
探索云世界
探索云世界
云上快速入门,热门云上应用快速查找
了解更多
问产品
动手实践
官方博客
考认证
TIANCHI大赛
活动广场
活动广场
丰富的线上&线下活动,深入探索云世界
任务中心
做任务,得社区积分和周边
高校计划
让每位学生受益于普惠算力
训练营
资深技术专家手把手带教
话题
畅聊无限,分享你的技术见解
开发者评测
最真实的开发者用云体验
乘风者计划
让创作激发创新
阿里云MVP
遇见技术追梦人
直播
技术交流,直击现场
下载
下载
海量开发者使用工具、手册,免费下载
镜像站
极速、全面、稳定、安全的开源镜像
技术资料
开发手册、白皮书、案例集等实战精华
插件
为开发者定制的Chrome浏览器插件
探索云世界
新手上云
云上应用构建
云上数据管理
云上探索人工智能
云计算
弹性计算
无影
存储
网络
倚天
云原生
容器
serverless
中间件
微服务
可观测
消息队列
数据库
关系型数据库
NoSQL数据库
数据仓库
数据管理工具
PolarDB开源
向量数据库
热门
百炼大模型
Modelscope模型即服务
弹性计算
云原生
数据库
云效DevOps
龙蜥操作系统
平头哥
钉钉开放平台
物联网
大数据
大数据计算
实时数仓Hologres
实时计算Flink
E-MapReduce
DataWorks
Elasticsearch
机器学习平台PAI
智能搜索推荐
数据可视化DataV
人工智能
机器学习平台PAI
视觉智能开放平台
智能语音交互
自然语言处理
多模态模型
pythonsdk
通用模型
开发与运维
云效DevOps
钉钉宜搭
支持服务
镜像站
码上公益
Java极客技术
已加入开发者社区
1165
天
勋章
更多
专家博主
专家博主
星级博主
星级博主
技术博主
技术博主
初入江湖
初入江湖
成就
已发布744篇文章
5条评论
已回答0个问题
0条评论
已发布0个视频
github地址
我关注的人
更多
粉丝
更多
游客u6hn4wtydtfms
游客u6hn4wtydtfms
游客77up24tu3csvo
游客77up24tu3csvo
tianbao
tianbao
风___殇
风___殇
游客oiufarh6lwtwq
游客oiufarh6lwtwq
3x6zs3ku4ferk
3x6zs3ku4ferk
游客d7c4ub7xag7iw
游客d7c4ub7xag7iw
游客cdoumubna3zms
游客cdoumubna3zms
Naylor
Naylor
游客w4hif26dlr2h2
游客w4hif26dlr2h2
游客i4t6ytoipeiss
游客i4t6ytoipeiss
j5tnxi2w4mrqs
j5tnxi2w4mrqs
技术能力
兴趣领域
Java
开发框架
微服务
擅长领域
技术认证
暂时未有相关云产品技术能力~
关注公众号【Java极客技术】回复eeee03,获取最新代码资源
精选
高分内容
最新动态
文章
问答
视频
暂无精选文章
暂无更多信息
2022年02月
02.12
19:45:03
发表了文章
2022-02-12 19:45:03
一次关于 Dubbo 服务 IP 注册错误的踩坑经历
这不最近又遇到个问题,Dubbo 服务 IP 注册错误,好了,下面进入正题。
02.12
19:40:06
发表了文章
2022-02-12 19:40:06
细数 SpringBoot 中的连接池
hello~各位读者新年好,我是鸭血粉丝(大家会亲切的喊我「阿粉」),是一位喜欢吃鸭血粉丝的程序员! 回想起前几天在部署springboot项目到正线时,线上环境要求jdk7,可项目是基于jdk8开发的,springboot也是用的springboot2以上的版本,可以说缝缝补补一整天才搞好能满足线上环境的代码,搞完后当然需要小小的了解一下背后的秘密。
02.12
19:36:09
发表了文章
2022-02-12 19:36:09
定时任务莫名停止,Spring 定时任务存在 Bug???
Hello~各位读者新年好,我是鸭血粉丝(大家可以称呼我为「阿粉」)。这里阿粉给大家拜个年,祝大家蒸蒸日上烫烫烫,年年有余屯屯屯。
02.12
19:19:35
发表了文章
2022-02-12 19:19:35
重新来理解一下Java是什么(下)
阿粉?阿粉?阿粉?阿粉在哪里,项目经理今天发现阿粉没来,一时间很生气,心里盘算回来一定要让阿粉知道自己不是好惹的?可是阿粉去了哪里呢?阿粉受不鸟这个公司了,太 TM XXX了,阿粉出来面试了!!!阿粉心想一定要找到一个好工作!!!
02.12
19:12:36
发表了文章
2022-02-12 19:12:36
重新来理解一下Java是什么(上)
阿粉?阿粉?阿粉?阿粉在哪里,项目经理今天发现阿粉没来,一时间很生气,心里盘算回来一定要让阿粉知道自己不是好惹的?可是阿粉去了哪里呢?阿粉受不鸟这个公司了,太 TM XXX了,阿粉出来面试了!!!阿粉心想一定要找到一个好工作!!!
02.12
19:09:27
发表了文章
2022-02-12 19:09:27
CopyOnWriteArrayList 你了解多少?
相信大家对 ConcurrentHashMap 这个线程安全类非常熟悉,但是如果我想在多线程环境下使用 ArrayList,该怎么处理呢?阿粉今天来给你揭晓答案!
02.12
19:04:56
发表了文章
2022-02-12 19:04:56
Mac 上必备的常用软件,你值得拥有
大家好,我是鸭血粉丝,最近阿粉在逛 Youtube 的时候发现了一个很有意思的视频,里面介绍了十款 Mac 上使用的软件,十分好用(原文地址:https://www.youtube.com/watch?v=WKSZXFvpu5Q)。抱着好东西要一起分享的态度,阿粉准备挑几个常用的推荐给大家。
02.12
18:49:48
发表了文章
2022-02-12 18:49:48
你还在使用JDK7,今天阿粉带你来了解一下JDK8,不得不说,真香!
前几天阿粉还在和同事抱怨,说现在 JDK 都已经11,12了,结果自己还在用 JDK 7,于是就发生了下面一幕。
02.12
18:47:14
发表了文章
2022-02-12 18:47:14
2020 年的第一天,程序员鸭血粉丝又碰上生产事故
hello~各位读者新年好,我是鸭血粉丝(大家可以称呼我为「阿粉」),一位喜欢吃鸭血粉丝的程序员!2019 年,阿粉写了很多 bug,这不前一段时间 OOM 差点就把服务器搞挂。跨年的时刻,阿粉默默立下一个 flag,2020 年再见 bug。
02.12
18:40:05
发表了文章
2022-02-12 18:40:05
Redis 中的 “SOS”,不对,是 SDS
大家好,我是鸭血粉丝(大家会亲切的喊我 「阿粉」),是一位喜欢吃鸭血粉丝的程序员,之前给大家总结了线上 OOM 的情况,相信大家也能从中学到一些东西,身为一名有追求的程序员,阿粉我的理解是光会吃老本是不行的,所以我一直也在学习,今天大家就跟我一起来了解一下 Redis 的 SDS 吧(不是 SOS 哦~)。
02.12
18:36:34
发表了文章
2022-02-12 18:36:34
阿粉带你学习Flink中的Watermark
大家好,我是鸭血粉丝(大家会亲切的喊我 「阿粉」),是一位喜欢吃鸭血粉丝的程序员,大家要慢慢熟悉我的存在呦,因为接下来所有的技术,都是我来给大家展示的,昨天刚回想起线上OOM,并且做了性能优化,但是接下来,学习的步伐不能停止,在解决Bug的同时,我依旧要学习,大家来继续和我看一下Flink吧!
02.12
18:28:59
发表了文章
2022-02-12 18:28:59
记一次线上 OOM 和性能优化(下)
大家好,我是鸭血粉丝(大家会亲切的喊我 「阿粉」),是一位喜欢吃鸭血粉丝的程序员,回想起之前线上出现 OOM 的场景,毕竟当时是第一次遇到这么 紧脏 的大事,要好好记录下来。
02.12
18:26:02
发表了文章
2022-02-12 18:26:02
记一次线上 OOM 和性能优化(上)
大家好,我是鸭血粉丝(大家会亲切的喊我 「阿粉」),是一位喜欢吃鸭血粉丝的程序员,回想起之前线上出现 OOM 的场景,毕竟当时是第一次遇到这么 紧脏 的大事,要好好记录下来。
02.12
18:22:56
发表了文章
2022-02-12 18:22:56
Gateway:数据报文走出局域网的必经之路
最近没事在看极客时间上刘超老师的《趣谈网络协议》那门课程,其中有一篇讲得非常有意思,也有些难以理解,我以我的角度来谈谈。
02.12
18:19:05
发表了文章
2022-02-12 18:19:05
一文带你了解 Redis 的发布与订阅的底层原理(下)
发布订阅系统在我们日常的工作中经常会使用到,这种场景大部分情况我们都是使用消息队列的,常用的消息队列有 Kafka,RocketMQ,RabbitMQ,每一种消息队列都有其特性,关于 Kafka 的使用和源码分析,公号前面有相关的文章,大家可以前往回顾一下,另外两款消息队列大家有需要可以自行研究,后续我们会出相应的介绍文章。这篇文章主要是给大家介绍 Redis 的发布订阅系统,很多时候我们可能不需要独立部署相应的消息队列,只是简单的使用,而且数据量也不会太大,这种情况下,我们就可以使用 Redis 的 Pub/Sub 模型。
02.12
18:17:58
发表了文章
2022-02-12 18:17:58
一文带你了解 Redis 的发布与订阅的底层原理(上)
发布订阅系统在我们日常的工作中经常会使用到,这种场景大部分情况我们都是使用消息队列的,常用的消息队列有 Kafka,RocketMQ,RabbitMQ,每一种消息队列都有其特性,关于 Kafka 的使用和源码分析,公号前面有相关的文章,大家可以前往回顾一下,另外两款消息队列大家有需要可以自行研究,后续我们会出相应的介绍文章。这篇文章主要是给大家介绍 Redis 的发布订阅系统,很多时候我们可能不需要独立部署相应的消息队列,只是简单的使用,而且数据量也不会太大,这种情况下,我们就可以使用 Redis 的 Pub/Sub 模型。
02.12
18:12:11
发表了文章
2022-02-12 18:12:11
如果有人再问你 Java IO,把这篇文章砸他头上(三)
说到 I/O,想必大家都不会陌生, I/O 英语全称:Input/Output,即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。
02.12
18:03:09
发表了文章
2022-02-12 18:03:09
如果有人再问你 Java IO,把这篇文章砸他头上(二)
说到 I/O,想必大家都不会陌生, I/O 英语全称:Input/Output,即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。
02.12
17:59:38
发表了文章
2022-02-12 17:59:38
如果有人再问你 Java IO,把这篇文章砸他头上(一)
说到 I/O,想必大家都不会陌生, I/O 英语全称:Input/Output,即输入/输出,通常指数据在内部存储器和外部存储器或其他周边设备之间的输入和输出。
02.12
17:45:04
发表了文章
2022-02-12 17:45:04
面试必问之 ConcurrentHashMap 线程安全的具体实现方式(下)
ConcurrentHashMap 是 Java 并发包中提供的一个线程安全且高效的 HashMap 实现,以弥补 HashMap 不适合在并发环境中操作使用的不足,本文就来分析下 ConcurrentHashMap 的实现原理,并对其实现原理进行分析!
02.12
17:44:44
发表了文章
2022-02-12 17:44:44
面试必问之 ConcurrentHashMap 线程安全的具体实现方式(中)
ConcurrentHashMap 是 Java 并发包中提供的一个线程安全且高效的 HashMap 实现,以弥补 HashMap 不适合在并发环境中操作使用的不足,本文就来分析下 ConcurrentHashMap 的实现原理,并对其实现原理进行分析!
02.12
17:38:13
发表了文章
2022-02-12 17:38:13
面试必问之 ConcurrentHashMap 线程安全的具体实现方式(上)
ConcurrentHashMap 是 Java 并发包中提供的一个线程安全且高效的 HashMap 实现,以弥补 HashMap 不适合在并发环境中操作使用的不足,本文就来分析下 ConcurrentHashMap 的实现原理,并对其实现原理进行分析!
02.12
17:34:33
发表了文章
2022-02-12 17:34:33
面试官:负载均衡的算法你了解不?
上一篇文章我讲了关于负载均衡的三种算法,轮询法,随机法,最小连接法,这三种负载均衡的算法,但是关于负载均衡还有其他的算法,我们也需要你去看,而且在面试的过程中,很有可能是会问到的呦。 对于要实现高性能集群,选择好负载均衡器很重要,同时针对不同的业务场景选择合适的负载均衡算法也是非常重要的。之前已经罗列出几个了,接下来在说剩下的几个算法,
02.12
17:33:37
发表了文章
2022-02-12 17:33:37
当我们谈容器的时候,我们在谈什么
Docker 在当下很火,那么,当我们谈 Docker ,谈容器的时候,我们在谈什么?或者说,你对 Docker ,对容器了解吗?容器,到底是怎么一回事儿?
02.12
17:32:15
发表了文章
2022-02-12 17:32:15
HashMap 在多线程环境下操作可能会导致程序死循环
关于 HashMap,以前只知道它是非线程安全,在多线程环境下操作可能会导致程序死循环,CPU直接飙到100%的线上故障,还真是第一次听说......
02.12
17:21:23
发表了文章
2022-02-12 17:21:23
线程安全之synchronized关键字
之前我讲了关于 线程基础方面的相关知识,本篇文章将会带着大家来学习下线程安全相关的知识。
02.12
17:16:04
发表了文章
2022-02-12 17:16:04
如何正确理解kafka重平衡流程?
Kafka 重平衡流程一直是 kafka 比较麻烦和难以理解的地方,此篇文章通过大量的示意图带你了解一下 kafka 重平衡的过程
02.12
17:11:24
发表了文章
2022-02-12 17:11:24
for 循环用了那么多次,但你真的了解它么?
其实我们写代码的时候一直都在使用for循环,但是偶尔还是会纠结用哪一个循环。
02.12
17:08:07
发表了文章
2022-02-12 17:08:07
浅谈Comparable和Comparator
首先我们考虑一个场景:有一个整形数组, 我们希望通过调用一个工具类的排序方法就能对该数组进行排序. 请看下面的代码:
02.12
17:05:28
发表了文章
2022-02-12 17:05:28
直击面试,聊聊 GC 机制
GC 中文直译垃圾回收,是一种回收内存空间避免内存泄漏的机制。当 JVM 内存紧张,通过执行 GC 有效回收内存,转而分配给新对象从而实现内存的再利用。JVM 的 GC 机制虽然无需开发主动参与,减轻不少工作量,但是某些情况下,自动 GC 将会导致系统性能下降,响应变慢,所以这就需要我们提前了解掌握 GC 机制。当面对这种情况时,才能从容不迫的解决问题。另外 GC 机制也是 Java 面试高频考题,了解掌握 GC 是一项必备技能。
02.12
16:53:00
发表了文章
2022-02-12 16:53:00
【Kafka系列】副本机制和请求过程
复制功能是 Kafka 架构的核心功能,在 Kafka 文档里面 Kafka 把自己描述为 一个分布式的、可分区的、可复制的提交日志服务。复制之所以这么关键,是因为消息的持久存储非常重要,这能够保证在主节点宕机后依旧能够保证 Kafka 高可用。副本机制也可以称为备份机制(Replication),通常指分布式系统在多台网络交互的机器上保存有相同的数据备份/拷贝。
02.12
16:50:23
发表了文章
2022-02-12 16:50:23
Flink 基础学习(八) 手把手教你搭建伪集群 HA
前面理论性的知识是不是有点太“干货”,所以来点实战性的内容吧,这次记录了如何搭建高可用的 Flink 集群。 在正式配置前,来讲下为何要配置高可用(High Availability) 目前越来越多公司的线上应用,都采用的是分布式架构(一主多从),从而避免单点故障引起的服务不可用。 而在 Flink 中,同样也有集群保障服务的高可用,任何时候都有一个主 JobManager 和多个备 JobManager,当前主节点宕机后,立刻会有备 JobManager 当选成为主 JobManager ,接管集群,让每个作业继续正常进行。 出于这样的考虑,在 Flink 应用上线前,需要有这样一个
02.12
16:46:42
发表了文章
2022-02-12 16:46:42
面试官问:HTTP 的负载均衡你了解么?你不是说了你们用的Nginx么?说一下把。
之前我讲了关于 HTTP 的安全性问题,本篇文章将会从一个朋友的面试题入手,来说一下关于 HTTP 的重定向和负载均衡。
02.12
16:44:22
发表了文章
2022-02-12 16:44:22
给你一秒钟回答我这个问题
限时 1 秒钟给出答案,来来来,听我口令:“Java 如何获取数组和字符串的长度?length 还是 length()?” 在逛 programcreek 的时候,我发现了上面这个主题。说实话,我当时脑海中浮现出了这样一副惊心动魄的画面: 面试官老马坐在我的对面,地中海式的发型令我敬佩有加。尽管略显疲惫,但他仍然自信地向我抛出了上面这个问题。稍稍迟疑了一下,我回答说:“数组用 length,字符串用 length 跟上小括号”。老马不愧是面试中的高手,一瞬间就从我的回答中捕获到了不自信。我能感受得出来,因为我看到老马的嘴角微微地动了一下,似乎想要咂咂嘴。但出于对于我的礼貌,他克制住了。
02.12
16:43:34
发表了文章
2022-02-12 16:43:34
Kafka 进阶必备之控制器
如果你只追一个妹子并且对这个妹子特别用心的话,知道的人一定会说你是个好男人;如果你只是浅尝辄止并且追了大部分妹子的话,知道的人一定会骂你渣男。 做技术也是一样的,如果你对一门技术钻研的特别深的话,那你一定是这个领域不可或缺的人才;如果你每个技术都想学并且遇到一些困难就退缩,那么你就离被替代不远了。
02.12
16:40:25
发表了文章
2022-02-12 16:40:25
一文带你深入理解 HTTP 的秘密。。。
之前的文章说了一下关于 Cookie 的内容,但是也就引出来了一些问题,比如 HTTP 是怎么进行安全处理的?来了,本文给大家讲述 HTTP 的安全问题。
02.12
16:37:12
发表了文章
2022-02-12 16:37:12
原生线程池这么强大,Tomcat 为何还需扩展线程池?
Tomcat/Jetty 是目前比较流行的 Web 容器,两者接受请求之后都会转交给线程池处理,这样可以有效提高处理的能力与并发度。JDK 提高完整线程池实现,但是 Tomcat/Jetty 都没有直接使用。Jetty 采用自研方案,内部实现 QueuedThreadPool 线程池组件,而 Tomcat 采用扩展方案,踩在 JDK 线程池的肩膀上,扩展 JDK 原生线程池。 JDK 原生线程池可以说功能比较完善,使用也比较简单,那为何 Tomcat/Jetty 却不选择这个方案,反而自己去动手实现那?
02.12
16:34:16
发表了文章
2022-02-12 16:34:16
Flink 基础学习之窗口 Window
前面讲了时间 Time 的概念和实际解决问题后,本篇来看下经常搭配使用的另一个关键工具:窗口 Window。 窗口也有三种类型可供选择使用: Tumbling Windows:滚动窗口 Sliding Windows:滑动窗口 Session Windows:会话窗口 友情提示,本篇主要翻译自官网以及参考了 wuchong 大神的博客,内容比较干货,介绍这三种窗口的概念以及使用场景,希望看完能对 Flink 的窗口概念加深理解。
02.12
16:27:00
发表了文章
2022-02-12 16:27:00
Flink 基础学习(六)时间 Time 和 Watermark(下)
前面的例子中有出现过 时间窗口 TimeWindow 这个词语,其实是两个概念,时间 Time 和窗口 Window。 本篇文章比较干货,主要翻译自官网(参考资料一), 来讲下关于 Time 的学习、理解以及配套的概念 Watermark。 Watermark 有两种译法:水位线、水印。由于个人暂时分不清,所以后面一律以英文 Watermark 出现。
02.12
16:26:04
发表了文章
2022-02-12 16:26:04
Flink 基础学习(六)时间 Time 和 Watermark(上)
前面的例子中有出现过 时间窗口 TimeWindow 这个词语,其实是两个概念,时间 Time 和窗口 Window。 本篇文章比较干货,主要翻译自官网(参考资料一), 来讲下关于 Time 的学习、理解以及配套的概念 Watermark。 Watermark 有两种译法:水位线、水印。由于个人暂时分不清,所以后面一律以英文 Watermark 出现。
02.12
16:23:57
发表了文章
2022-02-12 16:23:57
【集合系列】- 深入浅出分析 ArrayDeque
ArrayDeque 一个循环数组,诞生于 JDK 1.6,今天小编想和大家一起来揭开它的面纱!
02.12
16:18:59
发表了文章
2022-02-12 16:18:59
这篇文章我们来聊聊什么是程序的局部性原理
作为有追求的程序员,我们日常在写代码的时候往往都会运用很多奇技淫巧,不单单是为了炫耀我们的技术,更是为了追求更高的效率。了解局部性原理,可以有效的帮助我们理解和写出更好的代码,对于局部性原理可能有的小伙伴知道,有的小伙伴不知道,知道的小伙伴就当做复习知识点,不知道的小伙伴也没关系,接着往下看就知道了。
02.12
14:49:26
发表了文章
2022-02-12 14:49:26
真的,关于 Kafka 入门看这一篇就够了(六)
Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。
02.12
14:46:33
发表了文章
2022-02-12 14:46:33
真的,关于 Kafka 入门看这一篇就够了(五)
Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。
02.12
14:43:58
发表了文章
2022-02-12 14:43:58
真的,关于 Kafka 入门看这一篇就够了(四)
Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。
1
...
8
9
10
...
15
跳转至:
发表了文章
2022-09-17
《羊了个羊》到底是啥?第二关到底能不能过?
发表了文章
2022-09-17
从0学Java(一)编程语言和软件
发表了文章
2022-09-03
我有 7种 实现web实时消息推送的方案,7种!
发表了文章
2022-07-14
从函数计算到 Serverless 架构
发表了文章
2022-02-15
手撸了一个网络请求工具类,开发速度迅速提升了300%
发表了文章
2022-02-15
真不是我吹,Spring里这款牛逼的网络工具库我估计你都没用过!(下)
发表了文章
2022-02-15
真不是我吹,Spring里这款牛逼的网络工具库我估计你都没用过!(上)
发表了文章
2022-02-15
程序员十大常规内卷操作,你学废了吗?
发表了文章
2022-02-15
刚入职没多久,连夜手写了一个代码生成器,项目开发速度瞬间屌炸了!(二)
发表了文章
2022-02-15
刚入职没多久,连夜手写了一个代码生成器,项目开发速度瞬间屌炸了!(一)
发表了文章
2022-02-15
Linux基础命令,你不得不会的内容
发表了文章
2022-02-15
SpringBoot 实现 Excel 自由导入导出,性能强的离谱,用起来还特优雅
发表了文章
2022-02-15
起飞,手撸了一个 LRU 缓存,源码原来这么简单!
发表了文章
2022-02-15
巧用自定义注解,一行代码搞定审计日志,你学会了吗?
发表了文章
2022-02-15
IDEA自带的数据库插件,真香
发表了文章
2022-02-15
关于 Java 的可变参数你真的了解吗?
发表了文章
2022-02-15
SpringDataA和Mybaits有什么区别,如何使用?
发表了文章
2022-02-15
面试时候总喜欢问的JVM要点在哪?(下)
发表了文章
2022-02-15
面试时候总喜欢问的JVM要点在哪?(上)
发表了文章
2022-02-15
程序员周报写不出来怎么办?
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息
勋章
关注
粉丝