自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 synchronized 和 Lock区别 以及ReentrantLock 中不同方式获取锁的区别

synchronized 和 Lock区别,用Lock的好处 原始构成 synchronized 是关键字 属于JVM层面,通过javap命令 能看到底层使用 monitorenter 和 monitorexit 控制 lock 是juc包中的类,是api层面的锁 使用方法 synchronized 不需要用户手动释放锁,当sync代码执行完成后系统会自动让线程释放对锁的占用 ReentrantLock 需要手动释放锁,如果没有手动释放 会造成死锁现象,需要 lock() 和 unlock() 配

2022-03-15 21:28:29 370 1

原创 JVM学习笔记

JVM简介位置整体结构Java代码执行流程栈指令集架构和寄存器指令集架构生命周期常见的JVM 位置 整体结构 Hotspot是目前主流的JVM之一,在本系列中以Hotspot为基准进行学习。整体结构如下图所示,主要分为三层,上层为类加载器子系统、中层为运行时数据区、下次为执行引擎。 类加载器子系统(Class loader) 将字节码文件加载到内存(方法区)中,生成Class对象。 运行时数据区(Runtime Data Area) 方法区和栈是线程共享的,虚拟机栈、本地方法栈和程序计数器是线程独享的。

2020-06-16 14:56:53 121

空空如也

空空如也

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

TA关注的人

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