自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

方志朋的博客

方志朋的博客...

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

转载 上班期间居然都在 IDEA 里面斗地主。。。人才呀!

前言如果说,在IDEA里下个棋很过分,那在IDEA里斗个地主,是不是就更过分了?开始登入通过 #login {昵称} 命令登入服务器查看游戏列表通过 #showGame 命令查看游戏列表运行斗地主游戏通过 #play {游戏编号} 命令运行游戏启动斗地主游戏命令#play1支持人机和联机两种游戏方式,咱们先来看下人机模式,直接点击 “开始游戏” 按钮内置的机器人有点笨笨的哦,小心你的队友,嘿嘿!...

2023-09-26 10:01:04 19

转载 当年很流行,现在已经淘汰的Java技术,请不要在继续学了!!!

来源:www.zhihu.com/question/305924723/answer/557800752最近这段时间收到了一些读者的私信,问我某个技术要不要学,还有一些在国外的同学竟然对 Java 图形化很感兴趣,还想找这方面的工作。比较忙,一直没抽出时间去回答这类问题,刚好看到我关注的一位大佬回答过,这里分享一下,希望对你能有帮助。下面是正文。原文链接:https://www.zhihu.com...

2023-09-25 10:00:26 16

转载 RabbitMQ vs Kafka:正面交锋

介绍作为一名有着大量微服务系统处理经验的软件架构师,我经常遇到一个不断重复的问题:“我应该使用 RabbitMQ 还是 Kafka?”出于某种原因,许多开发人员认为这些技术是可以互换的。虽然在某些情况下确实如此,但 RabbitMQ 还是 Kafka 之间存在根本上的差异。因此,不同的场景需要不同的,选择错误的方案会严重影响我们的系统开发设计以及后续维护。本系列的第 1 部分解释了 RabbitM...

2023-09-25 10:00:26 13

转载 为啥 IDEA 不推荐使用 @Autowired 注解?

文章来源:https://zhuanlan.zhihu.com/p/569417452目录Spring常见的DI方式各种DI方式的优缺点Field注入的缺点前言大家在使用IDEA开发的时候有没有注意到过一个提示,在字段上使用Spring的依赖注入注解@Autowired后会出现如下警告Field injection is not recommended (字段注入是不被推荐的)但是使用@Resou...

2023-09-22 10:00:50 21

转载 SpringCloud 分布式系统中实现幂等性的几种方式

一、概述在开发订单系统时,我们常遇见支付问题,既用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成了两条。在以前的单应用系统中,我们只需要把数据操作放入事务中即可,发生错误立即回滚,但是再响应客户端的时候也有可能出现网络中断或者异常问题。如果保证一个订单从创建到支付成功整个订单...

2023-09-22 10:00:50 22

转载 忽视日志吃大亏,手把手教你玩转 SpringBoot 日志

一、日志重要吗程序中的日志重要吗? 在回答这个问题前,笔者先说个事例:❝笔者印象尤深的就是去年某个同事,收到了客户反馈的紧急bug。尽管申请到了日志文件,但因为很多关键步骤没有打印日志,导致排查进度很慢,数个小时都没能排查到问题,也无法给出解决对策。导致了客户程序一直阻断,最终产生了不少损失。事后,经过仔细推敲,成功复现了这个bug,其实是一个很不起眼的数据转换导致的。可因为日志内容的匮乏,排查...

2023-09-21 10:00:49 13

转载 BIO、NIO、AIO、Netty面试题【全网最全解析】

BIO、NIO、AIO、Netty什么是IOJava中I/O是以流为基础进行数据的输入输出的,所有数据被串行化(所谓串行化就是数据要按顺序进行输入输出)写入输出流。简单来说就是java通过io流方式和外部设备进行交互。在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:标准输入输出,文件的操作,「网络上的数据传输流」,字符串流,对象流等等等。比如程序从服务器上下载图片,就是通过流的...

2023-09-21 10:00:49 18

转载 为什么越来越多的 IT 人考软考?

近几年随着国家计算机与软件技术的发展,每年报名参加软考考试的人也越来越多。据工信部新闻发布会消息,计算机软件与通信专业技术人员职业资格考试累计报考人数超过485万,2022年报考人数129万人。01 为什么越来越多的IT人考软考证书?1.软考纳入我国高校人才培养和教学体系现在,软考已经被纳入高校人才培养和教学体系。在很多高校中,软考纳入学分,初级、中级为2分,高级为3~4分。部分高校还直接将软...

2023-09-19 10:01:46 11

