首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Java
订阅
杯中水
更多收藏集
微信扫码分享
微信
新浪微博
QQ
57篇文章 · 0订阅
分布式事务中的一致性和隔离性你真的懂了吗
在分布式(数据库)系统中,我们经常会听到一些“高大上”却又比较“迷惑”的词汇,比如,ACID和CAP中的"C"是否是同一含义、Snapshot Isolation(SI)和Serializable Snapshot Isolation(SSI)区别是什么、Serializabl…
一次 HashSet 所引起的并发问题
上午刚到公司,准备开始一天的摸鱼之旅时突然收到了一封监控中心的邮件。 心中暗道不好,因为监控系统从来不会告诉我应用完美无 bug,其实系统挺猥琐。 打开邮件一看,果然告知我有一个应用的线程池队列达到阈值触发了报警。 由于这个应用出问题非常影响用户体验;于是立马让运维保留现场 d…
强如 Disruptor 也发生内存溢出?
OutOfMemoryError 问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界、空指针等)来说这类问题是很难定位和解决的。 本文以最近碰到的一次线上内存溢出的定位、解决问题的方式展开;希望能对碰到类似问题的同学带来思路和帮助。 主要从表现-->排查-->定位-->解…
java并发编程系列:牛逼的AQS(下)
看完了AQS中的底层同步机制,我们来简单分析一下之前介绍过的ReentrantLock的实现原理。先回顾一下这个显式锁的典型使用方式: ReentrantLock首先是一个显式锁,它实现了Lock接口。可能你已经忘记了Lock接口长啥样了,我们再回顾一遍: 也就是当一个线程因为…
深入剖析Java重入锁ReentrantLock的实现原理
Pepper Metrics是我与同事开发的一个开源工具(https://github.com/zrbcool/pepper-metrics),其通过收集jedis/mybatis/httpservlet/dubbo/motan的运行性能统计,并暴露成prometheus等主流…
为什么阿里巴巴禁止在 foreach 循环里进行元素的 remove/add 操作
但是手册中并没有给出具体原因,本文就来深入分析一下该规定背后的思考。 Foreach循环(Foreach loop)是计算机编程语言中的一种控制流程语句,通常用来循环遍历数组或集合中的元素。 Java语言从JDK 1.5.0开始引入foreach循环。在遍历数组、集合方面,fo…
一次ThreadLocal源码解析之旅
本篇文章旨在将ThreadLocal的原理说清楚,讲明白。全文主要完成了以下四个部分的工作: local在主线程set的值,可以在主线程调用get方法得到,但在线程t内调用get方法,结果结果为null。 本文接下来以local调用的set方法为入口,探究产生这一结果的原因。 …
互联网面试必杀:如何保证消息中间件全链路数据100%不丢失(1)【石杉的架构笔记】
这篇文章,我们来聊聊在线上生产环境使用消息中间件技术的时候,从前到后的全链路到底如何保证数据不能丢失。 这个问题,在互联网公司面试的时候高频出现,而且也是非常现实的生产环境问题。 如果你的简历中写了自己熟悉MQ技术(RabbitMQ、RocketMQ、Kafka),而且在项目里…
对于Ping的过程,你真的了解吗?
对于ping命令,想必只要是程序员都知道吧?当我们检查网络情况的时候,最先使用的命令肯定是ping命令吧?一般我们用ping查看网络情况,主要是检查两个指标,第一个是看看是不是超时,第二个看看是不是延迟太高。如果超时那么肯定是网络有问题啦(禁ping情况除外),如果延迟太高,网…
使用多线程查询百万条用户数据将汉字转化成拼音
现在有一个需求:用户表里面有将近200万条数据,查询时需要按用户名字的汉语拼音按从a-z排序。有两种解决方案:1.查询时使用数据库自带的CONVERT()函数进行转化,按拼音首字母排序;2.新加一个拼音字段(spell_name),用户注册时,将用户名字的汉语拼音也一并插入数据…