自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

架构文摘

每天一篇架构领域重磅好文,涉及一线互联网公司的互联网应用架构、大数据、机器学习等各个热门领域。

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

转载 2023中国互联网公司TOP 100排行榜

来源:JavaGuide上个月的时候,中国互联网协会发布了《中国互联网企业综合实力指数(2023)》报告,地址:https://www.isc.org.cn/article/18458024914186240.html(完整的报告可以在这里进行下载,内容还挺多的,共 42 页)。很多小伙伴应该都应该看过了,我是第二天就看到朋友圈有人转了。这份报告总结了互联网公司的排名,毫不意外,腾讯、阿里...

2023-11-22 16:43:02 101

转载 为什么阿里不推荐使用 keySet() 遍历HashMap?

来源:juejin.cn/post/7295353579002396726Part1引言HashMap相信所有学Java的都一定不会感到陌生,作为一个非常重用且非常实用的Java提供的容器,它在我们的代码里面随处可见。因此遍历操作也是我们经常会使用到的。HashMap的遍历方式现如今有非常多种:使用迭代器(Iterator)。使用keySet()获取键的集合,然后通过增强的 for 循环遍历键...

2023-11-21 16:40:24 28

转载 目前工资最高的几家外包公司汇总!(2023最新版)

来源:网络最近,很多小伙伴问:只有外包的 offer 能去吗?大环境不行,面试太少了,很多本科生想进外包都没机会。非常时期,不需要在意那么多,外包作为过渡也是没问题的,很多外包其实比小公司还要好多了。也不要太担心去外包会污染自己的简历,只要接触的项目还可以,写在简历上再润色一下,那就完全没问题的,放心!默默沉淀,提高个人竞争力,等待时机成熟再溜就好了。根据网上的资料,整理出来的一份国内软件外包公司...

2023-11-20 16:40:42 59

转载 Controller 层代码就该这么写,简洁又优雅!

来源:https://juejin.cn/post/7123091045071454238一个优秀的 Controller 层逻辑说到 Controller,相信大家都不陌生,它可以很方便地对外提供数据接口。它的定位,我认为是「不可或缺的配角」。说它不可或缺是因为无论是传统的三层架构还是现在的 COLA 架构,Controller 层依旧有一席之地,说明他的必要性。说它是配角是因为 Control...

2023-11-17 16:40:52 49

转载 面试官:有一个 List 对象集合,如何优雅地返回给前端?我懵了。。

