- 博客(4)
- 收藏
- 关注
原创 synchronized锁的升级与优化
前言 在Java的早期版本下,synchronized属于重量级锁,因为线程的上下文切换需要从用户态转换到内核态,这个过程非常消耗CPU性能和耗费大量时间。 在jdk1.6之后,Java官方对从JVM层面对synchronized较大优化,引入了偏向锁和轻量级锁,大大减少了synchronized的锁带来的性能消耗。 在去了解 synchronized的锁的升级前,我们应该先去了解了对象的内存布局。 对象的内存布局 当我们 new 一个对象的时候,对象会被分配到运行时数据区的堆中,对象是由对象头,类型指针,
2022-05-09 21:49:36
292
原创 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
97
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人