
多线程
文章平均质量分 92
qq_51931708
这个作者很懒,什么都没留下…
展开
-
synchronized锁的升级与优化
前言在Java的早期版本下,synchronized属于重量级锁,因为线程的上下文切换需要从用户态转换到内核态,这个过程非常消耗CPU性能和耗费大量时间。在jdk1.6之后,Java官方对从JVM层面对synchronized较大优化,引入了偏向锁和轻量级锁,大大减少了synchronized的锁带来的性能消耗。在去了解 synchronized的锁的升级前,我们应该先去了解了对象的内存布局。对象的内存布局当我们 new 一个对象的时候,对象会被分配到运行时数据区的堆中,对象是由对象头,类型指针,原创 2022-05-09 21:49:36 · 301 阅读 · 0 评论 -
一步步教你Debug ReentrantLock源码
Debug Reentranlock源码原创 2022-05-08 00:31:55 · 155 阅读 · 0 评论 -
ThreadLocal全面解析
ThreadLocal全面解析ThreadLocal的作用一、基本使用1. 常用方法2.使用案例3. ThreadLocal与synchronized的区别二、ThreadLocal的内部结构1.内部设计2.ThreadLocal的核心方法源码2.1 set方法2.2 get方法2.3 remove方法3. ThreadLocalMap源码分析3.1 基本结构3.2 成员变量3.3 存储结构 - Entry4. 弱引用和内存泄漏4.1 弱引用相关概念4.2 内存泄漏相关概念4.3 如果key使用了强引用4.原创 2022-05-06 10:30:06 · 113 阅读 · 0 评论