Java双亲委派机制的妙用
最近在项目中看到一段通过easyexcel导出动态表头的实现,开始我以为是easyexcel官方的实现,其中有这样一段代码:
1 | //将动态表头上传至ThreadLocal |
最近在项目中看到一段通过easyexcel导出动态表头的实现,开始我以为是easyexcel官方的实现,其中有这样一段代码:
1 | //将动态表头上传至ThreadLocal |
同事突然问我:RocketMQ的一个消息,多次消费重试,消息的msgId会不会变?哪怕已经进了DLQ。
刚开始出于经验,我说不会变。因为我之前每次排查问题的时候,用同一个msgId都能找到多次重试消费的日志。后来为了更加确定,我卷了一下源码,我看的是4.6.1,一是因为公司用的这个版本,二是我上次卷的就是这个版本。。。
既然跟重试有关,那就从客户端消费失败的逻辑开始,看看能不能找到蛛丝马迹,下面是消费失败将消息发回broker的代码:
首先说下,有经济条件的还是建议购买纸质书阅读啊!
现在网上很多资料都是有在线版的,但是有时候到一些网络不好的地方就很尴尬了。不过同时大佬们也会提供PDF版本,但是个人觉得PDF的阅读体验实在太差了。
我一直觉得epub格式的阅读体验不错,适配各种显示设备。关于epub是什么,可以看看wiki上的介绍:
最近又在卷八股文,直呼卷不动了啊。这个行业啥时候才能不这么卷???
说起八股文,volatile绝对是个老八股,随便拉个人来都能说上两句,什么内存可见性、内存屏障、指令重排序。。。真搞不懂调包侠整这些玩意有啥用。
既然卷就卷到底,看看这玩意底层到底是在干啥。
公司员工餐选用的美餐平台,但是经常由于太忙忘记点餐,导致饿着肚子加班。反正菜品的可选项比较少,想着要是能自动点一个就好了。于是有了以下脚本。
自动点餐无非就是模拟人的行为,自动请求一些关键接口。于是分析了一下美餐网的web端接口,发现关键接口如下:
有了接口只是第一步,第二步开始分析、尝试接口的哪些参数是静态的,哪些是动态的。
世界上只有一种共识协议,就是 Paxos,其他所有共识算法都是 Paxos 的退化版本。
Paxos分为Basic Paxos、Multi Paxos、和其它演进版本。
前提:Basic Paxos 只能对单个值形成决议。
Paxos 算法将分布式系统中的节点分为三类:
之前不想把博客里面的图片也一同上传,用了utools里面一个默认的免费图床,结果今天发现好像图床挂掉了。之前写的博客里面的图片全挂了。。。果断换了gitee做新的图床。

这不会再挂了吧。。。
2022-05-20 更新
真是没想到,gitee关闭了public库,这下图床又挂了…已经申请了公开库的申请…不知道会不会通过.
2022-05-23 更新
gitee回复了,图床类的库不给公开.gg了.
天天都在用的Mybatis,为啥调用一个Mapper接口就能执行SQL,你有没有想过这个问题?
这一切都得从 @MapperScan 这个注解开始说起。打开这个注解定义可以看到:

相信Chrome浏览器开发者工具中的Preview你不陌生,但是就这玩意有一个bug。
事情是这样的,前端跟我说你接口有bug,返回的数据不正确。听到bug,我反手就是一个你会不会用。
在Java8之前创建一个线程的写法(之一):
1 | public class LambdaTest { |