转载 奇淫巧技,CompletableFuture 异步多线程是真的优雅

一个示例回顾Future一些业务场景我们需要使用多线程异步执行任务,加快任务执行速度。JDK5新增了Future接口,用于描述一个异步计算的结果。虽然 Future 以及相关使用方法提供了异步执行任务的能力,但是对于结果的获取却是很不方便,我们必须使用Future.get()的方式阻塞调用线程,或者使用轮询方式判断Future.isDone任务是否结束,再获取结果。这两种处理方式都不是很优雅,...

2023-09-18 10:01:10 14

转载 当年很流行,现在已经淘汰的Java技术,请不要再继续学了!!!

来源:www.zhihu.com/question/305924723/answer/557800752JSPStrutsHibernateServlet(要精通)其他最后最近这段时间收到了一些读者的私信,问我某个技术要不要学,还有一些在国外的同学竟然对 Java 图形化很感兴趣,还想找这方面的工作。比较忙,一直没抽出时间去回答这类问题,刚好看到我关注的一位大佬回答过,这里分享一下,希望对你能有帮...

2023-09-14 10:00:14 15

转载 宇宙第一 IDE,放弃了 Mac....

微软发布了 Visual Studio for Mac 退役的公告公告写道,最新版本 Visual Studio for Mac 17.6 会继续获得额外 12 个月的支持,直至 2024 年 8 月 31 日,并提供针对安全问题的服务更新以及 Apple 更新的平台。具体政策是,自 2024 年 8 月 31 日起,Visual Studio for Mac 将不会再获得任何支持。届时,Visu...

2023-09-14 10:00:14 16

转载 知乎高赞:为什么别选计算机专业?

在知乎看到一个这样的问题:“为什么别选计算机专业?”❝这个话题有756人关注,以及1,721,580人次浏览。以下是一位匿名用户的高赞回答,内容可能比较主观化,仅代表作者个人观点,如果有不同意见欢迎留言区交流啊!❞不明白现在鼓吹计算机是什么意思。985计算机毕业,刷LeetCode无数,背诵了无数的八股文,面试造火箭,好不容易卷进了大厂。最近开始相亲了,真的是处处碰壁啊。个人观察,女生找对象的时候...

2023-09-12 10:01:06 16

转载 Map+函数式接口,“更完美” 的解决 if-else的问题

本文介绍策略模式的具体应用以及Map+函数式接口如何 “更完美” 的解决 if-else的问题。文章目录需求策略模式Map+函数式接口最后捋一捋本文讲了什么需求最近写了一个服务:根据优惠券的类型resourceType和编码resourceId来 查询 发放方式grantType和领取规则实现方式:根据优惠券类型resourceType -> 确定查询哪个数据表根据编码resourceId ...

2023-09-12 10:01:06 15

转载 线程数突增!领导:谁再这么写就滚蛋!

前言今天给大家分享一个线上问题引出的一次思考,过程比较长,但是挺有意思。今天上班把需求写完,出于学习(摸鱼)的心理上skywalking看看,突然发现我们的一个应用,应用内线程数超过900条,接近1000条,但是cpu并没有高涨,内存也不算高峰。但是敏锐的我还是立刻意识到这个应用有不妥,因为线程数太多了,不符合我们一个正常健康的应用数量。熟练的打出cpu dump观察,首先看线程组名的概览。从线程...

2023-09-07 10:01:23 24

转载 MyBatis-Plus 使用拦截器实现数据权限控制,很方便!

前言背景平时开发中遇到根据当前用户的角色,只能查看数据权限范围的数据需求。列表实现方案有两种,一是在开发初期就做好判断赛选,但如果这个需求是中途加的,或不希望每个接口都加一遍,就可以方案二加拦截器的方式。在mybatis执行sql前修改语句,限定where范围。当然拦截器生效后是全局性的,如何保证只对需要的接口进行拦截和转化,就可以应用注解进行识别因此具体需要哪些步骤就明确了创建注解类创建拦截器实...

2023-09-07 10:01:23 41

转载 WebSocket 的 6 种集成方式

来源:blog.csdn.net/m0_64360721/article/details/125384766由于前段时间我实现了一个库【Spring Cloud】一个配置注解实现 WebSocket 集群方案以至于我对WebSocket的各种集成方式做了一些研究,目前我所了解到的就是下面这些了(就一个破ws都有这么多花里胡哨的集成方式了?)JavaxWebMVCWebFluxJava-WebSoc...

2023-09-06 10:00:44 16

转载 没房贷的下属太可怕了。。。

