认识锁升级
Java锁是为了防止进程多线程并发访问临界资源造成数据安全问题的
申请锁需要发起系统调用,向操作系统内核申请锁,是一个比较重的操作
Jvm对锁做了多次优化,避免上来就直接怼成重量锁。
于是乎就有锁升级,带着学习的目的一探究竟,而不是浮在表面。
锁升级的过...
汪明鑫
2年前 (2021-11-17) 469浏览 0评论
5喜欢
JAVA对象布局
上图是堆中的Java对象的布局
Java对象由对象头和对象体组成,对了,最后面还会有个8字节按需对齐
对象头由Mark Word和Klass Pointer组成以及数组长度组成
数组长度只有对象是数组才会有值
Klass Pointer指向对象的Class信息...
汪明鑫
2年前 (2021-11-15) 414浏览 0评论
2喜欢
最近跟着组里的一个大佬看了些公司组件的一些源码,感觉还是很牛逼的,也有些收获,也想耐下心继续看下去!
去年看Netty看了点放弃了,看Spring看了点放弃了,擦。。。这次开始就不能再结束了=-=
恰巧最近团队又入职一个zk committer 大佬,询问了源码阅读...
汪明鑫
3年前 (2021-04-19) 925浏览 0评论
24喜欢
JDK中的线程池固然好,但是其不具有亲缘性,也就是当我们向其中顺序投递多个任务后,JDK默认的线程池实现不能保证具有相同属性的任务顺序执行,
而亲缘性的线程池可以保证,顺序执行具有相同属性的任务。
普通线程池执行多个任务无法保证顺序性,我们来看亲缘池是怎么做到的?
...
汪明鑫
3年前 (2021-04-19) 1389浏览 0评论
0喜欢
【2021年个人整体计划】
向上要提升对直播业务和架构的整体认知
熟悉直播长连接代码和架构
向下夯实Java技术,提升方案设计能力
阅读公司相关组件源码和了解业内开源技术
个人 OKR为期半年,制定半年的OKR, 半年review一次,review完成情况和不足,并...
汪明鑫
3年前 (2021-04-19) 23597浏览 1评论
4喜欢
简单介绍TBD
Trunk-Based-Deployment工作流
基于master分支开发,不引入其他功能分支
目前我们长期处于这种开发模式
基于master分支开发小步快走,爽的一批,不需要各种切分支合分支之类的多余操作,实践起来相当简单,git日志清晰明了。
但是也会需要一...
汪明鑫
3年前 (2020-12-08) 802浏览 0评论
5喜欢
Spring Boot项目引入maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>...
汪明鑫
4年前 (2020-09-02) 795浏览 0评论
0喜欢
为什么需要限流
限流顾名思义,就是限制突发大量流量,让系统以平稳安全的速度去处理请求流量
限流是保障服务的一种手段
好的限流策略既不会打垮服务,也能保证系统的吞吐量
通常来说,调用别人的核心接口需要考虑限流,自己设计的接口也要考虑限流
两大限流算法
【漏桶算法】
...
汪明鑫
4年前 (2020-07-28) 606浏览 0评论
2喜欢
lambda表达式
Lambda 允许把函数作为一个方法的参数
一切皆为函数,函数可以作为另一个函数的输入/输出,形成表达式链
使用 Lambda 表达式可以使代码变的更加简洁紧凑
推动 Java 8 发布的最重要新特性
【直观体验】
// 1. 不需...
汪明鑫
4年前 (2020-07-02) 58977浏览 0评论
1喜欢
Arthas 是阿里整的一套采用命令行的线上问题排查工具
详情可见 https://alibaba.github.io/arthas/install-detail.html
快速安装
[root@xinyeshuaiqi ~]# curl -O https://alibaba.g...
汪明鑫
4年前 (2020-06-10) 562浏览 0评论
0喜欢