来源:liuchenyang0515.blog.csdn.net/article/details/118159196业务背景业务场景中,一个会话中存在多个场景,即一个session_id对应多个scene_id和scene_name如果你写成如下的聚合模型类public class SceneVO { private String sessionId; private String scene...

2023-11-16 16:40:28 45

转载 同事写了一条 SQL,把 MyBatis 都干翻了。。

来源:https://juejin.cn/post/7221461552343072828前言继上次线上CPU出现了报警,这次服务又开始整活了,风平浪静了没几天,看生产日志服务的运行的时候,频繁的出现OutOfMemoryError,就是我们俗称的OOM,这可还行!频繁的OOM直接会造成服务处于一个不可用的情况,通过Skywalking查看链路调用,基本全报红了,基本处于一个瘫痪状态,因为生产该服...

2023-11-15 16:40:31 46

转载 阿里核弹级事故,全系产品都崩了,今年的年终奖不好拿了...完整事件回顾

来源:网络怪事年年有,今年特别多。这一次可以说是真的活久见了,强如阿里也会全线崩溃。早在10月23号这天,阿里旗下的语雀便遭遇了一场前所未有的P0级事故。客户端,网站,移动端都无法正常访问和使用,持续了近8个小时。由于当天又是周一,所以受影响的用户非常多,致使很多打工人在微博上怨声载道。正当大家以为这起事故已经称得上是“年度大事件”的时候,11月12日——这个电商公布双十一战绩的关键节...

2023-11-14 16:40:44 112

转载 Java面试中真正的加分项!!!

很多朋友据我了解,技术水平和工作经验都很不错,但是面试频频败北。大家复盘下来发现问题不严重,但是很普遍,10个人里面8个都存在,那就是面试前准备不足。技巧和避坑先不论,面试题型就不熟悉,没有系统过下大厂真题和必问项目,真正对线上面试官时被打的措手不及。想要从容应对,就要提前建立把握和自信,这不但来自自身的技术能力水平,更来源于对面试时将要发生的各种情况有预判,做到心中有数。这里给大家免费赠送一份由...

2023-11-13 16:40:43 37

转载 阿里面试官:Redis不仅仅是做缓存的,回去再看看吧!

来源:https://blog.csdn.net/nicvscs/article/details/1117148071前言一段时间以来,巨大数量的数据处理迫使所有的应用程序在数据库层前添加缓存策略。即使经典数据库进行了大量的下划线优化,仍然不能提供足够的速度和可用性。主要原因在于数据存储越远,获取数据就越困难。另一个原因是因为数据库中的数据通常保存在磁盘中,而不是在内存。经典数据库却是在内存上嵌入...

2023-11-11 16:40:53 46

转载 SpringBoot @Async:魔法和陷阱

来源:https://medium.com/@Async注解就像是springboot项目中性能优化的秘密武器。是的,我们也可以手动创建自己的执行器和线程池,但@Async使事情变得更简单、更神奇。@Async注释 允许我们在后台运行代码,因此我们的主线程可以继续运行,而无需等待较慢的任务完成。但是,就像所有秘密武器一样,明智地使用它并了解它的局限性非常重要。正文在这篇文章中,我们将深入探讨@As...

2023-11-10 16:40:44 91

转载 微服务框架之争:Quarkus 是 SpringBoot 的替代品吗?

来源:juejin.cn/post/70233173515630018861概述SpringBoot框架不用多介绍,Java程序员想必都知道。相对来说熟悉Quarkus的人可能会少一些。Quarkus首页放出的标语:超音速亚原子的Java(Supersonic Subatomic Java)。它是为 OpenJDK HotSpot 和 GraalVM 量身定制的 Kubernetes Native...

2023-11-08 16:41:03 54

转载 Redis和Spring Boot的绝佳组合:Lua脚本的黑科技

来源:blog.csdn.net/Mrxiao_bo/article/details/133783127曾经有一位魔术师,他擅长将Spring Boot和Redis这两个强大的工具结合成一种令人惊叹的组合。他的魔法武器是Redis的Lua脚本。今天,我们将揭开这个魔术师的秘密,探讨如何在Spring Boot项目中使用Lua脚本,以解锁新的可能性和提高性能。如果你一直在寻找提升你的应用程序的方法,...

2023-11-06 16:40:19 93

转载 用 Redis 查询 “附近的人”

来源:juejin.cn/post/6844903966061363207针对“附近的人”这一位置服务领域的应用场景,常见的可使用PG、MySQL和MongoDB等多种DB的空间索引进行实现。而Redis另辟蹊径,结合其有序队列zset以及geohash编码,实现了空间搜索功能,且拥有极高的运行效率。本文将从源码角度对其算法原理进行解析,并推算查询时间复杂度。要提供完整的“附近的人”服务,最基本的...

2023-11-03 16:40:40 53

转载 公司用了 3 年多的多账号统一登录方案,万能通用,稳的一批!

原文:juejin.cn/post/6844904053411938311现在几乎大部分的 App 都支持使用多个第三方账号进行登录,如:微信、QQ、微博等,我们把此称为多账号统一登陆。而这些账号的表设计,流程设计至关重要,不然后续扩展性贼差。本文不提供任何代码实操,但是梳理一下博主根据我司账号模块的设计,提供思路,仅供参考。一、 自建的登陆体系1.1.1 手机号登陆注册该设计的思路是每个手机号对...

2023-11-02 16:01:42 49

转载 面试官:一台服务器最大能支持多少条 TCP 连接?问倒一大片。。。

来源:juejin.cn/post/7162824884597293086之前有一位读者向我诉苦,有次面试,好不容易(今年行情大家都懂的)熬到到技术终面,谁知道面试官突然放个大招问他:一台服务器最大能支持多少条 TCP 连接,把他直接给问懵逼了 。。。。(请自行脑补那尴尬的场面与气氛)。所以,今天就来讨论一下这个问题。一台服务器最大能打开的文件数限制参数我们知道在Linux中一切皆文件,那么一台服...

2023-11-01 16:58:37 39

转载 只改了五行代码接口吞吐量提升了10多倍!爽!

作者:FishBones链接:https://juejin.cn/post/7185479136599769125背景公司的一个ToB系统,因为客户使用的也不多,没啥并发要求,就一直没有经过压测。这两天来了一个“大客户”,对并发量提出了要求:核心接口与几个重点使用场景单节点吞吐量要满足最低500/s的要求。当时一想,500/s吞吐量还不简单。Tomcat按照100个线程,那就是单线程1S内处理5个...

2023-10-31 16:40:31 40

转载 别再用 JWT 作为 Session 系统,问题重重,后果很危险!

来源:cryto.net/~joepie91/blog/2016/06/13/stop-using-jwt-for-sessionsJSON Web Tokens,又称 JWT。本文将详解:为何 JWT 不适合存储 Session,以及 JWT 引发的安全隐患。望各位对JWT有更深的理解!十分不幸,我发现越来越多的人开始推荐使用 JWT 管理网站的用户会话(Session)。在本文中,我将说明为何...

2023-10-30 16:40:25 48

转载 10 个 Java Stream 顶级技巧,大量简化代码!

来源:medium.com/javarevisited/10-java-stream-tips-must-read-2063a84af3beJava Stream API对于 Java 开发人员来说就像一把瑞士军刀 — 它用途广泛、结构紧凑,并且可以轻松处理各种任务。它为开发人员提供了一种函数式和声明式的方式来表达复杂的数据转换和操作,使代码更加简洁和富有表现力。但能力越大,责任越大,有效地使用S...

2023-10-27 16:41:00 33

转载 大半夜排查bug:竟然是同事把Redis用成这鬼样子,坑了我

作者:小木-_-来源:http://suo.im/61zjWI首先说下问题现象:内网sandbox环境API持续1周出现应用卡死,所有api无响应现象。刚开始当测试抱怨环境响应慢的时候 ,我们重启一下应用,应用恢复正常,于是没做处理。但是后来问题出现频率越来越频繁,越来越多的同事开始抱怨,于是感觉代码可能有问题,开始排查。首先发现开发的本地ide没有发现问题,应用卡死时候数据库,redis都正常...

2023-10-26 16:40:06 35

转载 公司新来了一个同事,把权限系统设计的炉火纯青!

来源:segmentfault.com/a/1190000023052493思维导图如下RBAC权限分析RBAC 全称为基于角色的权限控制,本段将会从什么是RBAC,模型分类,什么是权限,用户组的使用,实例分析等几个方面阐述RBAC思维导图绘制思维导图如下什么是RBACRBAC 全称为用户角色权限控制,通过角色关联用户,角色关联权限,这种方式,间阶的赋予用户的权限,如下图所示对于通常的系统而言,存...

2023-10-25 16:40:19 40

转载 项目自从用了接口请求合并,效率直接加倍!

来源:网络请求合并到底有什么意义呢?我们来看下图。图片假设我们3个用户(用户id分别是1、2、3),现在他们都要查询自己的基本信息,请求到服务器,服务器端请求数据库,发出3次请求。我们都知道数据库连接资源是相当宝贵的,那么我们怎么尽可能节省连接资源呢?这里把数据库换成被调用的远程服务,也是同样的道理。我们改变下思路,如下图所示。图片我们在服务器端把请求合并,只发出一条SQL查询数据库,数据库返回后...

2023-10-24 16:40:32 32

转载 公司入职一个阿里大佬,把SpringBoot项目启动从420秒优化到了40秒!

作者:Debugger链接:https://juejin.cn/post/71813425237285929550 背景公司 SpringBoot 项目在日常开发过程中发现服务启动过程异常缓慢,常常需要6-7分钟才能暴露端口,严重降低开发效率。通过 SpringBoot 的 SpringApplicationRunListener 、BeanPostProcessor 原理和源码调试等手段排查发现...

2023-10-23 16:40:47 48

转载 Redis,今年强的离谱!

金九银十招聘尾声,Redis有多火爆?现在阿里、腾讯这样的大厂和大部分互联网公司,基本上都需要使用到Redis技术。网上发布的Java开发工程师岗位的招聘信息,对Redis的要求都是熟练掌握。而且现在大厂的大部分面试题都和Redis有关,尤其是在阿里、字节、华为、腾讯的后端面试中,只要你的项目中涉及到Redis,面试官大部分都会针对Redis提问!很多Redis的提问还特别深入……没答上来就非常可...

2023-10-22 16:40:38 55

转载 细节拉满!!SpringBoot+RabbitMQ+Redis 开发一个秒杀系统(附源码)

来源:blog.csdn.net/jike11231/article/details/126818020一、简易版秒杀SeckillProject系统简介本项目是参考网上资料,整理开发而成,项目代码中加入了自己的理解和实现。基于SpringBoot框架开发,实现的功能主要是登录、商品列表、商品详情、秒杀商品,订单详情等功能,涉及异步下单、热点数据缓存、解决超卖等技术实现。在系统业务处理中,使用到分...

2023-10-20 16:40:09 118

转载 面试官:Java 序列化和反序列化为什么要实现 Serializable 接口?

来源:blog.csdn.net/litianxiang_kaola最近公司的在做服务化, 需要把所有model包里的类都实现Serializable接口, 同时还要显示指定serialVersionUID的值. 听到这个需求, 我脑海里就突然出现了好几个问题, 比如说:序列化和反序列化是什么?实现序列化和反序列化为什么要实现Serializable接口?实现Serializable接口就算了, ...

2023-10-19 16:47:44 41

转载 老鸟必备技能:如何快速画出一张合格的技术架构图?

来源:juejin.cn/post/70626626004372684931.前言你是否对大厂展示的五花八门,花花绿绿的架构设计图所深深吸引,当我们想用几张图来介绍下业务系统,是不是对着画布不知从何下手?作为技术扛把子的筒子们是不是需要一张图来描述系统,让系统各个参与方都能看的明白?如果有这样的困惑,本文将介绍一些画图的方法论,让技术图纸更加清晰。2. 架构的定义系统架构是概念的体现,是对物/信息...

2023-10-18 16:40:50 59

转载 不要再封装各种 Util 工具类了,这个神级框架值得拥有!

来源:ryanc.cc/archives/hutool-java-tools-lib今天给大家推荐一个非常好用的Java工具类库,企业级常用工具类,基本都有,能避免重复造轮子及节省大量的开发时间,非常不错,值得大家去了解使用。Hutool 谐音 “糊涂”,寓意追求 “万事都作糊涂观,无所谓失,无所谓得” 的境界。Hutool 是一个 Java 工具包,也只是一个工具包,它帮助我们简化每一行代码,减...

2023-10-17 16:40:14 39

转载 实现订单 30 分钟未支付则自动取消,我有五种方案!

来源:blog.csdn.net/hjm4702192/article/details/805190101引言在开发中,往往会遇到一些关于延时任务的需求。例如生成订单30分钟未支付,则自动取消生成订单60秒后,给用户发短信对上述的任务,我们给一个专业的名字来形容,那就是延时任务。那么这里就会产生一个问题,这个延时任务和定时任务的区别究竟在哪里呢?一共有如下几点区别:定时任务有明确的触发时间,延时任...

2023-10-16 16:41:03 105

转载 停止在 SpringBoot 中使用字段注入!

本文为翻译文,来源:https://medium.com在 Spring Boot 依赖项注入的上下文中,存在关于注入依赖项最佳实践的争论:字段注入、Setter注入和构造函数注入。在本文中,我们将重点讨论字段注入的缺陷,并提出一个远离它的案例。什么是字段注入?字段注入涉及直接用 @Autowired 注释类的私有字段。这是一个例子:@Componentpublic class OrderSer...

2023-10-12 20:30:23 69

转载 TIOBE 10 月榜单发布:Java危?

整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)10 月 TIOBE 编程语言榜单已最新出炉,一起来看看本月有什么值得关注的新变化吧!# 被 C# 超越,Java 即将跌至第 5 名?去年 12 月,Java 历史首次被 C++ 超越、跌出榜单前三的事实,令许多程序员深感意外,由此发出不少 “Java 英雄迟暮?”、“Java 真的已死?”的疑惑。自此以后,这 10 个月来 Java ...