在微博上看到一个热搜话题:#没房贷的下属太可怕了#。咋回事呢?起因是越来越多公司领导发现,新一代“三无”年轻人不好管了,你骂他,他敢顶嘴。何为“三无”,即“无房贷、无车贷、无后代”。这类年轻人,完全不按传统职场套路出牌,你让我不爽,我分分钟拍屁股走人,他们正用行动整治职场风气。话说这“三无”年轻人到底有多可怕?我们听听年轻人们的声音。听到这些话,想想我们身边的职场,好像确实如此。我在身边就能看到类...

2023-09-05 10:01:14 14

转载 太卷了,京东、微信与微博最新缓存架构直接开源了。。。

大厂高并发缓存架构非常复杂,也是很多同学欠缺的可以写到简历里的亮点。说到缓存肯定绕不开Redis,这次我专门给大家梳理了京东,微信,微博这些大厂线上的缓存架构,大家可以看下下面这些缓存架构核心点问题:1.十万订单每秒热点数据架构如何优化2.Redis集群崩溃时如何保证秒杀系统高可用3.Redis主从切换导致库存同步异常以及超卖问题4.秒杀链路中Redis与MQ如何保证事务一致性5.线上M...

2023-09-04 10:00:10 14

转载 一个注解,优雅的实现接口幂等性!

一、什么是幂等性?简单来说,就是对一个接口执行重复的多次请求,与一次请求所产生的结果是相同的,听起来非常容易理解,但要真正的在系统中要始终保持这个目标,是需要很严谨的设计的,在实际的生产环境下,我们应该保证任何接口都是幂等的,而如何正确的实现幂等,就是本文要讨论的内容。二、哪些请求天生就是幂等的?首先,我们要知道查询类的请求一般都是天然幂等的,除此之外,删除请求在大多数情况下也是幂等的,但是ABA...

2023-09-04 10:00:10 10

转载 13 秒插入 30 万条数据,这才是批量插入正确的姿势!

来源:blog.csdn.net/qq_35427589/article/details/129665307本文主要讲述通过MyBatis、JDBC等做大数据量数据插入的案例和结果。30万条数据插入插入数据库验证实体类、mapper和配置文件定义User实体mapper接口mapper.xml文件jdbc.propertiessqlMapConfig.xml不分批次直接梭哈循环逐条插入MyBati...

2023-08-31 10:01:06 19

转载 一个注解,优雅的实现 WebSocket 集群!

介绍WebSocket大家应该是再熟悉不过了,如果是单体应用确实不会有什么问题,但是当我们的项目使用微服务架构时,就可能会存在问题比如服务A有两个实例A1和A2,前端的WebSocket客户端C通过网关的负载均衡连到了A1,这个时候当A2触发消息发送的逻辑,需要将某个消息发送给所有的客户端时,C就接受不到消息这个时候我们很快就能想到一种最简单的解决方案,就是把A2的消息转发给A1,A1再把消息发送...

2023-08-31 10:01:06 21

转载 和 XShell 说再见,这款 SSH 工具足够惊艳,还支持网页版!

ssh工具几乎是每天都会用到的工具,今天给大家推荐一款非常不错的工具。图片TabbyTabby 是一名老外在 Github 开源的终端连接的工具,至今已经累积 45K+ star。图片Tabby 的功能特性大概有:支持多平台,Windows、MacOS(Intel 芯片/M1 芯片)、Linux 都有对应的安装包的;自带 SFTP 功能,能够与 Linux 系统传输文件;炫酷的终端页面,简单易用,...

2023-08-30 10:01:17 47

转载 IntelliJ IDEA快捷键大全 + 动图演示!

点击关注公众号,Java干货及时送达????犬小哈教程网:www.quanxiaoha.com原文:blog.csdn.net/weixin_67276852?type=blog看到一篇 IDEA 快捷键的总结,非常全面,分享一下。本文参考了 IntelliJ IDEA 的官网,列举了IntelliJ IDEA(Windows 版)的所有快捷键。并在此基础上,为 90% 以上的快捷键提供了动图演示,能够...

2023-08-29 10:01:00 19

转载 SpringBoot+Redis BitMap 实现签到与统计功能

引言在各个项目中,我们都可能需要用到签到和 统计功能。签到后会给用户一些礼品以此来吸引用户持续在该平台进行活跃。签到功能,我们可以通过Redis中的 BitMap功能来实现一、Redis BitMap 基本用法BitMap 基本语法、指令签到功能我们可以使用MySQL来完成,比如下表:用户一次签到,就是一条记录,假如有1000万用户,平均每人每年签到次数为10次,则这张表一年的数据量为 1亿条每签...

