自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

方志朋的博客

方志朋的博客...

  • 博客(3771)
  • 收藏
  • 关注

转载 SpringBoot+OnlyOffice:优雅实现在线 Word 编辑、转化、保存等功能

最近有个项目需求是实现前端页面可以对word文档进行编辑,并且可以进行保存,于是一顿搜索,找到开源第三方onlyoffice,实际上onlyOffice有很多功能,例如文档转化、多人协同编辑文档、文档打印等,我们只用到了文档编辑功能。如果你访问的地址需要携带token,进行token验证(自己的系统后台,并非onlyoffice的token),那么可以通过配置下面代码的形式进行解决,例如:我的访问路径为。的方式,也是可以的,但是你需要将文档挂到一个服务上,例如使用ngnix作为代理,进行。

2025-12-01 10:01:56 15

转载 年少不知自增好,错把UUID当个宝!!!

UUID 是无序的,每次插入新数据时,新记录可能会插入到索引树的任意位置,导致索引树频繁调整。由于 UUID 是无序的,修改主键值时,新值可能会插入到索引树的不同位置,导致索引树频繁调整。:UUID 是无序的,插入新数据时,可能会导致索引树频繁分裂和重新平衡,影响性能。字符主键通常是无序的,插入新数据时,可能会导致索引树频繁分裂和重新平衡,影响性能。索引的大小直接影响查询性能,索引越大,查询时需要的磁盘 I/O 操作越多。:UUID 索引占用的空间大,导致索引扫描的范围更大,查询效率降低。

2025-11-28 10:01:34 15

转载 Java + LangChain = 王炸!

RAG 有助于将模型的生成过程与相关且准确的信息结合,同时也让我们更深入地了解模型的生成过程。现在,我们可以将检索到的相关内容作为上下文,添加到我们打算发送给模型的提示中。在深入探讨为什么需要一个用于构建基于语言模型的应用程序的框架之前,我们需要弄清楚语言模型是什么,并了解使用语言模型时可能遇到的一些典型复杂性。大型语言模型是一种基础模型,经过大规模文本数据的训练后,可以捕捉人类语言的语法和语义。通过提示词工程,我们可以促进大型语言模型的安全使用,并构建新的功能,比如将领域知识和外部工具整合到模型中。

2025-11-27 10:02:26 16

转载 很严重了,大家别轻易离职。。。

Java基础、并发编程,JVM、Mysql、Spring、Mybatis、Redis、MQ、Zookeeper、Netty、Dubbo、Spring Boot、Spring Cloud、数据结构与算法、设计模式、机器学习、云计算、大厂场景题......,总结常见面试问题、实用面试技巧以及行业动态等多方面内容,帮助大家在面试中脱颖而出,拿到心仪的 offer。,然后与大佬标准答案进行对比,背答案不是目的,学会结合自己做过的项目回答问题,才是赢得面试官青睐的关键。,简历调整好,约面机会更多!

2025-11-25 10:01:17 43

转载 Redis官方发布高颜值可视化工具,功能更是强的离谱!

