认识锁升级
Java锁是为了防止进程多线程并发访问临界资源造成数据安全问题的
申请锁需要发起系统调用,向操作系统内核申请锁,是一个比较重的操作
Jvm对锁做了多次优化,避免上来就直接怼成重量锁。
于是乎就有锁升级,带着学习的目的一探究竟,而不是浮在表面。
锁升级的过...
3年前 (2021-11-17) 729浏览 0评论
5喜欢
JAVA对象布局
上图是堆中的Java对象的布局
Java对象由对象头和对象体组成,对了,最后面还会有个8字节按需对齐
对象头由Mark Word和Klass Pointer组成以及数组长度组成
数组长度只有对象是数组才会有值
Klass Pointer指向对象的Class信息...
3年前 (2021-11-15) 652浏览 0评论
2喜欢
技术债可能会导致一些灾难性问题,亲身体会。。。
在未来某一时间随时爆发
可预测性和可控性下降
系统稳定性、可用性下降
开发和支持成本增大
交付时间延长
缺陷数量增多
客户端满意度降低
转载请注明:汪明鑫的个人博客 » 远离技术债...
3年前 (2021-11-15) 700浏览 0评论
0喜欢
想到最狠的删除文件就是 rm -rf
然后可气的是这次居然没行通
实例上出现了一些乱码文件,其他几个都通过 rm -rf 清理干净了
就剩下最后一个怎么删也删不掉
后来用一手 find -inum xxx -delete 成功删除
注意:此方法只适用...
4年前 (2021-11-11) 742浏览 0评论
5喜欢
先贴上我精心制作的kafka架构图
然后开始用大白话去聊聊我眼里的Kafka
首先介绍的是kafka 外部依赖的 分布式协调服务Zookeeper,大家一般简称ZK
协调服务顾名思义做调解员的,那么kafka需要协调什么呢?
当然是协调broker成...
4年前 (2021-11-10) 823浏览 0评论
0喜欢
首先我们如何定义线上问题呢?
个人觉得线上问题分为几类
是直接对用户造成使用上的影响(功能性或体验性等)
对用户或者平台造成资金损失的
对系统本身造成影响的(如对软硬件的影响,内存泄漏等)
其次我们如何以正确的姿态应对线上问题?
遇到线上我们切记不应该直接沉入到...
4年前 (2021-09-04) 807浏览 0评论
12喜欢
1.线上变更前需要梳理checklist
包含了线上变更步骤、变更内容及变更影响,需按步骤执行
放量前需要梳理和明确需要看哪些监控和db数据,没有的监控和日志需要先加上
2.对于线上的配置变更,需要明确其影响范围
3.线上的配置变更一定是提前经历过staging验证...
4年前 (2021-09-04) 600浏览 0评论
0喜欢
系统A调用系统B如何保证分布式事务
业内的操作好多都靠同步调用 + 异步扫表补偿来做
大家都知道rpc的调用有三态,明确返回成功,明确返回失败,中间态
系统A 创建红包 init 状态
同步调用 B系统扣款,扣款明确返回成功
系统A 修改红包状态为...
4年前 (2021-08-31) 662浏览 0评论
0喜欢
最近出了2次故障,回过头来还是有多地方值得思考的,简单总结下避免以后再出类似的问题。
除了这2次产生资损的故障,之前还出过几次线上问题。
出现的几个问题中,蛋疼的是有2个都是重复出现过的问题。
有一个规律是欠的债迟早要还的,尤其是技术债。。。
之前出的某一个问题,如...
4年前 (2021-08-31) 716浏览 0评论
1喜欢
Elastic Job是依托于ZK的非中心化分片定时任务框架
本文我们简单了解下分布式调度的概念和理念,以及初步学习Elastic Job
可以先看下文
定时任务的4种实现方式
分布式任务调度概述
为什么需要分布式任务?
JDK、Spring 提供...
4年前 (2021-07-22) 821浏览 0评论
4喜欢