自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Synchronized关键字详解

我们上文就看到Mark Word是由32位字节组成,当一个线程请求对象锁的时候,偏向锁就会得到这个线程的id,然后下次看如果还是这个线程就无需做任何同步操作,失败后就会申请轻量级锁。当另一个线程请求这个对象锁的时候,对比锁记录,已经被其他线程拿到了轻量级锁,这时候就会不断重试去获取这个锁,直到前一个线程释放了轻量级锁,然后我才能获取,这就是自旋锁。**2.**每个对象都关联一个自己的Monitor,当第一个线程进入锁之后,他就会指向Owner,这时候这个Monitor就监视着这个线程(Thread-2)

2024-03-21 21:52:05 978 1

原创 乐观锁和悲观锁

共享资源被访问的时候就锁柱了,其他线程不能对该共享资源操作像synchronized和ReentrantLock就是独占锁的悲观思想的实现高并发场景下就会产生激烈的锁竞争,影响性能。举个例子乐观锁就是共享资源被访问的时候不会被锁住,多少线程都可以,只有修改的时候回去查询该资源是否已经被修改实现方式有两种CAS和版本号。

2024-03-20 19:47:43 1004 1

原创 JMM(Java内存模型)与volatile详解

这样我觉得你才能充分理解volatile的作用和好处话不多说我们开始再讲JMM之前我觉得你得先了解计算机的CPU缓存,什么是CPU缓存?定义:CPU缓存是为了解决CPU处理速度和内存处理速度不对等的问题很抽象是吧,先上个图还是很抽象?我们先想想内存是有什么用,我们处理数据直接去硬盘读取数据是不是很慢,这时候我们就需要把数据读入内存,然后计算机处理是不是就更快了,所以说内存看作外存的高速缓存,而CPU缓存同理,我们CPU处理内存的数据,也需要读取到CPU缓存中以加快处理速度,CPU缓存可以看作内存的高速缓存,

2024-03-18 11:29:01 775

原创 Java反射机制详解

Java核心技术卷一中这么写到:反射库(reflection library)提供了一个丰富且精巧的工具集,可以用来编写动态操纵Java代码的程序。使用反射,Java可以支持用户界面生成器,对象关系映射器以及很多其他需要动态查询能力的开发工具。????????????????不懂”反“不懂,那我们从“正”开始一般情况下我们怎么用类的,首先实例化一个类对象,在对这个类对象进行操作//直接初始化,「正射」我们使用一个对象,再利用他的各个成分叫“正”

2024-03-14 21:25:51 744

原创 为什么MySQL的索引要用B+树?

索引快速查询数据的数据结构,本质可以看作是一种排序好的数据结构,相当于书目录无论是InnoDB还是MyISAM都使用了B+树作为索引结构。

2024-03-11 21:30:46 351

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除