自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 锁升级过程

synchronized 作用在方法上,锁对象是当前实例 synchronized 作用在静态方法上,锁对象是当前类对象 synchronized 作用在代码快上,锁对象需要提供锁的对象 java6 版本以后对 synchronized 做了优化,引入多种锁状态: ...

2022-05-07 17:58:46 411

原创 ThreadLocal

threadLocal 为线程私有,使用方式 HashMap hashMap = new HashMap(); hashMap.put("threadName",Thread.currentThread().getName()); ThreadLocal local = new ThreadLocal(); local.set(hashMap); System.out.println(((HashMap)loc

2022-04-21 14:15:41 141

原创 Spring Boot 自动装配

服务启动类 打上 @SpingBootApplication 注解,在此注解中引入了@EnableAutoConfiguration @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @AutoConfigurationPackage @Import(AutoConfigurationImportSelector.class) public @interface EnableAutoC.

2022-04-08 14:53:11 307

原创 synchronized

synchronized 使用场景 synchronized 作用在方法上,锁对象是当前实例 synchronized 作用在静态方法上,锁对象是当前类对象 synchronized 作用在代码快上,锁对象需要提供锁的对象 java6 以后 对synchronized 进行了优化,引入多种锁状态,无锁、偏向锁、轻量级锁、重量级锁 锁可升级,不可降级(除偏向锁退回到 无锁状态) thread1 获取对象的monitor后就进入对象running 状态,此时没有其他 thread 竞争情

2022-04-08 09:46:34 332

原创 【无标题】

锁的实现--独占锁 看到这里,终于明白了 synchronized 是一个可重入锁。但是面试官要再问你,可重入锁的原理是什么? 重入锁实现可重入性原理或机制是:每一个锁关联一个线程持有者和计数器,当计数器为 0 时表示该锁没有被任何线程持有,那么任何线程都可能获得该锁而调用相应的方法;当某一线程请求成功后,JVM会记下锁的持有线程,并且将计数器置为 1;此时其它线程请求该锁,则必须等待;而该持有锁的线程如果再次请求这个锁,就可以再次拿到这个锁,同时计数器会递增;当线程退出同步代码块时,计数器会递..

2022-04-02 14:30:01 121

原创 并发场景 使用Unsafe 的CAS 创建对象、数组

获取Unsafe 实例 public static Unsafe getUnsafe() throws IllegalAccessException, NoSuchFieldException { Field unsafeField = Unsafe.class.getDeclaredField("theUnsafe"); //Field unsafeField = Unsafe.class.getDeclaredFields()[0];

2022-04-02 13:28:07 261

原创 Unsafe 中 park、unpatk的使用

java.util.concurrent.locks 包 中LockSupport.java 中线程挂起也采用Unsafe.park() 将线程挂起 public static void park(Object blocker) { Thread t = Thread.currentThread(); setBlocker(t, blocker); UNSAFE.park(false, 0L); setBlocker(t, nu..

2022-04-02 11:25:43 778

空空如也

空空如也

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

TA关注的人

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