2023-08-29 10:01:00 18

转载 惊艳!国产大模型终于会写代码了!

作为程序员,我一直在关注大模型的发展,尤其是大模型的代码能力,因为这将直接影响到程序员的日常工作,驾驭一个代码能力强悍的大模型,对工作效率的提升实在太大了。之前ChatGPT在这一块儿表现不错,国产的大模型差一些,前两天讯飞星火认知大模型发布了V2.0,包含了代码生成能力,多模态能力等重大升级,作为程序员,必须得去看看。代码生成能力先来尝试一个简单的:写一段代码,判断用户输入的密码满足特定规则,长...

2023-08-28 10:00:11 39

转载 JSON数据的差异对比工具(Java版)

背景之前有类似接口diff对比,数据对比的测试需求,涉及到json格式的数据对比,调研了几个大神们分享的代码,选了一个最符合自己需求的研究了下。说明这个对比方法,支持JsonObject和JsonArray类型的数据对比,支持:深度的对比:list变化(个数、内容)、层级结构变化字段的对比:新增、修改、删除数据可察觉,能找到对应的旧数据支持特定字段忽略对比输出的对比结果格式为:源码分为JsonCo...

2023-08-28 10:00:11 21

转载 知乎高赞:现在程序员的工资是不是被高估了?

点击关注公众号,Java干货及时送达????来源:www.zhihu.com/question/295009798任何一个行业(包括程序员),某些个体的工资被高估是有可能的,但如果说整个行业被高估则是不可能的,因为这违背了基本的经济规律。从根本上讲,任何一个行业,高收入的最终来源只能是高利润,否则就一定是“泡沫”经济。虽然就局部来说(例如某些互联网行业),存在一些泡沫,但就整体来说,IT技术已经深入到生...

2023-08-25 10:01:12 32

转载 Redis 热 key 是什么问题,如何导致的?有什么解决方案?

前言做一些C端业务,不可避免的要引入一级缓存来代替数据库的压力并且减少业务响应时间,其实每次引入一个中间件来解决问题的同时,必然会带来很多新的问题需要注意,比如缓存一致性问题。那么其实还会有一些其他问题比如使用Redis作为一级缓存时可能带来的热key、大key等问题,本文我们就热key(hot key)问题来讨论,如何合理的解决热key问题。正文背景❝热key是什么问题,如何导致的?❞一般来说,...

2023-08-24 10:01:05 46

转载 离谱!一边裁员,一边100K*24薪招人!

要说今年IT领域最火的技术,还数AIGC!前段时间阿里旗下的开源项目,登上GitHub热榜!AI大热,如今ChatGPT的优异表现,必然会出现各种细分场景应用的工具软件,和大量岗位项目!据猎聘大数据研究院发布的《AIGC就业趋势大数据报告2023》报告显示:2023一季度AIGC人才需求是三年前同期的5.6倍,近一年AIGC新发职位同比增长超43%!Google、百度、腾讯等等巨头互联网公司,无不...

2023-08-24 10:01:05 23

转载 Tomcat 为什么要破坏 Java 双亲委派机制?

点击关注公众号,Java干货及时送达????来源:www.jianshu.com/p/abf6fd4531e71.什么是类加载机制?类与类加载器的关系2.什么是双亲委任模型为什么要这么做呢?双亲委任模型时如何实现的?3.如何破坏双亲委任模型?4.Tomcat 的类加载器是怎么设计的?Tomcat 如何实现自己独特的类加载机制?总结图片我想,在研究tomcat 类加载之前,我们复习一下或者说巩固一下ja...

2023-08-23 10:02:16 41

转载 超越 MyBatis-Plus?来领略一下 MyBatis-Flex 的优雅魅力!

点击关注公众号,Java干货及时送达????一、Mybatis-Flex是什么?Mybatis-Flex 是一个优雅的 Mybatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper^亮点 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。总而言之,MyBatis-Flex 能够极大地提高...

2023-08-17 10:02:10 34

转载 还在用 if 做条件验证?来试试用 @Validated,这样写更优雅!