2023-10-11 20:30:34 34

转载 一个比 SpringBoot 快 44 倍的 Java 框架

来源:网络最近看到一个框架,官方号称可以比 SpringBoot 快 44 倍,居然这么牛逼,有这么神奇吗?今天带大家来认识一下。这个框架名叫:light-4j官网简介:A fast, lightweight and more productive microservices framework很简单,翻译过来就是:一个快速、轻量级和更高效的微服务框架。它比最流行的微服务平台Spring Boot...

2023-10-09 16:40:18 64

转载 面试官:Nacos 为什么这么强!讲讲实现原理?我懵了。。

来源:blog.csdn.net/cold___play/article/details/108032204Nacos架构Provider APP:服务提供者Consumer APP:服务消费者Name Server:通过VIP(Virtual IP)或DNS的方式实现Nacos高可用集群的服务路由Nacos Server:Nacos服务提供者,里面包含的Open API是功能访问入口,Conig...

2023-10-08 16:40:21 40

转载 9月面试一个月,心态崩了…

金九银十已经过去了一半,各路公司的招聘也渐渐脱离了高峰期。今年整体行情差,所以大家需要把握好现在,有了机会就去多投多试!在整个技术招聘市场,Java宝刀未老,在新兴语言面前,依旧有着强劲的风头!上下滑动查看究其原因:Java有着极其成熟的生态,市场需求强劲;Java在运维、可观测性、可监控性方面都有着非常优秀的表现;Java也在积极应对容器化、云原生等大趋势;...正在学习Java的小伙伴想必也是...