来源:blog.csdn.net/weixin_46902396/article/details/120807629/支持基于 SSL/TLS 的连接,同时还可以在界面上进行内存分析;可以基于 Browser 的界面来进行搜索键、查看和编辑数据;:配置 RedisInsight 的 IP 地址(:配置 RedisInsight 的日志存放路径(:配置 RedisInsight 的数据存放路径(2)配置 RedisInsight 的环境变量。:配置 RedisInsight 的监听端口(

2025-11-24 10:03:37 15

转载 天才用户取用户名为null,害我熬夜查到两点钟。。

但如果我们要从一个开发者的角度去看,还真得把那层调侃的外衣扒了,看看里面到底踩的是哪门子坑。,用英文引号括起来的那个,是有内容的,不是空。你把这个当成空值处理,那基本就是在写bug。这个字符串根本不是null,它是有内容的字符串,结果这个用户就“合法”注册进系统里了。这个坑最常见的场景,就是你在做用户注册或者处理输入时,没判断输入的值是不是故意输入的。等到要发邮件、要加权限,甚至检查重名时,才发现怎么一个用户叫null,简直像个幽灵。先说明一下,原帖说的“null”到底是啥意思,这不是Java的?

2025-11-20 10:02:13 16

转载 为什么大厂都禁用 SET 存储用户?Redis避坑指南

通过这个对比,可以明显看出哈希存储在对象存储场景下的综合优势。就像整理行李箱,哈希存储是「分格收纳」,而字符串存储是「胡乱塞满」,哪个更高效一目了然!下次存储对象时,不妨先问自己:这个数据需要「整体收纳」还是「分格整理」?[客户端]→→→→→→→→→[Redis]传输完整JSON数据包。直接发送HSET命令(仅传输修改字段)网络传输量减少60%+[客户端]→→→→[Redis]仅传输修改字段。• 哈希存储:约65字节(节省45%+)• 需要频繁修改部分字段(如用户资料)方案1:字符串存储(JSON序列化)

2025-11-18 10:02:07 14

转载 xxl-job 中那些惊艳的架构设计

xxl-job 定义了两个接口 ExecutorBiz,AdminBiz,ExecutorBiz 接口中封装了向心跳,暂停,触发执行等操作,AdminBiz 封装了回调,注册,取消注册操作,接口的实现类中,并没有通信相关的处理。ExecutorBiz.run 方法我们说过了,是走的动态代理,和执行器进行通信,执行器执行结果也是异步处理完,才返回的,而这里看到的 run 方法是同步等待处理结果返回。而任务的处理结果,也不是说处理完之后,同步返回的,也是放到回调线程的阻塞队列中,异步的将处理结果返回回去。

2025-11-17 10:02:32 19

转载 N+1都没有,被公司扫地出门了...

大量程序员挤在一起竞争,经验丰富的拼不过有大厂背书的,大厂出来的卷不过年轻低价的,就连应届生自己,都在卷 “实习时做过千万级流量项目”。最近整理了一些朋友刚入职的中厂、大厂面经,还把之前的资料整体优化了一版,年底有找工作需要的朋友,可以免费领取一份,希望能帮助到兄弟们。更扎心的是,简历筛得比 AI 还严,面试也不止是八股文了,场景题、系统设计题,甚至是大热的AI都在考察。今年金九银十太逆天了,互联网公司纷纷裁员并缩减HC,很多人连N+1都没拿到,就被公司扫地出门了。技术原理+大厂面试真题+简历模板。

2025-11-14 10:03:19 32

转载 Java泛型:T、E、K、V、?,你还在傻傻分不清?

PECS 是 Java大师Joshua Bloch 在《Effective Java》里提出的一个泛型使用经验法则,用来指导我们在选择通配符时,应该用 extends 还是 super。表示“某种类型是 T 或 T 的子类”,适合生产者/只读场景(PECS 原则中的 Producer)。表示“某种类型是 T 或 T 的父类”,适合消费者/写入场景(PECS 原则中的 Consumer)。读(生产者)用 extends,写(消费者)用 super。首先,我们要明确一个概念,T,E,K,V是类型参数(

2025-11-06 10:02:42 34

转载 为什么猝死的大多是程序员,基本上见不到产品经理?

我最忙的时候一个人总负责两个项目,手下带两个产品,我们大家都没怎么加班,实际上如果没有两个手下,那个工作量我自己一个人干,大不了一天不摸鱼其实也能干完,也不需要加班。我是站开发这边的,替他们说我觉得挺合理的,评估工期肯定是按最保险的来提,实际开发能早则早,不能早也正常。然后一个私下很熟的开发我们聊天就说,反正这个人老是喜欢压工期,那我报的时候就多报几天给你讨价还价呗,这就是我觉得没意义,大家都是工作,又不是菜市场买菜,何必逼着互相耍这种心机呢。本质上,这是一个概率问题,其概率都是一样的。

2025-11-05 10:01:29 25

转载 8种专坑同事 SQL 写法,性能降低100倍,不来坑一下?

该SQL语句原意是:先做一系列的左连接,然后排序取前15条记录。这种写法不仅存在额外的开销,还使得整个语句显的繁杂。在前端数据浏览翻页,或者大数据分批导出等场景下,是可以将上一页的最大值当成参数作为查询条件的。分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。了解数据库编译器的特性,才能避规其短处,写出高性能的SQL语句。不难看出子查询 c 是全表聚合查询,在表数量特别大的情况下会导致整个语句的性能下降。只有0和1两种状态,我们按照下面的方法重写后,执行时间从1.58秒降低到2毫秒。

2025-11-03 10:02:50 46

转载 你背的八股文过时了

这份资料是针对后端面试的场景题汇总。知识点标注、知识拓展、关键点提示全都有,一看就会稳拿offer!由于篇幅限制,完整版文档已打包,扫码添加下方微信,免费领取,无套路!有同学面了十几场发现:现在后端技术面很少考传统 “八股” ,结合了2025年最新的面试动向,精准拿捏今年的前端面试!我整理了今年大厂后端面试高频场景题合集,涵盖。把知识用到实际场景里,考察解决问题的思路。其他Java相关的问题也欢迎来问!90% 的面试官更爱问场景题。也屡屡碰壁,我也准备了适配。订单过期如何实现自动关单。

2025-10-28 10:01:46 25

转载 换掉 Xshell,试试这款高颜值跨平台 SSH 客户端

Termora 作为一个功能丰富、跨平台的终端模拟器和 SSH 客户端,为用户提供了便捷的终端访问和管理解决方案。需要额外说明的是SFTP功能,此功能较为隐蔽,需要点击右上角的搜索框,然后新建SFTP才可以使用。它不仅支持 Windows、macOS、Linux,体验还堪比聊天应用,轻松、顺滑、不掉链子。支持将会话信息加密同步到Gist,目前支持Github、Gitlab、Gitee,另外Termora作者还表示未来将支持WebDAV同步。这几个命令敲下去,GUI 弹窗就出来了,文件、权限、目录一目了然。

2025-10-27 10:01:22 46

转载 正式裁员15000人,赔偿N+4!

现在面试的竞争已经不只是技术比拼了,还要和这些从大厂出来的“资深选手”同台竞争。简历筛选这一关就卡得特别严,更别说技术面时稍微有个问题答得不够到位,机会就直接没了。熟练掌握这些内容,不仅能提升面试通过率,也对实际工作有积极帮助。可以看出,现在的开发者仅掌握基础技能已不足应对目前市场挑战,如果不持续提升技术深度和解决复杂问题的能力,前一段时间,一个在头部大厂的朋友告诉我,他们组最近收到了1000份简历,最终招了不到10个人。该资料严格对标当前大厂面试标准,涵盖项目实战、源码解析、系统架构等核心内容,

2025-10-24 10:03:29 25

转载 蚂蚁又开源了一个顶级 Java 项目!

但是解释器终究是低效的,好比在翻译英文时,机械地查找每个单词的含义然后组装起来,这样的翻译结果不仅冗长,还让人难以理解;JIT 编译器如同经验丰富的译员,当 JVM 中的解释器发现一段代码的执行频率很高时,就会使用 JIT 编译器对这段代码进行编译,通过对这段代码的深入分析与优化,产出一系列高效的指令以提高它的运行效率。简单来说,Jeandle 是基于 OpenJDK Hotspot JVM 的全新 Just-In-Time(简称 JIT,即时)编译器,利用 LLVM 进行编译优化与代码生成,

2025-10-21 10:01:41 52

转载 美团动态线程池,真香啊!

现在大多数的互联网项目其实都会微服务化部署,有一套自己的服务治理体系,微服务组件中的分布式配置中心扮演的就是动态修改配置, 实时生效的角色。:提供多种报警维度(配置变更通知、活性报警、容量阈值报警、拒绝触发报警、任务执行或等待超时报警),已支持企业微信、钉钉、飞书、邮件报警,同时提供 SPI 接口可自定义扩展实现。答案是肯定的,而且配置中心相对都是高可用的, 使用它也不用过于担心配置推送出现问题这类事儿,而且也能减少研发动态线程池组件的难度和工作量。线程池运行过程中的各项指标一般感知不到;

2025-10-20 10:01:10 36

转载 Spring Boot 实现微信登录,So Easy !

小程序登录在开发中是最常见的需求,哪怕小程序登录不是你做,你还是要了解一下流程,后续都要使用到openId和unionId,你需要知道这些是干什么的。用户登录成功之后,返回前端一个token,这个token就是用来验证用户信息的,用户点击小程序中的其他操作,就会token携带请求头。小程序所有请求不走后台的用户,所以在新增或修改的时候,不需要自动填充创建人和修改人,修改MP的自动填充。测试阶段使用测试号,在微信小程序后台获取appId和小程序秘钥,前端和后端都需要这两个参数。

2025-10-14 10:01:36 50

转载 SpringBoot 控制台秒变炫彩特效,秀翻同事指南!

当你启动 Spring Boot 应用时,控制台会打印出一个默认的 Spring Boot Banner(比如启动LOGO)。你可以通过这个文件自定义你想展示的 ASCII 图案、版本号、提示文字等。来源:https://blog.csdn.net/weixin_45677023。一、自定义 Spring Boot 启动横幅 banner.txt。二、进阶方式:关闭默认 Banner,自定义 Java 启动内容。在你的 Spring Boot 项目中,进入。三、实现启动成功后的彩色提示。

2025-10-13 10:03:09 60

转载 请大家立刻拿下软考证书!(红利爆发期)

升职加薪、跳槽加分,享受落户/购房加分、评职称、入专家库、投标评标、涨退休费、现金补贴。功方法论总结,独家归纳记忆口诀,快速记忆无负担,还将抽象的知识点用具象化形式表达,解析最新考点+分值分布,清晰梳理理论要点和案例实操,至少节省大家70%精准把握软考历年命题思路,从2000个知识点中精选124核心知识点,不用浪费时间网上搜题,现在报名跟课,免费开放【智能学习平台】,想顺利通关,自学已经不是明智之举,建议抓紧入群,报名本期。不想白白陪跑,请抓紧时间入群,全面了解。的最佳渠道,选对报考科目,更是如虎添翼!

2025-09-25 10:02:49 87

转载 IDEA 源码阅读利器,你居然还不会?

得到的继承关系图形,有些并不是我们想去了解的,比如上图的 Object 和 Serializable,我们只想关心 Servlet 重要的那几个继承关系,怎么办?最近正好也没什么可忙的,就回过头来鼓捣过去的知识点,到 Servlet 部分时,以前学习的时候硬是把从上到下的继承关系和接口实现记得乱七八糟。IDEA 也可以满足你,按住键盘的 Alt,竟然出现了放大镜,惊不惊喜,意不意外?如果你想查看某个类中,比如某个方法的具体源码,当然,不可能给你展现在图形上了,不然屏幕还不得撑炸?

2025-09-22 10:03:50 29

转载 腾讯一面:如何停止一个正在运行的线程?

来判断thread对象所代表的线程是否停止,但从控制台打印的结果来看,线程并未停止,这也证明了interrupted()方法的解释,测试当前线程是否已经中断。我们先来看看this.interrupted()方法的解释:测试当前线程是否已经中断,当前线程是指运行this.interrupted()方法的线程。由于stop()方法以及在JDK中被标明为“过期/作废”的方法,显然它在功能上具有缺陷,所以不建议在程序张使用stop()方法。上面的示例虽然停止了线程,但如果for语句下面还有语句,还是会继续运行的。

2025-09-10 10:02:29 98

转载 百万级任务重试框架 Fast-Retry, 太香了!

Spring-Retry, Guava-Retry均无法支持大批量任务的重试,即使加入线程池也无法解决,因为实际每个重试任务都是单独的同步逻辑,然后会会占用过多线程资源导致大量任务在等待处理,随着任务数的增加,系统吞吐量大大降低,性能指数级降低,而Fast-Retry在异步重试下的性能是前者的指数倍。与主流的Spring-Retry, Guava-Retry等单任务同步重试框架不同,Fast-Retry是一个支持异步重试框架,支持异步任务的重试、超时等待、回调。接口实现自己的构建重试任务的逻辑即可。

2025-09-02 10:03:42 121

转载 Stream很好,Map很酷,但答应我别用toMap()!

你不信邪,断点一打,堆栈一看,硕大的 uniqKeys 摆在了面前,凭借四级 424 分的优秀战绩你顿时菊花一紧,点开一看,谁家好人 map key 还要去重判断啊。看着运行完美无缺的代码,你一时陷入了沉思,数分钟过去了,你删除了 for 循环,换上 Stream 与 Optional 不羁的外衣,安心的提交了代码,这口细糠一定也要让好同事去尝一尝。这 TM 不是一个循环就万事大吉了吗,不信邪的你回归初心,回归了 for 循环的怀抱,又写了一版。答应我,一定打消你的这个想法,否则这将成为你噩梦的开端。

2025-08-26 10:02:53 96

转载 还在手动搭 Maven 多模块?这款IDEA插件让我效率提升10倍!

上周带的实习生搭项目,就四个模块(api、service、pojo、common),活生生卡了一下午。所以我花了两周业余时间撸了这个插件,现在团队建项目都是"一键生成",30秒搞定,简直不要太香!最近带团队做新项目,发现刚毕业的学弟还在用最原始的方式搭建Maven多模块项目——手动建文件夹、写pom依赖、调整目录结构...整整折腾了一下午,连基础框架都没搭好。说实话,做这个插件就是被那些重复到吐的操作逼出来的😂 自己偷偷用了一个月才敢分享给团队,现在已经成了我们项目初始化的"祖传秘方"了。

2025-08-21 10:03:54 105

转载 阿里二面:为什么数据库连接很消耗资源?

在这个最简单的代码中,没有设置任何额外的连接属性,所以在设置属性上占用的时间可以认为是最少的(其实,虽然我们没有设置任何属性,但是驱动仍然设置了字符集、事务自动提交等,这取决于具体的驱动实现),所以整个连接所使用的时间可以认为是最少的。这意味着,建立一次数据库连接需要 225ms,而这还是还可以认为是最少的,当然「花费的时间可能受到网络状况、数据库服务器性能以及应用代码是否高效的影响」,但是这里只是一个最简单的例子,已经足够说明问题了!开发应用程序久了,总想刨根问底,尤其对一些有公共答案的问题。

2025-08-19 10:01:45 73

转载 Java8 Steam流太难用了?那你可以试试 JDFrame

提供了两种Frame,SDFrame和JDFrame 在API层面一模一样, 区别是JDFrame的所有操作实时生效, 无需要重新read生成,而SDFrame与stream流一致,只有执行终止操作才会生效,并且需要重新read生成流, 而且在同一个流之间的操作是互相影响的。这个在语法层面能实现的矩阵还是比较有限的因为行列是通过枚举的几个FI去描述,但是不同的逻辑导致的矩阵变换的变化可能是非常大的,除非JDK能语法层面支持到吧或者放弃强类型全部硬编码才能实现各种矩阵的表示和变换。1、补充缺失的学校条目。

2025-08-14 10:01:51 74

转载 告别Swagger UI!一款更适合 SpringBoot 的API文档新选择

正常使用SpringDoc,或多或少都会进行一些配置文件的配置,但是由于这里是进行最小化配置,所以这里不进行配置文件配置,仅仅介绍几个重要配置的默认项,给大家一个基础印象,方便大家理解后面运行时为什么要这样做,当然,如果不感兴趣的小伙伴也可以直接跳过,跟着步骤走,并不影响使用。按照如上设置后,SpringDoc将恢复正常(注意新版的SpringDoc和老版的SpringFox配置有所区别,这里只展示新版SpringDoc的配置方法)如果大家对老版配置有需要,可以留言,留言人多会单独出一期。

2025-08-13 10:02:07 105

转载 取代程序员岗,中国又一相关垂直高薪岗位在崛起!这将是程序员未来5年最好的就业方向!

中国工商联人才交流服务中心和中国科技金融促进会于去年正式推出了国内的ESG证书,也是中文版的ESG证书,即。最新的ESG资讯、上市公司ESG报告、ESG行业大咖直播课。最新的ESG资讯、上市公司ESG报告、ESG行业大咖直播课。最新的ESG资讯、上市公司ESG报告、ESG行业大咖直播课。今天想跟大家说几句心里话,希望大家看完后都能重视起来。金融、互联网、新能源、智能汽车、咨询行业、建筑、环保等。金融、互联网、新能源、智能汽车、咨询行业、建筑、环保等。金融、互联网、新能源、智能汽车、咨询行业、建筑、环保。

2025-08-06 09:30:28 83

转载 为什么 SpringBoot 宁可挨骂也要干掉 spring.factories?

并引入新的imports文件机制,SpringBoot 3.0显著改善了与GraalVM的集成体验,让开发者能够更容易地构建高性能、低延迟的云原生应用。这个文件的主要功能是允许开发者声明接口的实现类,从而实现SpringBoot的自动装配和扩展点注册。为了更好地支持GraalVM,SpringBoot需要一种在构建时就能确定的静态配置方式,而不是运行时的动态扫描。依赖于反射加载类,而GraalVM需要预先知道所有使用反射的类,这需要额外的配置和处理。文件,读取配置信息并加载对应的类。

2025-07-31 10:02:36 156

转载 告别if else!这款轻量级规则引擎框架,真香!

在官方文档中,还有次数循环组件,条件循环组件,循环迭代组件,和退出循环组件,作者认为其应用场景比较复杂,可以使用简单的普通组件来替代,毕竟是轻量级的规则引擎,主要作用就是为了编排流程顺序,复杂的场景就升级使用工作流了,所以这里只介绍以上三种组件。在这样的场景下,使用策略和模板模式的结合可以很好的解决这个问题,但是使用编码的方式会使得文件太多,在业务的部分环节可以这样操作,在项目角度就无法一眼洞穿其中的环节和逻辑。主要使用电商场景的应用,订单完成后,进行积分的发放,消息发送,同时并行发送短信和邮件。

2025-07-29 10:03:32 190

转载 用了十年 Docker,我为什么决定换掉它?

为了启动一个简单的 PHP 或 Node 项目,很多人不得不拉起庞大的容器,等待镜像下载、构建,甚至调试端口映射,最终电脑风扇轰鸣,开发体验直线下降。2025 年的容器世界,早已迈入了多元化、场景化、智能化的阶段。在这种背景下,Docker 开始显得不再那么“全能”,它在部分场景下的臃肿、安全隐患和与 Kubernetes 的解耦问题,使得不少团队正在寻找更轻、更适合自身的替代方案。从过去到现在,它的最大价值在于降低了环境配置的复杂度,让开发与运维团队之间的协作更加顺畅,带动了整个容器生态的发展。

2025-07-24 10:02:25 63

转载 面试官:MySQL 自增 ID 超过 int 最大值怎么办?

然后我看redis是有值的,以为是redis和数据库数据不一致问题,我就把redis的key删了,重新再跑一下,结果打印了insert语句,但是没有插入到数据,看来事情并没有那么简单- -还有一个小插曲,因为系统两天没消费数据,kafka的数据堆积了很多,然后我把消费者数量从30个改成50个,跑了两天,kafka还是有1天的延迟,看来麻木添加消费者数量已经没啥提升的作用了,按理说自增id应该是一个接着一个,不会有空隙的,后面查了一下由于数据库自增id有个高性能策略,设置了id就不一定连续。

2025-07-22 10:03:56 42

转载 Bug率狂降50%?靠这5个IDEA插件就够了!

sonar 比 Findbugs 高了一个层级,它不仅关注常规静态BUG,还关注到了如代码质量、包与包、类与类之间的依赖情况,代码耦合情况,类、方法、文件的复杂度,代码中是否包含大量复制粘贴的代码,关注的是项目代码整体的健康情况。而为了减少这种情况,其中一种比较好的方式就是提高代码质量,比如通过代码审查,从而降低错误风险,但是,代码审查难度大,代码缺陷、漏洞不易发现,且审查工作随着代码量增加而增加,审查效率低。如果点击的是最终的问题点或者问题所在的类文件,那显示的就是如下界面,预览该处不规范的代码。

2025-07-14 10:01:18 107

转载 “RPC好,还是RESTful好?”,这个问题不简单

比如我们有一个处理订单的系统服务,先声明它的所有的接口(这里就是具体指Java中的interface),然后将整个项目打包为一个jar包,服务端这边引入这个二方库,然后实现相应的功能,客户端这边也只需要引入这个二方库即可调用了。RPC服务和HTTP服务还是存在很多的不同点的,一般来说,RPC服务主要是针对大型企业的,而HTTP服务主要是针对小企业的,因为RPC效率更高,而HTTP服务开发迭代会更快。1、gRPC是Google最近公布的开源软件,基于最新的HTTP2.0协议,并支持常见的众多编程语言。

2025-07-11 09:01:52 48

转载 90 后程序员辞职搞灰产,不到一年获利超 700 万,结局很刑!

23 年 11 月 16 日负责销售的陈某,因犯提供侵入非法控制计算机信息系统程序工具罪,被判有期徒刑 3 年缓刑 3 年 2 个月,开发软件的周某被判有期徒刑 3 年缓刑 5 年。该软件用于视频搬运,通过视频镜像,去水印,草稿替换,摄像头替换等功能绕过原创校验,修改后的视频支持在快手,抖音,小红书,西瓜视频等主流视频平台发布。浙江台州警方调查发现,在这背后是一条违法犯罪的产业链条,犯罪团伙的上游开发制作非法软件,通过更改短视频平台的代码,逃避平台监管。用户通过搬运他人高质量视频实现账号快速涨粉变现目的。

2025-07-10 10:01:56 204

转载 SpringBoot 接口卡成狗?只用一招,吞吐量飙升10倍!

所以,真正使用异步请求的场景应该是该请求的业务代码中,大量的时间CPU是休息的(比如:在业务代码中请求其他系统的接口,在其他系统响应之前,CPU是阻塞等待的),这个时候使用异步请求,就可以释放tomcat的工作线程,让释放的工作线程可以处理其他的请求,从而提高吞吐量。是否有效,只是一个简单的判断,实际中判断有效的并不一定是有效的(比如:客户端取消了请求,服务端是不知道的),但是一般判断为无效的,那肯定是无效了。之后,可以看到之前pending状态的接口完成了响应,得到的结果,就是这里设置的值。

2025-07-07 10:02:46 56

转载 一套万能的异步处理方案(VIP珍藏版)

但是大部分增加的功能都是在扩展原有的功能,既要保证性能又要保证质量,我们往往都会使用异步线程池来处理,然而却增加了很多不确定性因素。就算事务提交了,异步策略解析失败了,我们还有兜底方案执行(除非数据库有问题,消息队列有问题,方法有 bug)良好的系统设计必须要做到开闭原则,随着业务的不断迭代更新,核心代码也会被不断改动,出错的概率也会大大增加。无侵入设计,独立数据库,独立定时任务,独立消息队列,独立人工执行界面(统一登录认证)如果你的方法正在运行事务,会等事务提交后或回滚后再处理事件。

2025-07-01 10:02:36 51

转载 面试官:Spring Boot 如何做到无感刷新 token?

放一个token,然后前端那边做拦截,拿到请求头里面的新的token,如果这个新的token和老的token不一致,直接将本地的token更换。token的续约偏向于前端的解决方案,即由前端来进行token的过期时间的判断,首先前后端需要对接商量好一个token续约的接口,如果Token即将过期,你在验证用户权限的同时,为用户生成一个新的Token并返回给客户端,客户端需要更新本地存储的Token,还可以做定时任务来刷新Token,可以不生成新的Token,在快过期的时候,直接给Token增加时间。

2025-06-23 10:01:24 111

转载 面试官问我:你写代码会复用公共SQL么?

我告诉面试官:“是的,我在开发中经常会复用公共SQL,尤其是在Java后端项目中。我通常会结合具体的业务场景和框架特性来实现,比如使用MyBatis这样的ORM框架,或者通过自定义工具类来管理公共SQL片段。最后,我总结道:“在Java后端开发中,复用公共SQL是一个很实用的习惯。面试官听完点了点头,似乎对我的回答还挺满意。如果项目中不完全依赖MyBatis,或者有些SQL是直接通过JDBC执行的,我会用Java的常量类来管理公共SQL片段。有时候,SQL的复用不仅仅是字段列表,还可能是复杂的条件逻辑。

2025-06-17 10:03:24 75

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除