你还在用if做条件验证吗?请先看看下面代码:(简单举个例子,代码并不规范)@ApiOperation("新增用户")@PostMapping("/addUser")publicResultVoinsert(@ApiParam("用户信息实体")@RequestBodyUseruser){if(user.getUserName!=null){thrownew...

2023-08-15 16:00:29 20

转载 领导:谁再用 Redis 实现过期订单关闭,立马滚蛋!

点击关注公众号,Java干货及时送达????由于Redis具有过期监听的功能,于是就有人拿它来实现过期订单关闭,但是这个方案并不完美。今天来聊聊11种实现订单定时关闭的方案,总有一种适合你!在电商、支付等系统中,一般都是先创建订单(支付单),再给用户一定的时间进行支付,如果没有按时支付的话,就需要把之前的订单(支付单)取消掉。这种类似的场景有很多,还有比如到期自动收货、超时自动退款、下单后自动发送短信等...

2023-08-14 10:00:46 29

转载 不想引入MQ?不妨试试 Debezium

点击关注公众号,Java干货及时送达????奥卡姆剃刀原理,“如无必要,勿增实体"。在一些小型项目当中,没有引入消息中间件,也不想引入,但有一些业务逻辑想要解耦异步,那怎么办呢?我们的web项目,单独内网部署,由于大数据背景,公司消息中间件统一使用的kafka,在一些小项目上kafka就显得很笨重。引入rocketmq或rabittmq也没必要。事件或多线程也不适合。❝具体一点的,之前对接的一个系统,...

2023-08-14 10:00:46 31

转载 SpringBoot线上服务假死,CPU内存正常,什么情况?

点击关注公众号,Java干货及时送达????背景开发小伙伴都知道线上服务挂掉,基本都是因为cpu或者内存不足,出现GC频繁OOM之类的情况。本篇文章区别以上的情况给小伙伴们带来不一样的服务挂掉。还记得哔哩哔哩713事故中那场诡计多端的0吗?对就是这个0,和本次事故没关系,但深受启发。问题排查老规矩在集群环境中同一个服务几个节点无响应。如不及时解决会可能形成雪崩效应。优先查看服务日志是否有报错,礼貌习惯性...

2023-08-11 10:02:34 32

转载 漏洞警告:SpringBoot 该如何预防 XSS 攻击 ??

点击关注公众号,Java干货及时送达????blog.csdn.net/sinat_31420295/article/details/121519010写此文章的目的是为了记录一下在工作中解决的 XSS漏洞 问题。XSS漏洞是生产上比较常见的问题。虽然是比较常见并且是基本的安全问题,但是我们没有做????️ ,也怪我没有安全意识。于是终于有一天被制裁了。所以这次就补上了,记录一下。看看问题XSS 漏洞到底是什...

2023-08-10 10:01:47 24

转载 一个被低估的插件:IDEA+JProfiler=性能分析神器

点击关注公众号,Java干货及时送达????环境JProfiler 17.1.3(IDEA插件)JProfiler 9.2(可执行软件)IntelliJ IDEA 2017.2.5下载下载JProfiler(IDEA)插件方式1:在IDEA上直接下载Settings–plugins–Browse repositories搜索JProfiler 点击 install 按钮安装,然后从启IDEA工具看到如下...

2023-08-09 10:01:19 27

转载 程序员:有哪些话一听就知道对方很水 (段子)

点击关注公众号,Java干货及时送达????01之前和前公司某个技术总监讨论方案。我:这个东西我们可以用(http)get来获取。总监:不行啊,这样不安全。我:为什么不安全?总监:别人可以用set来修改服务器的数据啊。我:???我:没事,咱给set加上private02一开口就说自己做了几千万用户量的产品,一说技术全是各种热门词语。一谈项目细节却说完全都忘记了;一问事故责任没有思考就说和我这边没关系。一...

2023-08-09 10:01:19 20

转载 SpringBoot 还在用 if 校验参数?那你真的太low了,老司机都是这么玩的!

点击关注公众号,Java干货及时送达????来源:juejin.im/post/6856541106626363399简单使用引入依赖requestBody参数校验requestParam/PathVariable参数校验统一异常处理进阶使用分组校验嵌套校验集合校验自定义校验编程式校验快速失败(Fail Fast)@Valid和@Validated区别实现原理requestBody参数校验实现原理方法级...

2023-08-08 10:01:03 17

转载 MySQL分表后,如何做分页查询?

点击关注公众号,Java干货及时送达????来源:blog.csdn.net/joy_tom/article/details/109857573随着项目运行的时间越来越长,有些数据的存储也会越来越大,比如一些点击量,浏览量量,单表的数据可以到达上千万条数据,这时候会存在单表数据过大,查询效率低的问题。为了提高查询效率这时候需要对单表进行拆分,比如一张1000万条数据的表,我们需要把它拆分为10张表,一张...

2023-08-08 10:01:03 99

空空如也

空空如也

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

TA关注的人

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