2023-10-07 16:40:37 36

转载 假如Linus在中国···

来源:https://www.zhihu.com/question/63187737/answer/3169369236知乎上有个知名的问题:有七百多万浏览:我看到了一个高赞回复,让人拍案叫绝,不敢独享,分享给诸位。我愿给这个回答起一个新的名字:假如Linus在中国Linus大学期间学习了谭浩强的《C语言程序设计》,踌躇满志,便开始着手写内核,结果写的时候出现的错误太多,遂放弃Linus写完了初版...

2023-10-06 16:40:59 31

转载 代码如诗!

来源:https://www.cnblogs.com/liuboren/p/17017421.html工作多年后,越发觉得代码整洁真的是太重要了!尤其是在团队开发中,写出优雅工整的代码,能让同事更乐于跟你合作。下面,将通过命名、类、函数、测试这四个章节,使我们的代码变得整洁。1.为什么要保持代码整洁?不整洁的代码随着时间的增加而增加时,生产力会随之降低. 导致的结果就是:代码不易扩展或扩展容易引发...

2023-09-28 20:30:22 55

转载 token 过期后,如何自动续期?

来源:toutiao.com/article/6995179162675790350JWT token的 payload 部分是一个json串,是要传递数据的一组声明,这些声明被JWT标准称为claims。JWT标准里面定义的标准claim包括:iss(Issuser):JWT的签发主体;sub(Subject):JWT的所有者;aud(Audience):JWT的接收对象;exp(Expirat...

2023-09-27 20:31:52 247

转载 不好意思,Mybatis Plus 该换了!

1前言 使用fluent mybatis也可以不用写具体的 xml 文件,通过 java api 可以构造出比较复杂的业务 sql 语句,做到代码逻辑和 sql 逻辑的合一。不再需要在 Dao 中组装查询或更新操作,或在 xml 与 mapper 中再组装参数。那对比原生 Mybatis,Mybatis Plus 或者其他框架,Fluent Mybatis提供了哪些便利呢?2需求场景设置...

2023-09-26 20:30:04 48

转载 字节一面:post为什么会发送两次请求?

同源策略在浏览器中,内容是很开放的,任何资源都可以接入其中,如 JavaScript 文件、图片、音频、视频等资源,甚至可以下载其他站点的可执行文件。但也不是说浏览器就是完全自由的,如果不加以控制,就会出现一些不可控的局面,例如会出现一些安全问题,如:跨站脚本攻击(XSS)SQL 注入攻击OS 命令注入攻击HTTP 首部注入攻击跨站点请求伪造(CSRF)等等…如果这些都没有限制的话,对于我们用户而...

2023-09-22 16:40:06 39

转载 再见 BeanUtils !

前言为了更好的进行开发和维护,我们都会对程序进行分层设计,例如常见的三层,四层,每层各司其职,相互配合。也随着分层,出现了VO,BO,PO,DTO,每层都会处理自己的数据对象,然后向上传递,这就避免不了经常要将一个对象的属性拷贝给另一个对象。例如我有一个User对象和一个UserVO对象,要将User对象的10个属性赋值个UserVo的同名属性:一种方式是手写,一个属性一个属性赋值,相信大家最开始...

2023-09-21 20:30:55 46

转载 这款轻量级 Java 表达式引擎,真不错!

今天介绍一款轻量级规则引擎:aviator。aviator本来是一个轻量级、高性能的基于JVM的表达式引擎。不过从5.0.0版本开始,aviator升级成为了aviatorScript,成为一个高性能、轻量级寄宿于 JVM (包括 Android 平台)之上的脚本语言。根据官网的介绍,aviator支持的主要特性:支持数字、字符串、正则表达式、布尔值、正则表达式等基本类型,完整支持所有 Java ...

2023-09-20 16:40:12 160

空空如也

空空如也

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

TA关注的人

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