首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Mr羽墨青衫
掘友等级
Coder
|
阿里巴巴集团
获得徽章 4
动态
文章
专栏
沸点
收藏集
关注
作品
赞
53
文章 45
沸点 8
赞
53
返回
|
搜索文章
最新
热门
深入剖析Java重入锁ReentrantLock的实现原理
Pepper Metrics是我与同事开发的一个开源工具(https://github.com/zrbcool/pepper-metrics),其通过收集jedis/mybatis/httpservlet/dubbo/motan的运行性能统计,并暴露成prometheus等主流…
Java队列同步器(AQS)到底是怎么一回事
队列同步器AbstractQueuedSynchronizer(后面简称AQS)是实现锁和有关同步器的一个基础框架。 在JDK5中,Doug Lea在并发包中加入了大量的同步工具,例如重入锁(ReentrantLock)、读写锁(ReentrantReadWriteLock)、…
解读Java8中ConcurrentHashMap是如何保证线程安全的
HashMap是工作中使用频度非常高的一个K-V存储容器。在多线程环境下,使用HashMap是不安全的,可能产生各种非期望的结果。 针对HashMap在多线程环境下不安全这个问题,HashMap的作者认为这并不是bug,而是应该使用线程安全的HashMap。 其中,前两种方式由…
Unsafe类的介绍和使用
近期在看JDK8的ConcurrentHashMap源码时,发现里面大量用到了Unsafe类的API,这里来深入研究一下。 Java是一个安全的面向对象的编程语言。这里的安全指的是什么呢?不妨从什么是不安全的角度来看看。 其他的不安全的情况这里不再一一列举。在Java中,很好的…
详细解读阿里手册之MySQL
阿里手册是阿里工程师多年一线经验的结晶,遵循其中的约定与规范,能很大程度的减少某些未知的隐患。 其规约强度由强到弱分为强制、推荐、参考三大类。 本文详细解读了阿里手册的MySQL部分,如果是一些很明确的、不需要过多解释的约定,本文不会解读。 说明:任何字段如果为非负数,必须是 …
Redis-探究-集群扩容导致的Jedis客户端报JedisMovedDataException异常
由于线上Redis集群内存使用量已经接近达到预警阈值,需要对Redis集群扩容。(使用的是Redis自带的Redis-Cluster) 目前有6台主节点,6台从节点。 需要增加3主3从。 之前Redis集群的16384个槽均匀分配在6台主节点中,每个节点2730个槽。 分配完之…
Redis-bgsave导致的接口响应延迟波动(深入分析Linux的fork()机制)
近期线上有个接口响应延迟P99波动较大,后对其进行了优化。响应延迟折线图如下: 在12月11号11点左右优化完成后,P99趋于平稳,平均在70ms左右。 下面来说一下优化过程。 这个接口一共会经过三个服务,最终返回给客户端。执行流程如下: 按照箭头所示流程,先访问服务1,服务1…
深入解读HashMap线程安全性问题
HashMap是线程不安全的,在多线程环境下对某个对象中HashMap类型的实例变量进行操作时,可能会产生各种不符合预期的问题。 本文详细说明一下HashMap存在的几个线程安全问题。 此时t1和t2同时执行put,假设t1执行put(“key2”, “value2”),t2执…
深入剖析Java即时编译器(下)
本文会介绍分层编译的机制,然后介绍即时编译器对应用启动性能的影响。 本文内容基于HotSpot虚拟机,设计Java版本的地方会在文中说明。 在引入分层编译之前,我们需要手动的选择编译器。对于启动性能有要求的短时运行程序,我们会选择C1编译器,对应参数-client,对于长时间运…
深入剖析Java即时编译器(上)
本文会先介绍Java的执行过程,进而引出对即时编译器的探讨,下篇会介绍分层编译的机制,最后介绍即时编译器对应用启动性能的影响。 本文内容基于HotSpot虚拟机,设计Java版本的地方会在文中说明。 在我们刚学习Java时,大概会认为Java是编译执行的。其实,Java既有解释…
下一页
个人成就
文章被点赞
466
文章被阅读
122,795
掘力值
2,801
关注了
32
关注者
240
收藏集
3
关注标签
56
加入于
2018-08-08