面试真题·进阶教程·职场干货·思维导图免费分享
之前在SpringBoot项目中,我一直使用RedisTemplate来操作Redis中的数据,这也是Spring官方支持的方式。对比Spring Data对MongoDB和ES的支持,这种使用Template的方式确实不够优雅!最近发现Redis官方新推出了Redis的专属ORM框架RedisOM,用起来够优雅,推荐给大家! RedisOM简介 RedisOM是Redis官方推出的ORM框架,是对Spring Data Redis的扩展。由于Redis目前已经支持原生JSON对象的存储,之前使用RedisTemplate直接用字符串来存储JOSN对象的方式明显不够优雅。通过RedisOM我
首先我们来看一个现成的框架:ElasticJob,有一个跟他齐名的 xxljob,这个咱们以后再抽空介绍。 1. ElasticJob 1.1 简介 ElasticJob 是一个分布式作业调度解决方案,它的官网是: http://shardingsphere.apache.org/elasticjob Elastic Job 的前身是由当当开源的一款分布式任务调度框架 dd-job,不过在 2020 年 5 月 28 日加入到了 Apache 基金会,成为 Apache 下 的 一个开源项目:
面试官:RocketMQ 消息积压了,增 加消费者有用吗? 我:这个要看具体的场景,不同的场景下情况是不一样的。 面试官:可以详细说一下吗? 我:如果消费者的数量小于 MessageQueue 的数量,增加消费者可以加快消 息消费速度,减少消 息积压。比如一个 Topic 有 4 个 MessageQueue,2 个消费者进行消费,如果增加一个消费者,明细可以加快拉取消息的频率。如下图:
又是一年过去了,职场的积雪还没有消融,又迎来了一次大考。疫情还没完全过去,大家强打起精神,相互问好致意,眼角却满是疲惫... 企业调薪、裁员、组织架构调整等等,坏消息只多不少,最近也有很多来咨询跳槽的朋友,都是因为之前的公司出现了比较大的薪资和组织变动 2022年开春的春招马上就要进行了,你筹备好了吗? 我梳理了各个大厂春秋招面经分享,分享上万道面试题及答案,从实习生到开发1-10年的简历模板,面试过程的文档教程!
今天给大家分享的是《大数据Spark企业级实战》与《Hadoop实战》《大数据处理系统·Hadoop源代码情景分析》《50个大厂大数据算法教程》等销量排行前10名的大数据技术书籍(文末领取PDF版)。这些书籍具有以下几个优点:易读、实践性强,对解决工作中遇到的业务问题具有一定启发性。
计算机专业的应届生想进大厂做开发有多难呢? 我们来看一组网上的数据: 据统计,互联网公司笔试是最难的关卡之一,平均通过率只有 10%~20%。滴滴出行笔试通过率为 18.2%;腾讯秋招笔试通过率不足 15%;字节跳动通过率不足 25%... 你要知道的是,即便好不容易过淘汰率 50% 笔试,还有淘汰率 60% 的面试在等你,而且面试也有好几轮:一面群面→二面组长面→三面部门经理面→四面总监面→五面 HR 面→ Offer。 看完这个,不知道有多少同学的心已经凉得跟现在东北的气温一样了。 但是,你也要意识到。大多数人的危机其实也是你的机会。
一、RedisInsight 简介 RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,并且可以在界面上使用 CLI 和连接的 Redis 进行交互(RedisInsight 内置对 Redis 模块支持): https://docs.redis.com/latest/ri/ RedisInsight 提供的功能: 唯一支持 Redis Cluster 的 GUI 工具; 可以基于 Browser 的界面来进行搜索键、查看和编辑数据; 支持基于 SSL/TLS 的连接,同时还可以在界面上进行内存分
最近想体验下最新版本的SpringBoot,逛了下官网,发现SpringBoot目前最新版本已经是2.6.4了,版本更新确实够快的。之前的项目升级了2.6.4版本后发现有好多坑,不仅有循环依赖的问题,连Swagger都没法用了!今天给大家分享下升级过程,填一填这些坑! 聊聊SpringBoot版本 首先我们来聊聊SpringBoot的版本,目前最新版本是2.6.4版本,2.7.x即将发布,2.4.x及以下版本已经停止维护了,目前的主流版本应该是2.5.x和2.6.x。具体可以看下面这张表。
面试官问:如何设计一个高并发系统? 说实话,如果面试官问你这个题目,那么你必须要使出全身吃奶劲了。为啥?因为你没看到现在很多公司招聘的 JD 里都是说啥有高并发经验者优先。 如果你确实有真才实学,在互联网公司里干过高并发系统,那你确实拿 offer 基本如探囊取物,没啥问题。面试官也绝对不会这样来问你,否则他就是蠢。 假设你在某知名电商公司干过高并发系统,用户上亿,一天流量几十亿,高峰期并发量上万,甚至是十万。那么人家一定会仔细盘问你的系统架构,你们系统啥架构?怎么部署的?部署了多少台机器?缓存咋用的?MQ 咋用的?数据库咋用的?就是深挖你到底是如何扛住高并发的。
近年来随着互联网的飞速发展,各行各业都在拥 互联网。互联网给人类生活带来了翻天覆地的变化,人们在享受互联网给生活带来便捷的同时,业务需求的发展也对互联网技术提出了更高的要求,传统的单体架构对越来越复杂的业务需求显得力不从 此外,随着大数据云计算和人工智能的飞速发展,软件的架构显得越来越重要。近几年来,“微服务”这名词在各大网站、论坛、演讲中出现的频率足以让人们感觉到它对软件架构带来的影响 。目前,各大公司都在纷纷采用微服务架构。 一款非常不错的Spring Cloud Alibaba微服务大厂项目!掌握它,就能够直接写到简历里...啥也不说了。上图!
互联网行业竞争越来越严峻,面试也是越来越难,一直以来我都想整理一套完美的面试宝典,奈何难抽出时间,这套1000+道的Java面试手册我整理了整整1个月,上传到Git上目前star数达到了30K+ 这套互联网Java工程师面试题包括了:MyBatis、ZK、Dubbo、EL、Redis、MySQL、并发编程、Java面试、Spring、微服务、Linux、Springboot、SpringCloud、MQ、Kafka面试专题(共485页,32W字)
之前在SpringBoot项目中一直使用的是SpringFox提供的Swagger库,上了下官网发现已经有接近两年没出新版本了!前几天升级了SpringBoot 2.6.x 版本,发现这个库的兼容性也越来越不好了,有的常用注解属性被废弃了居然都没提供替代!无意中发现了另一款Swagger库SpringDoc,试用了一下非常不错,推荐给大家! SpringDoc简介 SpringDoc是一款可以结合SpringBoot使用的API文档生成工具,基于OpenAPI 3,目前在Github上已有1.7K+Star,更新发版还是挺勤快的,是一款更好用的Swagger库!值得一提的是SpringDoc
学习过我的开源项目mall的朋友应该知道,我有一个使用Docsify 搭建的项目文档网站。使用Docsify搭建文档网站虽然简单,但是缺少分类、标签、SEO这类功能,随着文档越来越多,查找起来有点不方便!今天给大家推荐一个炫酷的文档主题vuepress-theme-hope,用来搭建项目文档网站正合适! vuepress-theme-hope 简介 vuepress-theme-hope是一个具有强大功能的VuePress主题,为Markdown添加了更多增强语法,可用于搭建项目文档和博客网站。支持分类和标签功能,可以让你的文档更加结构化!内置多种插件,功能强大,值得一试!
Spring Security 是一个基于 Spring AOP 和 Servlet 过滤器的安全框架,它提供了安全性方面的解决方案 Spring Security作为非常强大的框架,作为程序员是非常热爱的,我这里整理了四份Spring Security手写笔记及实战手册分享给大家
数据结构是计算机科学与技术专业非常重要的一门核心基础课,计算机科学各个领域以及各种应用软件都要使用相关的数据结构和算法。 本篇的主要目的不是提供关于数据结构和算法的定理及证明。本书采用的模式是利用不同的复杂度改善问题的解决(对于每个问题,你将发现多个具有不同复杂度及降低复杂度的解法)。基本上,这一思路就是列举某个问题的所有可能性。通过这种方式,即使你遇到一个新问题,它也能够向你指明如何思考该问题所有可能的结果。对于正在准备面试、参加选拔性考试以及校园面试的读者很有帮助。
关于 MySQL 主从搭建,我们在项目中,更常见一种结构是双 M 结构,即两个 MySQL 实例,每个 MySQL 实例互为主备,这样在主节点突然断电或者不可用的时候,slave 节点可以很快切换为 master,架构图如下: 在这种结构中,两个 MySQL 实例的地位是平等的,互为对方的主备,我们判断谁是主机谁是从机的方式主要是看 readonly,谁是只读的,那谁就是从机,所以这种情况下,主从切换也很方便,只要修改 readonly 属性即可。 接下来我们就来搭建一个 双 M 的主从备份,看看和单纯的 M-S 结 构 的有啥区别。
之前分享过一些低代码相关的文章,发现大家还是比较感兴趣的。之前在我印象中低代码就是通过图形化界面来生成代码而已,其实真正的低代码不仅要负责生成代码,还要负责代码的维护,把它当做一站式开发平台也不为过!最近体验了一把阿里开源的低代码工具LowCodeEngine,确实是一款面向企业级的低代码解决方案,推荐给大家! LowCodeEngine简介 LowCodeEngine是阿里开源的一套面向扩展设计的企业级低代码技术体系,目前在在Github上已有4.7K+Star。这个项目大概是今年2月中旬开源的,两个月不到收获这么多Star,确实非常厉害!
作为一名后端开发,API接口管理工具真的是必不可少!最近发现国产的API管理工具也火起来了,功能也越来越强大!今天给大家推荐一款低调但实力强大的API管理神器Eolink!不愧是是专业的国产API管理工具,界面炫酷,功能也给力!
去字节、美团、BAT等大厂面试,刷LeetCode上的数据结构+算法题是必修课。许多读者说,刷题的时候经常会遇到困难,想要找一本答案题解做参考。 下面分享几个用Java语言实现的开源LeetCode题解,也要感谢这些优秀的开源作者们,分享真的会让这个世界变得很美好。 LeetCode题解答案pdf(基于Java实现) 这是一本基于Java语言实现的LeetCode题解,格式为PDF,可作为刷题的辅助和参考,方便阅读,也方便打印出来学习。
前两天收到读者喜报,说是进字节了 和他交流了一下他的学习心得,发现他看的资料也是我之前推荐过的算法进阶指南,这里推荐给大家,github star 可是过万哦!质量非常高! 这份算法笔记与其他的不同,均是用图解,gif 的方式来针对常见的题型进行详细的说明,非常的浅显易懂!有了这份笔记的总结,对校招和社招的算法刷题帮助之大不言而喻,果断收藏了 简单介绍一下这份笔记 比如判断环的入口位置,画了一张图,配以简单的文字描述让大家看完瞬间豁然开朗!
该项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统:首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统:商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。 该项目使用现阶段主流技术实现。涵盖了SpringBoot 2.3.0、MyBatis 3.4.6、Elasticsearch 7.6.2、RabbitMQ 3.7.15、Redis 5.0、MongoDB 4.2.5、
静态的 Swagger 们跟不上频繁变更的代码 “为什么改了这个没告诉我”,“实际功能和文档上说的不一样啊”。这些话大家做开发的想必耳朵都听出老茧了。真不是故意的,有时候任务比较急,就先改了代码,想着以后再同步文档,然后就给忘了。项目更新又全靠社交软件通知,人一多难免有一两个没及时沟通到的。确实给合作的小伙伴带来麻烦,但说实话开 发也挺委屈的。 这些问题产生的主要原因是,当前大部分研发团队的工作流程是这样的:
Yao简介 Yao是一款Go语言驱动的低代码应用引擎,目前在Github上已有3.8k+Star!使用该框架,你可以通过JSON完成90%的接口和页面开发,用来开发管理系统正合适!Yao的名字源于汉字爻(yáo),是构成八卦的基本符号,看样子作者对八卦还是挺有研究的。
我记得之前在群里看到,有位读者字节一面的时候被问到:「如何基于 UDP 协议实现可靠传输?」 很多同学第一反应就会说把 TCP 可靠传输的特性(序列号、确认应答、超时重传、流量控制、拥塞控制)在应用层实现一遍。 实现的思路确实这样没错,但是有没有想过,既然 TCP 天然支持可靠传输,为什么还需要基于 UDP 实现可靠传输呢?这不是重复造轮子吗?
前言 作为一个普普通通的程序员,如何才能提升自己的能力,在职场上拥有一技之长,这也成为普通的你我,迫切的需求。 拥有什么样的能力才能不被淘汰?答案是:高并发,它几乎成为了每个程序员都想要拥有的经验。 原因很简单:流量是大的电商公司必要的需求,比如,淘宝的双十一会产生大量的高并发,用户上亿,一天的流量就是几十亿,高峰期的并发量上十万。所以,如何抗住高并发,是这种大公司需要面对的。 所以,你要是掌握了这项技术,工资蹭蹭地往你兜里钻。
注明:这是一个励志老哥给我分享的个人经历,发本文的目的是为了让大家可以参考他的学习经历,提高自己的能力!当然人外有人天外有天,大神也别打我!再次说明,我只是为了能够帮助迷茫的兄弟们!接下来以他的第一视角为大家讲述他的经历。
前言 如何提升系统性能,设计出一个靠谱的系统是每一个架构师或者正在往架构师方向进阶的同僚们都需要考虑的问题。公司所处的行业,业务场景决定了你设计的系统演进过程,不过万变不离其宗,系统设计和优化的思想都是相通的(当然如果你刚入行没多久,目前肯定还不需要苦恼这种问题,但是工作用不到,不代表面试不问)。 如何设计一个高并发系统?这个问题想必有些出去面试的好兄弟肯定被问到过,现在公司招聘的需求也大都是:有高并发系统经验者优先。如果你没有,他问了你就挂了。如果你确实在互联网公司里干过高并发系统,是个“大佬”或者“伪大佬”,那你只要在这个问题上秀翻面试官,系统拆分,缓存,MQ,读写分离,分布分表,ES扩
IDEA是最常用的开发工具,很多程序员都想把它打造成一站式开发平台,于是安装了各种各样的插件。最近发现了一款IDEA插件RestfulFastRequest,细节做的真心不错,说它是IDEA版的Postman也不为过,推荐给大家! RestfulFastRequest简介 RestfulFastRequest号称是IDEA版本的Postman。它是一个功能强大的Restful API工具包插件,可以根据已有的方法快速生成接口调试用例。它有一个漂亮的界面来完成请求、检查服务器响应、存储你的API请求和导出API请求,该插件能帮助你在IDEA内更快更高效地调试API! 下面是使用Restful
在之前的一篇文章《为什么会出现数据库和缓存不一致的问题》中,我们介绍过缓存和数据库会出现数据不一致的几种情况。 我们提到过,在数据库和缓存的操作过程中,可能存在”先写数据库,后删缓存”、”先写数据库,后更新缓存”、”先删缓存库,后写数据库”以及”先更新缓存库,后写数据库”这四种。 那么,到底是应该删
经常使用Swagger的小伙伴应该有所体会,Swagger对于JSON的支持真的很不友好!最近发现了两款颜值很不错的JSON可视化工具,可以优雅地展示JSON数据从而提高开发效率,推荐给大家! 聊聊Swagger 我们先来聊聊Swagger对JSON支持有哪些不友好的地方,我们为什么需要JSON可视化工具! 当我们使用Swagger提交POST请求,输入JSON请求参数时,它既不支持JSON格式校验,也不支持格式化,用起来很不方便;
前言 到底什么是分布式?这个话题一直以来就在各大平台论坛上被热议。一千个读者里面就有一千个哈姆雷特。官方这边给出的结论是:分布式就是将相同或相关的程序运行在多台计算机上,从而实现特定目标的一种计算方式。而从分布式技术的起源来看,随之诞生的分布式系统就是用更多的机器,处理更多的数据和更复杂的任务。 一个篱笆三个桩,一个好汉三个帮。虽然分布式系统让更多的服务器进行协作,提供了更强大的数据处理能力,解决了单机系统无法处理的问题;但是随之而来也带来了许多的挑战。有句老话说得好:如果你的系统可以用单机实现,就不要用分布式系统来做。(小声bb:这是真理谁不想简单点?)但是随着互联网不断迭代更新,为了满足
前段时间 , 在脉脉上看见某95后阿里P7晒出工资单,是真的给我酸了…… 没办法回去想想 , 还是说狠补一下技术吧。 按照之前的经验来看 , Java 一面基本上都是基础题,同样是 CURD 的话,谁更熟练要谁,比如下面这个Java面试手册,八股文越熟练越容易通过 Java 面试。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好,他山之石,可以攻玉,多看多借鉴还是有帮助的。 这份资料内容涵盖极广,包含了22个技术栈、内容涵盖互联网公司面试常问的一些问题:
今年的秋招基本已经进入大规模的开奖季了,很多小伙伴收获不错,拿到了心仪的offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好,他山之石,可以攻玉,多看多借鉴还是有帮助的,这次腾讯也在疯狂招人!肝完这份八股文,38K妥了! 这份总结内容涵盖极广,包含了 14 个技术栈:
CloudToolkit简介 CloudToolkit是阿里出品的一款IDEA插件,通过它我们可以更方便地实现自动化部署,其内置的终端工具和文件上传功能,即使用来管理服务器也非常方便!这款IDEA插件不仅功能强大,而且完全免费! 安装 CloudToolkit的安装是非常简单的,直接在IDEA的插件市场中搜索Cloud Toolkit然后进行安装即可。
技术栈升级 mall项目采用现阶主流技术实现,这些主流技术基本都升级了目前最新稳定版,具体升级内容大家可以参考下表。 技术版本说明
细心的小伙伴可能会发现,最近蘑菇新上线了 IP 属地的功能,小伙伴在发表动态、发表评论以及聊天的时候,都会显示自己的 IP 属地信息
jvm性能调优都做了什么? JVM性能调优有很多设置,这个参考JVM参数即可. 主要调优的目的: 控制GC的行为.GC是一个后台处理,但是它也是会消耗系统性能的,因此经常会根据系统运行的程序的特性来更改GC行为 控制JVM堆栈大小.一般来说,JVM在内存分配上不需要你修改,(举例)但是当你的程序新生代对象在某个时间段产生的比较多的时候,就需要控制新生代的堆大小.同时,还要需要控制总的JVM大小避免内存溢出 控制JVM线程的内存分配.如果是多线程程序,产生线程和线程运行所消耗的内存也是可以控制的,需要通过一定时间的观测后,配置最优结果
网络协议就是网络中(包括互联网)传递、管理信息的一些规范。如同人与人之间相互交流是需要遵循一定的规矩一样,计算机之间的相互通信需要共同遵守一定的规则,这些规则就称为网络协议。 华为作为国内超一线的互联网企业,对国内的编程行业发展起到了至关重要的角色,作为国内使用网络协议这门技术最多的企业,对网络协议有这独家的理解!
对于高并发的场景来说,比如电商类,o2o,门户,等等互联网类的项目,缓存技术是Java项目中最常见的一种应用技术。然而,行业里很多朋友对缓存技术的了解与掌握,仅仅停留在掌握redis/memcached等缓存技术的基础使用,最多了解一些集群相关的知识,大部分人都可以对缓存技术掌握到这个程度。然而,仅仅对缓存相关的技术掌握到这种程度,无论是对于开发复杂的高并发系统,或者是在往Java高级工程师、Java资深工程师、Java架构师这些高阶的职位发展的过程中,都是完全不够用的。技术成长出现瓶颈,在自己公司的项目中,没有任何高并发与高可用的挑战性项目,自己不知道如何成长,自己也不知道如何让自己的技术更
本文将介绍 SpringMVC 中内容协商,可能有朋友听过,没听过的估计觉得很陌生,不管怎么样,先告诉你一点,这篇是非常重要的一个知识点,一定不要错误,坚持看完,一定会有大量收获,
B树的阶数等于叶节点最大关键字数量+1(因为关键字两边都有指向子节点的指针-分叉) 在m阶(m叉)B树中除根结点外,任何节点至少[m/2]个分叉,即至少[m/2]-1个关键字, [ ]代表向上取整。 节点内的关键字采用顺序查找或二分查找。 因为关键字太少会导致树变高,降低查找效率。另外就是保证同级子树的高度相同-平衡。
今天无聊刷 GitHub 看到一个让我血压上来的项目,带大家看看什么叫做“开源流氓”、“开源牛皮癣”。
没有家族和宗门的帮助,多少天才卡在分布式境界不善而终,今日吾打破自身枷锁,领悟分布式系统法则,突破此境界
spring相信大家都不会陌生! Spring 是目前主流的 Java Web 开发框架,是 Java 世界上最为成功的框架。该框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力。 Spring 由 Rod Johnson 创立,2004 年发布了 Spring 框架的第一版,其目的是用于简化企业级应用程序开发的难度和周期。本教程使用版本为 Spring 5.2。 Spring 框架不局限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何 Java 应用都可以从 Spring 中受益。Spring 框架还是一个超级粘合平台,除了自己提供功能外,还提供粘合其他技术和框架的能力。
背景 今天逛GitHub,发现了一个神级项目,作者将整理/记录阅读JDK源码时的理解与体会分享出来,便于大家学习。这里将项目分享出来,让小伙伴们能更好地学习Java。
Nginx是一款非常流行的Web服务器,在Github上已有16K+Star,我们经常用它来做静态资源托管或反向代理。最近发现了一款全新的Web服务器Caddy,Star数超越Nginx,标星38K+Star。试用了一下Caddy,发现它使用起来比Nginx优雅多了,功能也很强大,推荐给大家!
讲解5种常用的注册中心,对比其流程和原理,无论是面试还是技术选型,都非常有帮助。 对于注册中心,在写这篇文章前,我其实只对ETCD有比较深入的了解,但是对于Zookeeper和其它的注册中心了解甚少,甚至都没有考虑过ETCD和Zookeeper是否适合作为注册中心。 经过近2周的学习,原来注册中心除了ETCD和Zookeeper,常用的还有Eureka、Nacos、Consul,下面我们就对这些常用的注册中心,初探它们的异同,便于后续技术选型。 全文接近 8千字,有点长,建议先收藏,再慢慢看,下面是文章目录:
Java微服务作为当下最常用的架构技术,快速实现编程开发而且维护起来十分的方便,可以简单是实现高可用,分布式开发而且也很安全!
市面上讲Java框架的书很多,包括Sping Boot、Spring Cloud、Kafka等,但这些书通常只会让你技术的“量”增长,而“质”仍处于SSM的阶段。而且互联网上并没有体系化、结构化的提升技术的“质”的教材,于是这份阿里的高性能java架构核心手册就出来了!
自我介绍 2. 实习项目、背景、需求介绍 3. InnoDB优点 4. MyISAM索引底层是什么结构 5. B树和B+树区别 6. 为什么选择B+树不选择B树 7. MySQL如何支持事务 8. undo log如何保证原子性 9. MySQL隔离级别、存在的问题 10. MySQL如何解决脏读、不可重复读、幻读 11. 如何解决脏读?(读已提交)MySQL如何判断事务有没有提交?事务A中对id=1进行修改,不提交;事务B中读取id=1的数据,如何判断这个数据有没有被提交? 12. InnoDB可重复读是否存在幻读问题 13. 如果对记录修改,是否会读到修改的值? 14. LeetCode:
发表了文章
2025-02-19
发表了文章
2025-02-19
发表了文章
2025-02-19
发表了文章
2024-08-28
发表了文章
2024-08-28
发表了文章
2024-08-27
发表了文章
2024-08-27
发表了文章
2024-08-27
发表了文章
2024-08-26
发表了文章
2024-08-26
发表了文章
2024-08-26
发表了文章
2024-08-24
发表了文章
2024-08-24
发表了文章
2024-08-24
发表了文章
2024-08-23
发表了文章
2024-08-23
发表了文章
2024-08-23
发表了文章
2024-08-22
发表了文章
2024-08-22
发表了文章
2024-08-22