自定义博客皮肤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)
  • 收藏
  • 关注

原创 Spring 事务——七大事务的传播机制

一、什么是事务的传播?简单的理解就是多个事务方法相互调用时,事务如何在这些方法间传播。举个栗子,方法A是一个事务的方法,方法A执行过程中调用了方法B,那么方法B有无事务以及方法B对事务的要求不同都会对方法A的事务具体执行造成影响,同时方法A的事务对方法B的事务执行也有影响,这种影响具体是什么就由两个方法所定义的事务传播类型所决定。二、Spring事务传播类型枚举Propagation介绍在Spring中对于事务的传播行为定义了七种类型分别是:REQUIRED、SUPPORTS、MANDATORY、R

2021-06-03 11:25:08 980

原创 死锁经典案例

死锁是这样一种情形:多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。java 死锁产生的四个必要条件:1、互斥使用,即当资源被一个线程使用(占有)时,别的线程不能使用2、不可抢占,资源请求者不能强制从资源占有者手中夺取资源,资源只能由资源占有者主动释放。3、请求和保持,即当资源请求者在请求其他的资源的同时保持对原有资源的占有。4、循环等待,即存在一个等待队列:P1占有P2的资源,P2占有P3的资源,P3占有P1的资源。这样就形成了一个

2021-05-28 18:04:37 2206 3

原创 方法锁、对象锁和类锁的意义和区别

首先的明白java中锁的机制synchronized   在修饰代码块的时候需要一个reference对象作为锁的对象.   在修饰方法的时候默认是当前对象作为锁的对象.   在修饰类时候默认是当前类的Class对象作为锁的对象.    线程同步的方法:sychronized、lock、reentrantLock分析#方法锁(synchronized修饰方法时)通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。synchronized 方法控制对类成员变量的

2021-05-28 16:49:00 575

原创 线程的虚假唤醒情况

线程的虚假唤醒情况​ 多线程并发操作一直都是学习和工作过程中的难点,一般而言,在多个线程共享资源时,我们通常会使用synchronized代码块的同步,并通过wait()、notify()和notifyAll()来唤醒或者等待线程(这三个方法必须使用在同步代码块或同步方法中,被同步监视器调用,否则会抛出异常)。还是通过经典的生产者和消费者案例引出虚假唤醒的问题public class SpuriousWakeupDemo { public static void main(String[] a

2021-05-28 16:38:35 75

原创 Java多线程-线程8锁

多线程的八个案例通过分析代码,推测打印结果,并运行代码进行验证。1)两个线程调用同一个对象的两个同步方法代码如下: 1 public class Demo { 2 public static void main(String[] args) { 3 Number number = new Number(); 4 5 new Thread(new Runnable() { 6 @Override 7

2021-05-28 16:07:03 147

空空如也

空空如也

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

TA关注的人

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