![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 53
国林哥
电子科技大学EMBA,西南大学通信工程本科,供职于初灵信息(创业板上市公司),曾在IBM、中软国际任职,资深敏捷教练,PMP,信息系统项目管理师,华为HCIP,曾负责华为100+人研发团队,中软国际明星PM。
展开
-
悲观锁|乐观锁|互斥锁|共享锁|分段锁|间隙锁都是什么概念?
悲观锁:在锁占用期间阻塞其他线程进入代码块,应用于写多读少的场景; 乐观锁:不会阻塞其他线程进入代码块,在更新时会比较版本,应用于读多写少的场景; 互斥锁:在占用期间,其他线程会加锁失败,属于悲观锁; 共享锁:是多个事务能够同时持有一把锁,只有持有该锁的所有事务结束锁才会释放,应用场景比如说数据库连接池; 分段锁:是将一个大的资源拆分成多个小的资源,小资源各自加锁用来提高效率,比如concurrentHashMap的实现; 间隙锁:是数据库中范围检索时,对符合条件的数据进行加行锁,对于符合条件但不原创 2021-11-30 00:21:04 · 823 阅读 · 0 评论 -
跟着马老师学 | 从硬件底层到虚拟机,透彻理解线程与锁
以下代码拿这个对象(T00_00_IPlusPlus.class)当成一把锁。再Java里任何对象都可以当成锁来用。 一个对象包含一个对象脑袋Object header,包括markword(8个字节)和类型指针(属于哪个class,共4个字节),一共12个字节。 实例数据10个字节,对齐padding用来补齐4个字节,使整体可被8整除(8+4+4=16字节) 锁+GC+hashcode。 在Java里锁定对象,其实是在object header上加个记录。 锁释放后,object原创 2021-11-29 22:05:37 · 425 阅读 · 3 评论 -
跟着马老师学 | 线程与锁机制
进程和线程的区别:进程是操作系统资源分配的基本单位,而线程是任务调度和执行的基本单位。 进程和线程的主要差别在于它们是不同的操作系统资源管理方式。进程有独立的地址空间,一个进程崩溃后,在保护模式下不会对其它进程产生影响,而线程只是一个进程中的不同执行路径。线程有自己的堆栈和局部变量,但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但在进程切换时,耗费资源较大,效率要差一些。 线程切换: 由于同一个时间只能运行一个线程,,线程之间可能来回切换 多线..原创 2021-11-29 00:27:33 · 148 阅读 · 0 评论